一种数据传输方法及其相关设备与流程

文档序号:14197207阅读:154来源:国知局
一种数据传输方法及其相关设备与流程

本申请要求于2016年10月11日提交中国专利局、申请号为201610890961.3、发明名称为“一种保护隐私的通信方法”的中国专利申请的优先权,和要求于2017年04月05日提交中国专利局、申请号为201710218342.4、发明名称为“一种保护隐私的通信方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

本申请涉及通信领域,尤其涉及一种数据传输方法及其相关设备。



背景技术:

无线保真(wirelessfidelity,wifi)是一种基于竞争的无线通信方式。因此wifi设备发送数据时容易发生冲突,进而容易造成信道资源的浪费。现有技术采用如下方式来解决这一问题。发送端设备向接收端设备发送数据前,可以先向接收端设备发送请求发送(requesttosend,rts)帧,其中rts帧携带接收地址(接收端设备的媒体访问控制(mediaaccesscontrol,mac)地址)和发送地址(上述发送端设备的mac地址)。若接收端设备已经与至少一个发送端设备建立了连接关系,则接收端设备根据该rts帧中的接收地址确定是否接收该rts帧。接收端设备接收到rts帧之后,可以向发送端设备发送清除发送(cleartosend,cts)帧。当rts帧和cts帧交互成功后,发送端设备可以通过rts帧和cts帧所占用的信道发送数据帧或者管理帧等长帧,以保证长帧能够成功发送。由于rts帧和cts帧的长度较短,因此即使发生冲突,造成信道资源的浪费也比较小。

现有技术中,探测设备可以根据上述的rts帧和cts帧交互过程,较为容易地截获到已经与接收端设备建立连接关系的发送端设备发送的rts帧。这时探测设备可以重放该rts帧。以使接收端设备接收到该rts帧之后,确定该rts帧是与自己建立连接关系的发送端设备发送的。基于此,接收端设备会回复cts帧。一旦探测设备侦听到接收端设备发送的cts帧,探测设备就可以确定持有该接收端设备的用户就在附近,从而泄露了用户的位置隐私。



技术实现要素:

本申请实施例提供了一种数据传输方法及其相关设备,用于保护用户的位置隐私。

本申请实施例的第一方面提供了一种数据传输方法,具体包括:接收端设备接收发送端设备发送的有保护的发送请求p-rts(protected-requesttosend,p-rts)帧,所述p-rts帧包括:第一消息完整性码(messageintegritycode,mic);所述接收端设备根据所述第一mic判断所述发送端设备的合法性;如果所述接收端设备确定所述发送端设备合法,则向所述发送端设备发送cts帧。本申请实施例中,接收端设备不主动发消息,接收到来自发送端设备的p-rts帧,判断发送端设备合法之后,才给发送端设备回复cis帧,p-rts/cts成功交互后再传送数据,防止被探测设备(不合法的发送端设备)探测出接收端设备在附近,保护了用户位置隐私。

在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述p-rts帧还包括:第一变化值,所述接收端设备根据所述第一mic判断所述发送端设备的合法性包括:所述接收端设备根据所述第一变化值判断所述p-rts帧是否新鲜;所述接收端设备判断所述第一mic是否正确;若所述p-rts帧新鲜且所述第一mic正确,则所述接收端设备确定所述发送端设备合法;若所述p-rts帧不新鲜和/或所述第一mic不正确,则所述接收端设备确定所述发送端设备不合法。本实施例说明了如何判断发送设备的合法性,增加了本申请实施例的可实现性和完整性。

在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述接收端设备根据所述第一变化值判断所述p-rts帧是否新鲜包括:所述接收端设备获取所述p-rts帧携带的发送端设备标识;如果所述接收端设备根据所述第一变化值与第二变化值确定所述第一变化值满足预设变化规律,则确定所述p-rts帧新鲜,所述第二变化值为所述接收端设备记录的与所述发送端设备标识相对应的发送端设备上一次发送的变化值;如果所述接收端设备根据所述第一变化值与所述第二变化值确定所述第一变化值不满足预设变化规律,则确定所述p-rts帧不新鲜。本实施例细化了接收端设备如何根据第一变化值判断所述p-rts帧是否新鲜,使得步骤更加完善,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,所述接收端设备判断所述第一mic是否正确包括:所述接收端设备通过会话密钥,根据所述p-rts帧中的字段确定第二mic,所述会话密钥与所述发送端设备标识相对应;如果所述第一mic所述第二mic相同,则所述接收端设备确定所述第一mic正确;如果所述第一mic与所述第二mic不相同,则所述接收端设备确定所述第一mic不正确。本实施例细化了接收端设备如何判断第一mic是否正确,使得步骤更加完善,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述接收端设备根据所述第一mic判断所述发送端设备的合法性之前,所述方法还包括:所述接收端设备接收所述发送端设备发送的第一变化值;其中,所述接收端设备根据所述第一mic判断所述发送端设备的合法性包括:所述接收端设备通过会话密钥,根据所述p-rts帧中的字段及所述第一变化值确定第二mic,所述会话密钥与所述发送端设备标识相对应;若所述第一mic与所述第二mic相同,则所述接收端设备确定所述发送端设备合法;若所述第一mic与所述第二mic不相同,则所述接收端设备确定所述发送端设备不合法。本实施例中介绍了接收端设备根据所述第一mic判断所述发送端设备的合法性的又一种情况,丰富了本申请实施例。

在一种可能的设计中,在本申请实施例第一方面的第五种实现方式中,所述接收端设备接收发送端设备发送的p-rts帧之前,所述方法还包括:所述接收端设备接收所述发送端设备发送的唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。本实施例说明了在接收端设备接收发送端设备发送的p-rts帧之前,接收端设备还会接收发送端设备发送的唤醒帧,使得步骤更加完善,增加了本申请实施例的可操作性。

本申请实施例的第二方面提供了一种数据传输方法,具体包括:发送端设备向接收端设备发送有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic,所述第一mic用于判断所述发送端设备的合法性;若所述发送端设备合法,则所述发送端设备接收所述接收端设备发送的清除发送cts帧。本申请实施例中,接收端设备不主动发消息,接收到来自发送端设备的p-rts帧,判断发送端设备合法之后,才给发送端设备回复cis帧,p-rts/cts成功交互后再传送数据,防止被探测设备(不合法的发送端设备)探测出接收端设备在附近,保护了用户位置隐私。

在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,

所述p-rts帧还包括:第一变化值,所述第一变化值用于判断所述帧是否新鲜。本实施例说明了p-rts帧还包括第一变化值,并说明了第一变化值的作用,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述方法还包括:所述发送端设备向所述接收端设备发送第一变化值,以使所述接收端设备通过会话密钥,根据所述第一变化值和所述p-rts帧中的字段确定第二消mic,所述会话密钥与所述发送端设备的标识对应。本实施例说明了发送端设备会向所述接收端设备发送第一变化值,增加了本申请的具体实现方式。

在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,所述发送端设备向接收端设备发送p-rts帧之前,所述方法还包括:所述发送端设备向所述接收端设备发送唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。本实施例追加了发送端设备向所述接收端设备发送唤醒帧的步骤,接收端设备在无消息传输的情况下,使得步骤更加完善,增加了本申请实施例的可操作性。

本申请实施例的第三方面提供了一种接收端设备,具体包括:

第一接收单元,用于接收发送端设备发送的有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic;

判断单元,用于根据所述第一mic判断所述发送端设备的合法性;

第一发送单元,用于当确定所述发送端设备合法时,则向所述发送端设备发送清除发送cts帧。

本申请实施例中,接收端设备不主动发消息,接收到来自发送端设备的p-rts帧,判断发送端设备合法之后,才给发送端设备回复cis帧,p-rts/cts成功交互后再传送数据,防止被探测设备(不合法的发送端设备)探测出接收端设备在附近,保护了用户位置隐私。

在一种可能的设计中,在本申请实施例第三方面的第一种实现方式中,

所述p-rts帧还包括:第一变化值,所述判断单元包括:

第一判断子单元,用于根据所述第一变化值判断所述p-rts帧是否新鲜;

第二判断子单元,用于判断所述第一mic是否正确;

第一确定子单元,用于当所述p-rts帧新鲜且所述第一mic正确时,确定所述发送端设备合法;

第二确定子单元,用于当所述p-rts帧不新鲜和/或所述第一mic不正确时,确定所述发送端设备不合法。

本实施例说明了如何判断发送设备的合法性,增加了本申请实施例的可实现性和完整性。

在一种可能的设计中,在本申请实施例第三方面的第二种实现方式中,所述第一判断子单元包括:

获取模块,用于获取所述p-rts帧携带的发送端设备标识;

第一确定模块,用于当根据所述第一变化值与第二变化值确定所述第一变化值满足预设变化规律时,确定所述p-rts帧新鲜,所述第二变化值为所述接收端设备记录的与所述发送端设备标识相对应的发送端设备上一次发送的变化值;

第二确定模块,用于当根据所述第一变化值与所述第二变化值确定所述第一变化值不满足预设变化规律时,确定所述p-rts帧不新鲜。

本实施例细化了接收端设备如何根据第一变化值判断所述p-rts帧是否新鲜,使得步骤更加完善,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第三方面的第三种实现方式中,所述第二判断子单元包括:

第三确定模块,用于通过会话密钥,根据所述p-rts帧中的字段确定第二mic,所述会话密钥与所述发送端设备标识相对应;

第四确定模块,用于当所述第一mic所述第二mic时,确定所述第一mic正确;

第五确定模块,用于当所述第一mic与所述第二mic不相同时,确定所述第一mic不正确。

本实施例细化了接收端设备如何根据所述第一mic判断所述发送端设备的合法性,使得步骤更加完善,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第三方面的第四种实现方式中,所述接收端设备还包括:

第二接收单元,用于接收所述发送端设备发送的第一变化值;

所述判断单元包括:

第三确定子单元,用于通过会话密钥,根据所述p-rts帧中的字段及所述第一变化值确定第二mic,所述会话密钥与所述发送端设备标识相对应;

第四确定子单元,用于当所述第一mic与所述第二mic相同时,确定所述发送端设备合法;

第五确定子单元,用于当所述第一mic与所述第二mic不相同时,确定所述发送端设备不合法。

本实施例中介绍了接收端设备根据所述第一mic判断所述发送端设备的合法性的又一种情况,丰富了本申请实施例。

在一种可能的设计中,在本申请实施例第三方面的第五种实现方式中,所述接收端设备还包括:

第三接收单元,用于接收所述发送端设备发送的唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;

其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。

本实施例说明了在接收端设备接收发送端设备发送的p-rts帧之前,接收端设备还会接收发送端设备发送的唤醒帧,使得步骤更加完善,增加了本申请实施例的可操作性。

本申请实施例的第四方面提供了一种发送端设备,其特征在于,包括:

第一发送单元,用于向接收端设备发送有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic,所述第一mic用于判断所述发送端设备的合法性;

第一接收单元,用于当所述发送端设备合法时,接收所述接收端设备发送的清除发送cts帧。

本申请实施例中,接收端设备不主动发消息,接收到来自发送端设备的p-rts帧,判断发送端设备合法之后,才给发送端设备回复cis帧,p-rts/cts成功交互后再传送数据,防止被探测设备(不合法的发送端设备)探测出接收端设备在附近,保护了用户位置隐私。

在一种可能的设计中,在本申请实施例第四方面的第一种实现方式中,

所述p-rts帧还包括:第一变化值,所述第一变化值用于判断所述帧是否新鲜。

本实施例说明了p-rts帧还包括第一变化值,并说明了第一变化值的作用,增加了本申请实施例的可操作性。

在一种可能的设计中,在本申请实施例第四方面的第二种实现方式中,所述发送端设备还包括:

第二发送单元,用于向所述接收端设备发送第一变化值,以使所述接收端设备通过会话密钥,根据所述第一变化值和所述p-rts帧中的字段确定第二消mic,所述会话密钥与所述发送端设备的标识对应。

本实施例说明了发送端设备会向所述接收端设备发送第一变化值,增加了本申请的具体实现方式。

在一种可能的设计中,在本申请实施例第四方面的第三种实现方式中,所述发送端设备还包括:

第三发送单元,用于向所述接收端设备发送唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;

其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。

本实施例追加了发送端设备向所述接收端设备发送唤醒帧的步骤,接收端设备在无消息传输的情况下,使得步骤更加完善,增加了本申请实施例的可操作性。

本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

附图说明

图1为本申请实施例中数据传输方法的应用场景图示意图;

图2为本申请实施例中数据传输方法的交互流程图;

图3为本申请实施例中p-rts帧的示意图;

图4为本申请实施例中数据传输方法的另一个交互流程图;

图5为本申请实施例中数据传输方法的另一个交互流程图;

图6为本申请实施例中接收端设备的一个实施例示意图;

图7本本申请实施例中接收端设备的另一个实施例示意图;

图8为本申请实施例中发送端设备的一个实施例示意图;

图9本本申请实施例中发送端设备的另一个实施例示意图;

图10本本申请实施例中接收端设备的另一个实施例示意图;

图11本本申请实施例中发送端设备的另一个实施例示意图。

具体实施方式

本申请实施例提供了一种数据传输方法及其相关设备,用于保护用户的位置隐私。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在现有技术中,一个wifi设备即使不主动发送消息,由于在收到一个消息后,未确认消息发送者的身份就作出应答,会被攻击者所利用,使其被动泄漏用户位置隐私。

有鉴于此,本申请实施例提供了一种数据传输方法及其相关设备,用于保护用户的位置隐私。wifi设备在接收数据时,首先要收到一个正确的p-rts(protected-requesttosend,p-rts),然后作出cts响应,之后再接收对方的数据。这意味着由通信对端发起的一次传输期一定由p-rts消息开始。该p-rts是有完整性保护的控制帧,因为很短,使接收端能在规定的帧间隔时间内完成帧完整性认证后及时发出cts帧,这样,p-rts/cts消息对在实现与rts/cts一样的传输保护的同时,避免了接收端盲目作出响应而暴露自己的存在从而泄漏用户位置隐私。其中,p-rts是在rts基础上增加了消息完整性保护信息,消息增加几个字节,增加不多。

如图1所示,图1为本申请一实施例提供的数据传输方法的应用场景图,在该图中,发送端设备与接收端设备可以采用wifi技术实现数据传输。

请参阅图2,图2为本申请一实施例提供的数据传输方法的交互流程图。其中该方法涉及的发送端设备可以是手机、平板电脑、智能手环、智能手表等智能终端。同样,发送端设备也可以是手机、平板电脑、智能手环、智能手表等智能终端。如图2所示,该方法包括如下步骤:

201、接收端设备接收发送端设备发送的p-rts帧。

本实施例中,接收端设备会接收发送端设备发送的p-rts帧,其中,p-rts帧包括第一mic。如图3所示,为图3为本申请一实施例提供的p-rts帧的示意图,该p-rts帧包括:第一mic;第一mic通常取8字节长度以保证足够的安全性。如果不需要过高的安全强度,第一mic字段取4字节等其它长度也可以。正常情况下,发送端设备每次向接收端设备发送的第一mic不同。如图3所示,该p-rts帧还包括:接收地址(receiveaddress,ra)、发送地址(transmitaddress,ta)、第一占用信道时间dur1、帧校验序列(framechecksequence,fcs);其中ra是接收端设备的地址,ta是发送端设备的地址,dur1指示发送端设备完成与接收端设备的通信需占用信道的时间。侦听到所述p-rts帧的第三设备在dur1指示的时间内不能占用信道。所述fcs是对p-rts帧中除fcs以外的内容使用校验算法生成的。该校验算法可以是现有技术采用的校验算法,本申请在此不再赘述。如图3所示,mac帧头中的帧控制字段还包括许多子字段。例如帧类型字段。在ieee802.11中帧类型可以是数据帧、管理帧、控制帧等。本申请提供的实施例中所说的数据帧或数据消息也包含ieee802.11中的管理帧。rts帧和p-rts帧都是控制帧。帧控制字段还包括:子类型字段,该字段表明这是哪种消息,例如指示这是rts帧还是cts帧等。本申请需要在子类型字段指示这是一个p-rts帧。其中如图3所示,每个字段上方的数字表示该字段所占用的比特数。

202、接收端设备根据第一mic判断发送端设备的合法性。

本实施例中,当接收端设备接收到发送端设备发送的p-rts帧之后,接收端设备根据p-rts帧中的第一mic判断所述发送端设备的合法性。

需要说明的是,接收端设备根据第一mic判断发送端设备的合法性的方式有以下几种可选方式。

可选方式一,正常情况下,接收端设备每次接收到的mic应该不同。基于此,接收端设备接收到第一mic后,判断第一mic和之前接收到的mic是否相同。如果相同,表示p-rts帧应该是重放帧。如果不同,为了防止p-rts帧可能被篡改,接收端设备首先识别发送端设备的标识,接收端设备根据该标识确定会话密钥。该会话密钥应该是该标识对应的发送端设备与该接收端设备之间的会话密钥。接收端设备通过该会话密钥以及接收到的p-rts的消息摘要加密确定第二mic。可选地,可以采用哈希算法确定第二mic。如图3所示,生成该消息摘要的原始内容包括:p-rts帧中除了帧校验和mic之外的所有字段。当第二mic与第一mic相同时,表示p-rts帧没有被篡改,即发送该p-rts帧的发送端设备为合法设备。否则,则表示p-rts帧已经被篡改,即发送该p-rts帧的发送端设备为非法设备。

其中,正常情况下,接收端设备每次接收到的第一mic应该不同的原因是:发送端设备向接收端设备发送的p-rts帧中会携带一个第一变化值。由于发送端设备向接收端设备每次发送的p-rts帧携带的第一变化值不同,导致接收端设备每次接收到的第一mic应该不同。或者,发送端设备向接收端设备发送p-rts帧之前,向接收端设备发送第一变化值,而每次发送的第一变化值不同,导致接收端设备每次接收到第一mic应该不同。

本申请对如何使得接收端设备每次接收到的第一mic不同的方法不做限制。

可选方式二,p-rts帧还包括:第一变化值;接收端设备根据第一变化值判断p-rts帧是否新鲜;接收端设备判断第一mic是否正确;若p-rts帧新鲜且第一mic正确,则接收端设备确定发送端设备合法;否则,则接收端设备确定发送端设备不合法。

其中,接收端设备根据第一变化值判断p-rts帧是否新鲜,包括:接收端设备获取p-rts帧携带的发送端设备的标识;接收端设备确定发送端设备的标识对应的发送端设备之前发送的第二变化值;若接收端设备根据第一变化值与第二变化值确定第一变化值满足预设变化规律,则确定所述p-rts帧新鲜;否则,则确定p-rts帧不新鲜。

该预设变化规律可以是单调递增变化或者单调递减变化,或者是其他变化规律。本申请对此不做限制。例如:假设规定每次发送的第一变化值是对前一次发送的第二变化值加1,当接收端设备上次成功收到的p-rts帧中的第二变化值是99时,本次发送的第一变化值应该是100。或者,考虑到接收端设备可能错过某个p-rts帧,或者接收失败,允许成功收到的p-rts帧中的第一变化值可以是稍微大于100的其它值,例如101,或102等。这种情况下,接收端设备也认为该第一变化值满足预设变化规律。如果收到的p-rts帧中的第一变化值是97或80等,因为其小于之前收到的p-rts帧中的变化值100,则认为该第一变化值不满足预设变化规律。即接收端设备接收到的p-rts帧不新鲜。接收端设备进而确定发送端设备不合法,即该发送端设备为探测设备。

若接收端设备确定接收到的p-rts帧是新鲜的,则接收端设备通过与发送端设备的标识对应的发送端设备的会话密钥,根据p-rts帧中的字段确定第二mic;若第一mic与第二mic相同,则接收端设备确定发送端设备合法;否则,则接收端设备确定发送端设备不合法。

具体地,接收端设备识别发送端设备的标识,接收端设备根据该标识确定会话密钥。该会话密钥应该是该标识对应的发送端设备与该接收端设备之间的会话密钥。接收端设备通过该会话密钥以及接收到的p-rts的消息摘要加密确定第二mic。可选地,可以采用哈希算法确定第二mic。当然也可以采用现有技术提供的任何加密算法。本申请对此不做限制。如图3所示,生成该消息摘要的原始内容包括:p-rts帧中除了帧校验和mic之外的所有字段。当第二mic与第一mic相同时,表示p-rts帧没有被篡改,即发送该p-rts帧的发送端设备为合法设备。否则,则表示p-rts帧已经被篡改,即发送该p-rts帧的发送端设备为非法设备。

可选方式三:在步骤202之前,本实施例还包括:接收端设备接收发送端设备发送的第一变化值;则步骤202包括:接收端设备通过与发送端设备的标识对应的发送端设备的会话密钥,根据第一变化值和p-rts帧中的字段确定第二mic;若第一mic与第二mic相同,则接收端设备确定发送端设备合法,否则,接收端设备确定发送端设备不合法。

其中,接收端设备根据第一变化值和p-rts帧中的字段确定第二mic与方式二采用的方法相同,在此不再赘述。

进一步地,本申请对第一变化值的长度不限定,通常第一变化值的长度越长,则越能防止探测设备的攻击。

203、若接收端设备确定发送端设备合法,则向发送端设备发送cts帧。

本实施例中,如果接收端设备根据发送端设备发送的第一mic判断发送端设备的合法时,则向发送端设备发送cts帧。相反,若接收端设备确定发送端设备不合法,则不向发送端设备发送cts帧。从而防止持有接收端设备的用户的位置隐私被泄露。

可选地,cts帧携带所述发送端设备的mac地址和接收端设备完成与发送端设备的通信所需占用信道的时间dur2,该dur2为dur1减去cts帧的传输时间和一个短帧间间隔(shortinterframespace,sifs)。

可选地,发送端设备在发送完p-rts帧之后,在预定sifs内,通过所述无线通信接口收到所述接收端设备向所述发送端设备发送的cts帧,则在接收完cts帧后间隔预定sifs内,通过无线通信接口向接收端设备发送业务数据。其中该业务数据也包括mic,以防止探测设备攻击该数据。

可选地,接收端设备接收到来自发送端设备的业务数据之后,进行帧校验。当帧校验成功之后,接收端设备向发送端设备发送确认(acknowledge,ack)消息。接着接收端设备认证业务数据中携带的mic,如果认证成功就存储该业务数据。如果认证失败,就丢弃该业务数据。具体来说,接收端设备的wifi模块在收到业务数据后,帧校验成功即回ack,然后对业务数据做认证,若认证成功,则将业务数据放入存储器。由中央处理器(centralprocessingunit,cpu)对业务数据作进一步处理,否则不将业务数据放入存储器,即丢弃该业务数据。

其中,sifs是ieee802.11标准中定义的相邻两个帧之间的间隔时间。当一个wifi设备发送完一个消息后,等待接收对端的响应时,需要做发送到接收的转换,以及接收消息在物理层和mac层都需要一定处理时间,因此相邻两个帧之间必须间隔一定时间。sifs有具体定义的值,例如16微秒,但因为消息在空中传播需要一定时间,因此一个wifi设备从完成发送到收到对方的响应。其间的实际时间不是固定的,但必须在一定的范围内,例如标准的sifs如果是16微秒,则允许的波动范围可能是15.1微秒到16.9微秒之间,我们把这个时间范围都说成是一个帧间隔时间。发送端设备在发送完所述发送请求消息后,在预定sifs内,通过无线通信接口接收到接收端设备向所述发送端设备发送的清除发送消息,其意思就是,假设标准的帧间隔时间是16微秒,发送端设备在发送完所述发送请求消息后,在15.1微秒之后、16.9微秒之前接收到接收端设备发送的清除发送消息。而接收完清除发送消息后,间隔预定sifs通过无线通信接口向接收端设备发送数据,其意思是,发送端设备接收到清除发送消息之后,在15.1微秒之后、16.9微秒之前发出数据。

本申请提供一种数据传输方法,包括:接收端设备接收发送端设备发送的p-rts帧;该p-rts帧包括:第一mic;接收端设备根据第一mic判断所述发送端设备的合法性;若所述接收端设备确定所述发送端设备合法,则向所述发送端设备发送cts帧。从而保证接收端设备只向合法的发送端设备cts帧,从而避免泄露持有接收端设备的用户的位置隐私。

基于上述实施例的基础,接收端设备还可以增加唤醒接收机(wakeupreceiver,wur),以便接收端设备更加省电。wur特别适用于发送端设备和接收端设备之间通信数据量非常少,接收端设备需经常休眠以省电。而发送端设备在有数据向接收端设备传输时需要能及时传输给接收端设备的情况。如果没有wur,接收端设备为了及时收到发送端设备发给接收端设备的数据,需周期性苏醒侦听发送端设备周期性发送的广播消息,根据广播消息中的指示判断发送端设备是否有数据向自己发送,或者与发送端设备约定一个周期较短的苏醒-休眠周期,以便发送端设备在接收端设备最近的苏醒期向接收端设备传输数据,或者接收端设备自己周期性醒来主动向发送端设备查询有无给接收端设备的数据。这些方法都使接收端设备仍然不够省电。而接收端设备使用wur之后,功耗非常低的wur可以一直工作,而接收端设备中的wifi模块可以休眠。发送端设备有数据向接收端设备传输时,首先向接收端设备的wur发送唤醒帧(wakeuppacket,wup),接收端设备的wur收到wup之后唤醒其wifi模块,之后发送端设备和接收端设备可完成wifi通信。由于wur实现超低功耗的原理是传输速率非常低,其电路非常简单,除了接收wup之外,不适于作数据通信。有了wur之后,接收端设备可以更省电。但因为wup是低速率传输,消息要尽可能短,其中的wur标识也就比较短,即比特数较少,容易被猜中。若探测设备侦听到接收端设备的wur标识,则探测设备重放wup,接收端设备被wup唤醒后,主动发消息告诉探测设备自己已醒来,这样探测设备可以确定接收端设备就在附近。为了解决该问题,下面将介绍基于上述场景的数据传输方法。

图4为本申请另一实施例提供的数据传输方法的交互流程图。其中该方法涉及的发送端设备可以是手机、平板电脑、智能手环、智能手表等智能终端。同样,发送端设备也可以是手机、平板电脑、智能手环、智能手表等智能终端。其中该接收端设备包括:wur。如图4所示,该方法包括如下步骤:

401、发送端设备向接收端设备发送wup。

wup可以是通过发送端设备的wifi模块发送的,也可以是发送端设备使用一个专门的唤醒发射机(wakeuptransmitter,wut)发送wup,本申请对此不作限制。wup中包含发送端设备为接收端设备的wur分配的wur标识。这种情况下,上述的第一变化值可以是wur标识。当然,wur标识也可以是接收端设备自己确定之后通知给发送端设备的,本申请不限定wur标识的生成方法。接收端设备的wur收到wup后,根据其中的wur标识等信息识别此wup是否为了唤醒自己。若是,则接收端设备给自己的wifi模块上电,即唤醒了接收端设备。接收端设备的wifi模块的苏醒过程需要一段时间,例如可能需要5-10毫秒。接收端设备醒来后不主动向发送端设备发消息表示其已醒来,即不主动发消息,以免收到的唤醒帧是探测设备发送的消息。

402、接收端设备接收发送端设备发送的p-rst帧,该p-rst帧携带第一mic。

403、接收端设备根据第一mic判断发送端设备的合法性。

404、若接收端设备确定发送端设备合法,则向发送端设备发送cts帧。

步骤402与步骤201类似,步骤404与步骤203类似,在此不再赘述。步骤403可以采用步骤202中的可选方式三。

也就是说,上述的可选方式三中的第一变化值可以是是wur标识。接收端设备通过与发送端设备的标识对应的发送端设备的会话密钥,根据wur的标识和p-rts帧中的字段确定第二mic;若第一mic与第二mic相同,则接收端设备确定发送端设备合法,否则,接收端设备确定发送端设备不合法。

可选地,发送端设备在发送完p-rts之后,在预定sifs内,通过所述无线通信接口收到所述接收端设备向所述发送端设备发送的清除发送消息,则在收完清除发送消息后间隔预定sifs内,通过无线通信接口向接收端设备发送业务数据。其中该业务数据也包括mic,以防止探测设备攻击该数据。可选地,接收端设备收到来自发送端设备的业务数据之后,进行帧校验。当帧校验成功之后,接收端设备向发送端设备发送ack消息。接着接收端设备认证业务数据中携带的mic,如果认证成功就存储该数据。如果认证失败,就丢弃该业务数据。具体来说,接收端设备的wifi模块在收到业务数据后,帧校验成功即回ack,然后对业务数据做认证,若认证成功,则将业务数据放入存储器由cpu对业务数据作进一步处理,否则不将业务数据放入存储器,即丢弃该业务数据。

进一步地,发送端设备与接收端设备完成业务数据传输后,由于wur标识已经暴露,为了防止探测设备攻击唤醒帧,必须更新wur标识,因此后续需要继续与接收端设备交互以更新wur标识。或者,更新wur标识的过程可以包含在从p-rts帧开始到接收端设备回复最后一个ack消息结束的传输过程中。其中可以在更新wur标识的同时,更新p-rts帧的变化值。

具体地,图5为本申请再一实施例提供的数据传输方法的交互流程图。如图5所示,该方法包括如下步骤:

501、发送端设备向接收端设备发送更新wur标识的消息。

其中该消息包含新的wur标识,以及新的p-rts变化值。这个消息需要加密,以免新的wur标识和新的p-rts变化值侦听到。

502、接收端设备建立新的wur标识与wur的映射关系。

503、接收端设备向发送端设备发送确认新的wur标识接收到的消息。

基于此,wur只对包含新的wur标识的wup有反应。同时,接收端设备将新的p-rts变化值保存起来,以便下次收到来自发送端设备的p-rts帧时,使用此变化值认证p-rts帧消息。

可选地,p-rts帧中的变化值可以与本次p-rts帧对应的wur标识相同。

可选地,p-rts帧中的变化值可以由发送端设备和接收端设备共同确定,即发送端设备确定p-rts帧中的变化值的第一部分,并携带步骤401发送的消息中,而接收端设备确定p-rts帧中的变化值的第二部分,并携带步骤403发送的消息中。

504、发送端设备向接收端设备发送wup。

该wup中携带新的wur标识。

505、接收端设备接收发送端设备发送的p-rts帧,p-rts帧携带第一mic。

506、接收端设备根据第一mic判断发送端设备的合法性。

507、若接收端设备确定发送端设备合法,则向发送端设备发送cts帧。

步骤505至步骤507与步骤201至步骤203类此,在此不再赘述。

可选地,发送端设备在发送完p-rts之后,在预定sifs内,通过所述无线通信接口收到所述接收端设备向所述发送端设备发送的清除发送消息,则在收完清除发送消息后间隔预定sifs内,通过无线通信接口向接收端设备发送业务数据。其中该业务数据也包括mic,以防止探测设备攻击该数据。可选地,接收端设备收到来自发送端设备的业务数据之后,进行帧校验。当帧校验成功之后,接收端设备向发送端设备发送ack消息。接着接收端设备认证业务数据中携带的mic,如果认证成功就存储该数据。如果认证失败,就丢弃该业务数据。具体来说,接收端设备的wifi模块在收到业务数据后,帧校验成功即回ack,然后对业务数据做认证,若认证成功,则将业务数据放入存储器由cpu对业务数据作进一步处理,否则不将业务数据放入存储器,即丢弃该业务数据。

综上,本申请提供的实施例中接收端设备只向合法的发送端设备发送cts帧,从而避免泄露持有接收端设备的用户的位置隐私。进一步地,由于发送端设备每次向所述接收端设备发送的第一mic不同,使得探测设备更加难以确定所述用户就在附近,进一步的避免泄露持有接收端设备的用户的位置隐私。

上述实施例对本申请实施例中数据传输方法进行了详细说明,下面对本申请实施例中的接收端设备进行详细描述。

请参阅图6,图6为本申请实施例中接收端设备的一个实施例。

第一接收单元601,用于接收发送端设备发送的有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic;

判断单元602,用于根据所述第一mic判断所述发送端设备的合法性;

第一发送单元603,用于当确定所述发送端设备合法时,则向所述发送端设备发送清除发送cts帧。

请参阅图7,图7为本申请实施例中接收端设备的另一个实施例。

第三接收单元701,用于接收所述发送端设备发送的唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;

其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。

第二接收单元702,用于接收所述发送端设备发送的第一变化值;

第一接收单元703,用于接收发送端设备发送的有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic;

判断单元704,用于根据所述第一mic判断所述发送端设备的合法性;

其中,判断单元704包括:

第一判断子单元7041,用于根据所述第一变化值判断所述p-rts帧是否新鲜;

第二判断子单元7042,用于判断所述第一mic是否正确;

第一确定子单元7043,用于当所述p-rts帧新鲜且所述第一mic正确时,确定所述发送端设备合法;

第二确定子单元7044,用于当所述p-rts帧不新鲜和/或所述第一mic不正确时,确定所述发送端设备不合法。

其中,第一判断子单元7041包括:

获取模块70411,用于获取所述p-rts帧携带的发送端设备标识;

第一确定模块70412,用于当根据所述第一变化值与第二变化值确定所述第一变化值满足预设变化规律时,确定所述p-rts帧新鲜,所述第二变化值为所述接收端设备记录的与所述发送端设备标识相对应的发送端设备上一次发送的变化值;

第二确定模块70413,用于当根据所述第一变化值与所述第二变化值确定所述第一变化值不满足预设变化规律时,确定所述p-rts帧不新鲜。

其中,第二判断子单元7042包括:

第三确定模块70421,用于通过会话密钥,根据所述p-rts帧中的字段确定第二mic,所述会话密钥与所述发送端设备标识相对应;

第四确定模块70422,用于当所述第一mic所述第二mic时,确定所述第一mic正确;

第五确定模块70423,用于当所述第一mic与所述第二mic不相同时,确定所述第一mic不正确。

其中,判断单元704还可以是包括:

第三确定子单元7045,用于通过会话密钥,根据所述p-rts帧中的字段及所述第一变化值确定第二mic,所述会话密钥与所述发送端设备标识相对应;

第四确定子单元7046,用于当所述第一mic与所述第二mic相同时,确定所述发送端设备合法;

第五确定子单元7047,用于当所述第一mic与所述第二mic不相同时,确定所述发送端设备不合法。

第一发送单元705,用于当确定所述发送端设备合法时,则向所述发送端设备发送清除发送cts帧。

请参阅图8,图8为本申请实施例中发送端设备的一个实施例。

第一发送单元801,用于向接收端设备发送有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic,所述第一mic用于判断所述发送端设备的合法性;

第一接收单元802,用于当所述发送端设备合法时,接收所述接收端设备发送的清除发送cts帧。

请参阅图9,图9为本申请实施例中发送端设备的另一个实施例。

第三发送单元901,用于向所述接收端设备发送唤醒帧,所述唤醒帧用于唤醒所述接收端设备的无线通信接口收发机;

其中,所述唤醒帧包括所述接收端的无线唤醒接收机的标识,所述第一变化值为所述无线唤醒接收机的标识。

第二发送单元902,用于向所述接收端设备发送第一变化值,以使所述接收端设备通过会话密钥,根据所述第一变化值和所述p-rts帧中的字段确定第二消mic,所述会话密钥与所述发送端设备的标识对应。

第一发送单元903,用于向接收端设备发送有保护的发送请求p-rts帧,所述p-rts帧包括:第一消息完整性码mic,所述第一mic用于判断所述发送端设备的合法性;

第一接收单元904,用于当所述发送端设备合法时,接收所述接收端设备发送的清除发送cts帧。

如图10所示,本申请实施例提供了一种接收端装置,其可以实现本申请提供的任一方法实施例,包括方法权利要求1至6所提供的任一方法。其中模块1001是所述接收端装置的中央处理器(cpu),用于从模块1002获取模块1003收到的数据消息并处理收到的数据消息。模块1002是存储器,用于存储模块1003接收到的数据消息。模块1003是wifi收发器,用于接收其它设备发送给自己的消息例如数据消息和p-rts消息等,以及发送自己准备好的消息如cts、ack消息等。模块1004是收发天线,模块1003发送消息需将待发送的消息内容调制成电信号从模块1004以电磁波形式发射出去,而模块1003接收消息也需要通过模块1004接收电磁波信号并从中解析出其它设备发送给自己的消息,模块1005接收wup消息也需要通过模块1004。模块1005是唤醒接收机,即wur,通过模块1004接收其它设备发给自己的wup消息,当收到发给自己的wup消息时给模块1003上电,即唤醒模块1003。模块1001处理数据消息实际是执行相关代码实现。模块1003和模块1005可工作于相同频段,则模块1004包含一种天线。模块1003和模块1005也可工作于不同频段,则模块1004可包含适用于不同频段的多种天线,模块1003和模块1005使用的天线不相同。

如图11所示,本申请实施例提供了一种发送端装置,其可以实现本申请提供的任一方法实施例,包括方法权利要求7至10所提供的任一方。其中模块1101是所述发送端装置的中央处理器(cpu),用于准备通过模块1103发送的数据消息并将准备发送的数据消息存放于模块1102。模块1101在准备好待发送数据消息后还通知模块1103已准备好数据,以便模块1103从模块1102获取待发送数据并发送。模块1102是存储器,用于存储模块1101准备好通过模块1103发送的数据消息。模块1103是wifi收发器,用于从模块1102获取模块1101准备好待发送的数据消息以及模块1103自己产生的控制消息例如p-rts消息并通过模块1104发射出去。模块1103还接收消息例如cts消息、ack消息等。模块1104是收发天线,模块1103发送消息需将待发送的消息内容调制成电信号从模块1104以电磁波形式发射出去,而模块1103接收消息也需要通过模块1104接收电磁波信号并从中解析出其它设备发送给自己的消息。模块1101产生或处理消息实际是执行相关代码实现。在一些实施例中,模块1103还用于发送wup帧。在一些实施例中,所述发送端装置还包括一个专门用来发送wup的发射机wut,即模块1105。所述模块1105在有数据发送时被模块1103或模块1101触发发送wup。所述wup由模块1104发射出去。所述模块1103和模块1105可工作于相同频段,模块1104包含同一种天线。所述模块1103和模块1105也可工作于不频段,则模块1104包含适用于不同频段的多种天线,模块1103和模块1105使用的天线不相同。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1