一种通讯方法、通讯终端及系统的制作方法

文档序号:7978907阅读:115来源:国知局
一种通讯方法、通讯终端及系统的制作方法
【专利摘要】本发明公开一种通讯方法、通讯终端及系统,方法包括步骤A、请求方生成Ra(i);使用Ra(i)对第i个请求命令进行保护,通过第一通信通道将Ra(i)、第i个请求命令发送给被请求方;步骤B、被请求方使用接收的Ra(i)来验证第i个请求命令的安全性,若验证通过,则进入步骤C;步骤C、被请求方生成Rb(i);使用Rb(i)对第i个请求命令对应的响应命令进行保护;通过第一通信通道将Rb(i)、响应命令发送给请求方;步骤D、请求方使用接收的Rb(i)来验证响应命令的安全性,若验证通过,进入步骤A,令i=i+1。本发明通过以上技术方案,解决射频、WiFi、ZigBee、蓝牙等相对开放的通信通道的安全性问题。
【专利说明】一种通讯方法、通讯终端及系统
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种通讯方法、通讯终端及系统。
【背景技术】
[0002]射频通道、WiFi通道、ZigBee通道或蓝牙通道等由于传输距离较远,通常被认为是一种相对开放的通信通道。目前,通信双方在利用这些通道进行通信的过程中,要么采用固定不变的会话密钥对整个通信过程中交互的信息进行保护,要么完全不对交互的信息进行保护。这导致诸多的安全隐患,如:在通讯过程中信息被篡改、被窃取,被重放攻击或被中间人攻击。因此,有必要针对这类通信通道提出一种安全的通信方法。

【发明内容】

[0003]本发明提供一种通讯方法、通讯终端及系统,解决射频、WiF1、ZigBee、蓝牙等相对开放的通信通道的安全性问题。
[0004]为解决上述技术问题,本发明采取以下技术方案。
[0005]一种通讯方法,包括:
[0006]步骤A、请求方生成随机数Ra⑴和第i个请求命令;使用所述Ra⑴对第i个请求命令进行保护,其中,i大于或等于I ;通过第一通信通道将所述Ra(i)以及被所述Ra(i)保护的第i个请求命令发送给被请求方,进入步骤B ;
[0007]步骤B、被请求方通过所述第一通信通道接收所述Ra(i)以及被所述Ra(i)保护的第i个请求命令;使用所述Ra(i)来验证所述第i个请求命令的安全性,如果验证通过,则进入步骤C ;
[0008]步骤C、被请求方生成随机数Rb (i)和所述第i个请求命令对应的响应命令;使用所述Rb(i)对所述第i个请求命令对应的响应命令进行保护;通过所述第一通信通道将所述Rb(i)以及被所述Rb(i)保护的第i个请求命令对应的响应命令发送给请求方,进入步骤D;
[0009]步骤D、请求方通过所述第一通信通道接收所述Rb (i)以及被所述Rb (i)保护的第i个请求命令对应的响应命令;使用所述Rb(i)来验证所述第i个请求命令对应的响应命令的安全性,如果验证通过,则进入步骤A,令i=i+l。
[0010]在本发明一实施例中,所述步骤A中,通过所述第一通信通道将所述Ra (i)发送给被请求方的过程包括:请求方对所述Ra(i)进行掩码处理,得到Ra’ (i);通过所述第一通信通道将所述Ra’ (i)发送给被请求方;所述步骤B中,被请求方通过所述第一通信通道接收所述Ra(i)的过程包括:被请求方通过所述第一通信通道接收到所述Ra’(i),对所述Ra’⑴进行解析,获得所述Ra (i)。
[0011]在本发明一实施例中,请求方对所述Ra(i)进行掩码处理,得到Ra’⑴的方法包括:对所述Ra⑴与Rb(1-l)进行运算得到所述Ra’⑴;被请求方对所述Ra’⑴进行解析,获得所述Ra(i)的方法包括:对所述Ra’ (i)与所述Rb(1-l)进行对应运算得到所述Ra(i);其中,i大于I时,所述Rb(1-l)为被请求方生成的,且用于对第1-Ι个请求命令对应的响应命令进行保护的随机数;i=l时,所述Rb(1-l)等于Rb(O),所述Rb (O)为被请求方生成的,且由所述被请求方预先发送给所述请求方的随机数。
[0012]在本发明一实施例中,所述被请求方预先发送所述Rb(O)给所述请求方的方法包括:所述被请求方生成所述Rb(0),所述被请求方通过第二通信通道将所述Rb (O)预先发送给所述请求方;或者所述被请求方生成所述Rb(0),对所述Rb (O)进行掩码处理得到Rb’(O),通过所述第一通信通道将所述Rb’(O)预先发送给所述请求方。
[0013]在本发明一实施例中,所述被请求方生成所述Rb(O),对所述Rb(O)进行掩码处理得到Rb’(O),通过所述第一通信通道将所述Rb’ (O)预先发送给所述请求方的过程包括:
[0014]请求方生成随机数Ra(O)和初始请求命令;通过所述第二通信通道将所述Ra(O)以及初始请求命令发送给被请求方;
[0015]被请求方通过所述第二通信通道接收所述Ra (O)以及所述初始请求命令;
[0016]被请求方生成随机数Rb(O)和所述初始请求命令对应的响应命令;使用所述Rb(O)对所述初始请求命令对应的响应命令进行保护;利用所述Ra(O)对所述Rb (O)进行掩码处理,得到Rb’ (O);通过所述第一通信通道将所述Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令发送给请求方;
[0017]请求方通过所述第一通信通道接收所述Rb’ (O)以及被所述Rb(O)保护的所述初始请求命令对应的响应命令;利用所述Ra (O)对所述Rb’ (O)进行解析,获得所述Rb (O);使用所述Rb(O)来验证所述初始请求命令对应的响应命令的安全性,如果验证通过,则进入所述步骤A,令i=l。
[0018]在本发明一实施例中,所述步骤C中,通过所述第一通信通道将所述Rb (i)发送给请求方的过程包括:被请求方对所述Rb(i)进行掩码处理,得到Rb’ (i);通过所述第一通信通道将所述Rb’ (i)发送给请求方;所述步骤D中,请求方通过所述第一通信通道接收所述Rb(i)的方法包括:请求方通过所述第一通信通道接收所述Rb’ (i);对所述Rb’ (i)进行解析,获得所述Rb (i)。
[0019]在本发明一实施例中,被请求方对所述Rb⑴进行掩码处理,得到Rb’⑴的方法包括:对所述Ra⑴与Rb⑴进行运算得到所述Rb’ (i);请求方对所述Rb’⑴进行解析,获得所述Rb (i)的方法包括:对所述Ra (i)与Rb’ (i)进行对应运算得到所述Rb (i)。
[0020]—种通讯终端,包括第一随机数生成模块、第一命令生成模块、第一安全处理模块和第一通信模块,其中:
[0021]所述第一随机数生成模块用于生成随机数Ra(i),i大于或等于I ;
[0022]所述第一命令生成模块用于生成第i个请求命令;
[0023]所述第一安全处理模块用于使用所述Ra(i)对所述第i个请求命令进行保护;使用被请求方生成的随机数Rb (i)来验证被所述Rb (i)保护的第i个请求命令对应的响应命令的安全性;
[0024]所述第一通信模块用于通过第一通信通道将所述Ra (i)以及被所述Ra (i)保护的第i个请求命令发送给被请求方;通过所述第一通信通道接收所述被请求方生成的随机数Rb⑴以及被所述Rb⑴保护的第i个请求命令对应的响应命令。
[0025]在本发明一实施例中,所述通讯终端还包括第一掩码模块,用于对所述Ra (i)进行掩码处理,得到Ra’ (i);对所述被请求方对随机数Rb⑴进行掩码处理得到的Rb’ (i)进行解析,得到所述Rb (i);所述第一通信模块用于通过第一通信通道将所述Ra’ (i)以及被所述Ra(i)保护的第i个请求命令发送给被请求方;通过所述第一通信通道接收所述Rb’ (i)以及被所述Rb (i)保护的第i个请求命令对应的响应命令。
[0026]在本发明一实施例中,所述第一掩码模块为第一运算模块,用于对所述Ra(i)与Rb(1-l)进行运算得到所述Ra’(i),对所述Ra (i)与Rb,⑴进行运算得到所述Rb (i),i=l时,所述Rb(1-l)等于Rb(O);所述通信终端还包括第二通信模块,所述第二通信模块用于通过第二通信通道接收所述被请求方生成的随机数Rb (O)。
[0027]在本发明一实施例中,所述第一掩码模块为第一运算模块,用于对所述Ra(i)与Rb(1-l)进行运算得到所述Ra’(i),对所述Ra (i)与Rb,⑴进行运算得到所述Rb (i),i=l时,所述Rb(1-l)等于Rb(O),所述第一运算模块还用于对所述Rb’(O)进行解析,得到所述Rb(O);所述第一通信模块还用于通过第一通信通道接收所述被请求方对其生成的随机数Rb(O)进行掩码处理得到的Rb’(O)。
[0028]在本发明一实施例中,所述通信终端还包括第二通信模块;所述第一随机数生成模块还用于生成随机数Ra(O);所述第一命令生成模块还用于生成初始请求命令;所述第二通信模块用于通过第二通信通道将所述Ra(O)以及所述初始请求命令发送给被请求方;所述第一通信模块用于通过所述第一通信通道接收所述被请求方利用所述Ra(O)对其生成的随机数Rb (O)进行运算得到的Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令;所述第一运算模块利用所述Ra(O)对所述Rb’ (O)进行对应运算,得到所述Rb(O);所述第一安全处理模块使用所述Rb (O)来验证所述初始请求命令对应的响应命令的安全性。
[0029]一种通讯终端,包括第二随机数生成模块、第二命令生成模块、第二安全处理模块和第三通信模块,其中:
[0030]所述第二随机数生成模块用于生成随机数Rb (i),i大于或等于I ;
[0031]所述第二命令生成模块用于生成与请求方发送的第i个请求命令对应的响应命令;
[0032]所述第二安全处理模块用于使用所述Rb (i)对所述第i个请求命令对应的响应命令进行保护;使用请求方生成的随机数Ra (i)来验证所述第i个请求命令的安全性,如果验证通过,则通知所述述第二命令生成模块生成所述第i个请求命令对应的响应命令;
[0033]所述第三通信模块用于通过第一通信通道接收请求方生成的随机数Ra(i)以及被所述Ra(i)保护的第i个请求命令;通过所述第一通信通道将所述Rb (i)以及被所述Rb(i)保护的第i个请求命令对应的响应命令发送给请求方。
[0034]在本发明一实施例中,所述通讯终端还包括第二掩码模块,用于对所述Rb(i)进行掩码处理,得到Rb’ (i);对所述请求方对其生成的随机数Ra(i)进行掩码处理得到的Ra’ (i)进行解析,得到所述Ra(i);所述第三通信模块用于通过第一通信通道将所述Rb’ (i)以及被所述Rb (i)保护的第i个请求命令对应的响应命令发送给请求方;通过所述第一通信通道接收所述Ra’ (i)以及被所述Ra(i)保护的第i个请求命令。
[0035]在本发明一实施例中,所述第二掩码模块为第二运算模块,用于对所述Ra(i)与Rb(i)进行运算得到所述Rb’ (i);对所述Ra’ (i)与所述Rb(1-l)进行运算得到所述Ra(i),i=l时,所述Rb(1-l)等于Rb(O);所述第二随机数生成模块还用于生成随机数Rb (O);所述通信终端还包括第四通信模块,所述第四通信模块用于通过第二通信通道将所述Rb (O)发送给请求方。
[0036]在本发明一实施例中,所述第二掩码模块为第二运算模块,用于对所述Ra(i)与Rb(i)进行运算得到所述Rb’ (i);对所述Ra’ (i)与所述Rb(1-l)进行运算得到所述Ra(i),i=l时,所述Rb(1-l)等于Rb(O);所述第二随机数生成模块还用于生成随机数Rb (O);所述第二运算模块还用于对所述Rb (O)进行掩码处理得到的Rb’(O);所述第三通信模块还用于通过第一通信通道将所述Rb’ (O)发送给请求方。
[0037]在本发明一实施例中,所述通信终端还包括第四通信模块;所述第四通信模块用于通过第二通信通道接收请求方发送的随机数Ra(O)以及初始请求命令;所述第二运算模块利用所述Ra(O)对所述Rb(O)进行运算,得到所述Rb’ (O);所述第二命令生成模块用于生成与所述初始请求命令对应的响应命令;所述第二安全处理模块使用所述Rb (O)对所述初始请求命令对应的响应命令进行保护;所述第三通信模块用于通过第一通信通道将所述Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令发送给请求方。
[0038]本发明的有益效果包括:利用请求方生成的随机数Ra(i)对请求方与被请求方交互的各个请求命令进行保护,利用被请求方生成的随机数Rb(i)对被请求方对与请求方交互的各个响应命令进行保护,由于随机数出现相同情况的概率极低,因此,对于请求方与被请求方之间交互的每一个请求命令/响应命令而言,相当于都由一个完全不同的随机数作为保护密钥来保护。相对于现有技术要么采用固定不变的会话密钥对整个通信过程中交互的信息进行保护,要么完全不对交互的信息进行保护的方式,能有效避免通讯过程中信息被篡改、被窃取,被重放攻击或被中间人攻击。
[0039]进一步,通信双方利用通过传输距离较远,相对开放的第一通信通道,包括但不局限于2.4GHz射频通道、13.56MHz射频通道、WiFi通道、ZigBee通道或蓝牙通道,传输作为保护密钥的随机数时,将随机数进行掩码处理后进行传输,避免在该类通道上直接传输保护密钥导致泄密。
[0040]进一步,本发明的掩码规则是,利用前一个交互信息的保护密钥(随机数)对当前交互信息的保护密钥进行掩码处理,如:请求方对Ra(i)与Rb(1-l)进行异或运算得到Ra’(i)、被请求方对Ra⑴与Rb⑴进行异或运算得到Rb’⑴;而首个保护密钥,即Rb(0),可以由被请求方通过第二通信通道(即安全通道,包括但不局限于磁通道、声通道或光通道)传输至请求方,即由安全通道来保证Rb (O)的安全性;或者由被请求方进行掩码处理后,通过传输距离较远,相对开放的第一通信通道传输至请求方,即由掩码处理来保证Rb(O)的安全性。由此构成整个通信过程的安全体系,该体系采用随机数滚动方式,无需事先预置保护密钥,也不需要复杂的密钥协商和计算过程。
【专利附图】

【附图说明】
[0041]图1为本发明一实施例提供的通讯系统的示意图;
[0042]图2为图1所示通信系统的通讯方法的流程图;
[0043]图3为本发明另一实施例提供的通讯系统的示意图;
[0044]图4为图3所示通信系统的通讯方法的流程图;[0045]图5为图4所示通讯方法中被请求方对随机数Rb (O)进行掩码处理,得到Rb’ (O),再通过第一通信通道将Rb’ (O)发送给请求方的流程图。
【具体实施方式】
[0046]下面通过【具体实施方式】结合附图对本发明作进一步详细说明。
[0047]本发明中,对请求方发出的请求命令、被请求方发出的响应命令的安全性进行验证包括但不局限于对其完整性进行验证。作为请求方的第一通信终端可以为读卡器,作为被请求方的第二通信终端可以为内置射频卡的移动终端,或者请求方为内置射频卡的移动终端,被请求方为读卡器。第一通信通道可以为传输距离较远,相对开放的通信通道,包括但不局限于射频通道、WiFi通道、ZigBee通道或蓝牙通道,其中,射频通道包括但不局限于
2.4GHz射频通道或13.56MHz射频通道。第二通信通道可以为安全通信通道,包括但不局限于传输距离较近的磁通道(传输距离通常小于10厘米),或者声通道、光通道等。
[0048]实施例一:
[0049]图1所示为本发明一实施例提供的通讯系统,包括作为请求方的第一通信终端1,以及作为被请求方的第二通信终端2。其中,第一通信终端I包括第一随机数生成模块11、第一命令生成模块12、第一安全处理模块13和第一通信模块14。第二通信终端2包括第二随机数生成模块21、第二命令生成模块22、第二安全处理模块23和第三通信模块24。第一通信模块14、第三通信模块24包括但不局限于2.4GHz射频通信模块、13.56MHz射频通信模块、WiFi通信模块、ZigBee通信模块或蓝牙通信模块。第一通信模块14与第三通信模块24之间用于建立第一通信通道。
[0050]第一通信终端1、第二通信终端2中各模块的功能通过以下通信方法的具体流程体现,如图2所示,为基于该通信系统的通讯方法的具体流程,其中,i大于或等于1:
[0051]S101、请求方的第一随机数生成模块11生成随机数Ra(i);第一命令生成模块12生成第i个请求命令(CMDi)。
[0052]S102、请求方的第一安全处理模块13使用所述Ra(i)对所述第i个请求命令(CMDi)进行保护,保护的具体方式可以是:
[0053]使用Ra(i)作为MAC密钥,对CMDi的消息头和/或消息体的部分字段,或者对CMDi消息头和/或消息体的所有字段,进行MAC运算得到MAC校验值;
[0054]或者,在此基础之上,还使用Ra(i)作为加密密钥对CMDi消息体中的部分或所有数据字段进行加密,将得到的消息数据密文取代消息中相应的数据明文。
[0055]S103、请求方的第一通信模块14通过第一通信通道将所述Ra(i)以及被所述Ra(i)保护的CMDi发送给被请求方。其中,可以通过第一通信通道分别将所述Ra(i)、被所述Ra(i)保护的CMDi发送给被请求方,也可以通过第一通信通道将所述Ra(i)、被所述Ra (i)保护的CMDi —同发送给被请求方。
[0056]S104、被请求方的第三通信模块24通过该第一通信通道接收所述Ra (i)以及被所述Ra⑴保护的CMDi ;
[0057]S105、被请求方的第二安全处理模块23使用所述Ra(i)来验证所述CMDi的安全性,如果验证通过,则进入步骤S106,否则,通信过程结束;
[0058]被请求方的第二安全处理模块23使用所述Ra (i)来验证所述CMDi的安全性的方法具体为:使用所述Ra(i)作为MAC密钥来验证所述CMDi的MAC校验值是否正确,如果正确,则继续判断CMDi消息体是否存在密文数据,若存在,则继续使用所述Ra (i)作为解密密钥对CMDi中的密文数据进行解密得到CMDi明文数据。
[0059]S106、被请求方的第二随机数生成模块21生成随机数Rb(i);第二命令生成模块22生成所述CMDi对应的响应命令RSPi。
[0060]S107、被请求方的第二安全处理模块23使用所述Rb (i)对所述CMDi对应的响应命令RSPi进行保护,保护的具体方式可以是:
[0061]使用所述Rb⑴作为MAC密钥,对RSP i的消息头和/或消息体的部分字段,或者对消息头和/或消息体的所有字段,进行MAC运算得到MAC校验值;
[0062]或者,在此基础之上,还使用所述Rb⑴作为加密密钥对RSPi消息体中的部分或所有数据字段进行加密,将得到的消息数据密文取代消息中相应的数据明文。
[0063]S108、被请求方的第三通信模块24通过第一通信通道将所述Rb(i)以及被所述Rb(i)保护的RSPi发送给请求方。其中,可以通过第一通信通道分别将所述Rb(i)、被所述Rb (i)保护的RSPi发送给被请求方,也可以通过第一通信通道将所述Rb (i)、被所述Rb (i)保护的RSPi —同发送给被请求方。
[0064]S109、请求方的第一通信模块14通过第一通信通道接收所述Rb(i)以及被所述Rb⑴保护的RSPi ;
[0065]S110、请求方的第一安全处理模块13使用所述Rb (i)来验证被所述Rb (i)保护的RSPi的安全性,如果验证通过,则进入步骤S101,令i=i+l,开始下一轮随机数滚动过程,直到整个通信过程的所有命令结束;否则,通信过程结束。
[0066]请求方的第一安全处理模块13使用所述Rb (i)来验证被所述Rb (i)保护的RSPi的安全性的方法具体为:使用所述Rb (i)作为MAC密钥来验证所述RSPi的MAC校验值是否正确,如果正确,则继续判断RSPi消息体是否存在密文数据,若存在,则继续使用所述Rb(i)作为解密密钥对RSPi中的密文数据进行解密得到RSPi明文数据。
[0067]该实施例中,请求方生成的随机数Ra(i)、被请求方生成的随机数Rb(i)出现相同情况的概率极低,因此,对于请求方与被请求方之间交互的每一个请求命令/响应命令而言,相当于都由一个完全不同的随机数作为保护密钥来保护。
[0068]实施例二:
[0069]如图3所示,为本发明另一实施例提供的通讯系统,相比实施一中的通讯系统的不同之处在于,第一通信终端I还包括第一掩码模块15和第二通信模块16,第二通信终端2还包括第二掩码模块25和第四通信模块26。第二通信模块16、第四通信模块26包括但不局限于磁通信模块、声通信模块或光通信模块。第二通信模块16与第四通信模块26之间用于建立第二通信通道。
[0070]第一通信终端1、第二通信终端2中各模块的功能通过以下通信方法的具体流程体现,如图4所示,为基于本实施例的通信系统的通讯方法的具体流程,该方法中,利用前一个交互信息的保护密钥(随机数)对当前交互信息的保护密钥进行掩码处理,被请求方预先发送随机数Rb(O)给请求方,Rb(O)用于i=l时,请求方对Ra(i)进行掩码处理,该方法包括如下流程:
[0071]初始化阶段:[0072]S201、被请求方的第二随机数生成模块21生成随机数Rb (O),发送随机数Rb (O)给
请求方。
[0073]该步骤中,被请求方发送随机数Rb(O)给请求方的方式包括多种,可以通过第一通信通道发送,也可以通过第二通信通道进行发送。
[0074]若选择通过第二通信通道进行发送,则被请求方的第四通信模块26必须具备第二通信通道的发送功能,请求方的第二通信模块16必须具备第二通信通道的接收功能。如读卡器作为请求方、射频卡作为被请求方时,射频卡必须具备磁通道、声通道、光通道的发送功能,读卡器必须具备第二通信通道的接收功能。在此基础之上,由于第二通信通道可以保证交互信息的安全,因此,被请求方的第四通信模块26可以直接通过第二通信通道将Rb(O)发送给请求方。
[0075]若选择通过第一通信通道进行发送,由于第一通信通道的开放性,为了进一步保证交互信息的安全,被请求方的第二掩码模块25可以先对随机数Rb(O)进行掩码处理,得到Rb’(O),第三通信模块24再将Rb’ (O)通过第一通信通道发送给请求方。其中,掩码处理的方式包括多种,可以借助请求方生成并预先发送给被请求方的随机数Ra(0),下面提供一种被请求方对随机数Rb (O)进行掩码处理,得到Rb’(O),再通过第一通信通道将Rb’ (O)发送给请求方的方法,如图5所示,包括如下步骤:
[0076]S201a、请求方的第一随机数生成模块11生成随机数Ra (O);第一命令生成模块12生成初始请求命令CMDO。
[0077]S201b、请求方的第二通信模块16通过第二通信通道将所述Ra(O)以及初始请求命令CMDO发送给被请求方。
[0078]请求方的第二通信模块16必须具备第二通信通道的发送功能,被请求方的第四通信模块26必须具备第二通信通道的接收功能,如读卡器作为请求方、射频卡作为被请求方时,读卡器必须具备磁通道、声通道、光通道的发送功能,射频卡必须具备磁通道、声通道、光通道的接收功能。由于第二通信通道为安全通信通道,因此,通过第二通信通道发送Ra (O),能够保证随机数Ra (O)的安全性。
[0079]S201c、被请求方的第四通信模块26通过第二通信通道接收所述Ra(O)以及所述CMDO ;
[0080]S201d、被请求方的第二随机数生成模块21生成随机数Rb (O);
[0081]S20Ie、被请求方的第二安全处理模块23使用所述Rb (O)对所述CMDO对应的响应命令RSPO进行保护;保护的具体方式可以是:
[0082]使用所述Rb (O)作为MAC密钥,对RSPO的消息头和/或消息体的部分字段,或者对RSPO消息头和/或消息体的所有字段,进行MAC运算得到MAC校验值;
[0083]或者,在此基础之上,还使用所述Rb (O)作为加密密钥对RSPO消息体中的部分或所有数据字段进行加密,将得到的消息数据密文取代消息中相应的数据明文。
[0084]S201f、被请求方的第二掩码模块25利用步骤S201c中接收到的所述Ra(O)对所述Rb (O)进行掩码处理,得到Rb’(O)。具体掩码规则包括但不局限于以下一种:第二掩码模块25为第二运算模块,第二运算模块对所述Ra (O)与Rb(O)进行运算,得到所述Rb’ (O),运算方式包括但不局限于异或运算;
[0085]S201g、被请求方的第三通信模块24通过第一通信通道将所述Rb’ (O)以及被所述Rb(O)保护的所述RSPO发送给请求方。其中,可以通过第一通信通道分别将所述Rb’(O)、被所述Rb (O)保护的所述RSPO发送给被请求方,也可以通过第一通信通道将所述Rb’ (O)、被所述Rb (O)保护的所述RSPO —同发送给被请求方。
[0086]S201h、请求方的第一通信模块14通过第一通信通道接收所述Rb’ (O)以及被所述Rb(O)保护的 RSPO。
[0087]S2011、请求方的第一掩码模块15利用步骤S201a中生成的所述Ra (O),对所述Rb’(O)进行解析,获得所述Rb (O)。具体的解析方式可视步骤S201f中的掩码规则而定,因步骤S201f中的掩码规则是:对所述Ra(O)与Rb(O)进行运算,得到所述Rb’(O),因此步骤S201i中的解析方式可以为:第一掩码模块15为第一运算模块,第一运算模块对所述Ra (O)与所述Rb’ (O)进行相应运算,得到所述Rb (O)。如假设步骤S201f中的掩码规则是:对所述Ra (O)与Rb(O)进行异或运算,得到所述Rb’(0),则步骤S201i中的解析方式可以为:对所述Ra(O)与所述Rb’ (O)进行异或运算,得到所述Rb (O)。
[0088]S 201 j、请求方的第一安全处理模块13使用所述Rb (O)来验证被所述Rb (O)保护的所述RSP O的安全性,如果验证通过,则进入通过第一通信通道进行命令交互的阶段,即进入所述步骤S202,令i=l,开始随机数滚动过程,直到整个通信过程的所有命令结束;否贝U,通信过程结束。
[0089]上述初始请求命令CMDO可以是请求方为了传输随机数Ra (O)至被请求方,而额外增加的一交互命令,也可以是请求方用于激活被请求方的激活请求命令,在请求方利用第二通信通道激活被请求方的应用场景中,如读卡器持续性发射磁信号作为激活请求命令,寻求磁通道通信距离内的射频卡,通过磁通道激活射频卡的应用场景,为了减少命令交互的次数,可以将请求方发出的激活请求命令作为上述初始请求命令CMD0,请求方将随机数Ra (O)随同激活请求命令一同发送至被请求方,被请求方反馈的响应命令RSPO同时作为激活请求的响应命令。
[0090]通过第一通信通道进行命令交互的阶段,其中,i大于或等于1:
[0091]S202、请求方第一随机数生成模块11生成随机数Ra(i);第一命令生成模块12生成第i个请求命令(CMDi)。
[0092]S203、请求方的第一安全处理模块13使用所述Ra(i)对第i个请求命令(CMDi)进行保护,保护的具体方式可以是:
[0093]使用Ra(i)作为MAC密钥,对CMDi的消息头和/或消息体的部分字段,或者对CMDi消息头和/或消息体的所有字段,进行MAC运算得到MAC校验值;
[0094]或者,在此基础之上,还使用Ra(i)作为加密密钥对CMDi消息体中的部分或所有数据字段进行加密,将得到的消息数据密文取代消息中相应的数据明文。
[0095]S204、请求方的第一掩码模块15对所述Ra(i)进行掩码处理,得到Ra’ (i)。掩码规则包括但不局限于以下一种:第一掩码模块15为第一运算模块,用于对所述Ra(i)与Rb(1-l)进行运算得到所述Ra’(i),运算方式包括但不局限于异或运算。其中,当i大于I时,所述Rb(1-l)为被请求方生成的,且用于对第i_l个请求命令对应的响应命令进行保护的随机数;i=l时,所述Rb (1-Ι)等于步骤S201中的Rb(O)。
[0096]S205、请求方的第一通信模块14通过第一通信通道将所述Ra’ (i)以及被所述Ra(i)保护的CMDi发送给被请求方。其中,可以通过第一通信通道分别将所述Ra’(i)、被所述Ra(i)保护的CMDi发送给被请求方,也可以通过第一通信通道将所述Ra’ (i)、被所述Ra (i)保护的CMDi —同发送给被请求方。
[0097]S206、被请求方的第二通信模块24通过该第一通信通道接收所述Ra’ (i)以及被所述Ra⑴保护的CMDi ;
[0098]S207、被请求方的第二掩码模块25对所述Ra’(i)进行解析,获得所述Ra (i)。解析方式视步骤S204中的掩码规则而定,因步骤S204中的掩码规则为:第一掩码模块15为第一运算模块,用于对Ra(i)与Rb(1-l)进行运算得到Ra’(i),因此步骤S207中的解析方式可以为:第二掩码模块25为第二运算模块,用于对所述Ra’ (i)与所述Rb(1-l)进行相应运算得到Ra (i)。假设步骤S204中的掩码规则是:对Ra(i)与Rb(i_l)进行异或运算得到Ra’ (i);则步骤S207中的解析方式可以为:对所述Ra’⑴与所述Rb(i_l)进行异或运算得到Ra⑴。
[0099]S208、被请求方的第二安全处理模块23使用所述Ra(i)来验证所述CMDi的安全性,如果验证通过,则进入步骤S209 ;否则,通信过程结束;
[0100]被请求方的第二安全处理模块23使用所述Ra (i)来验证所述CMDi的安全性的方法具体为:被请求方使用所述Ra(i)作为MAC密钥来验证所述CMDi的MAC校验值是否正确,如果正确,则继续判断CMDi消息体是否存在密文数据,若存在,则继续使用所述Ra (i)作为解密密钥对CMDi中的密文数据进行解密得到CMDi明文数据。
[0101]S209、被请求方的第二随机数生成模块21生成随机数Rb(i);第二命令生成模块22生成所述CMDi对应的响应命令RSPi。
[0102]S210、被请求方的第二安全处理模块23使用所述Rb (i)对所述CMDi对应的响应命令RSPi进行保护,保护的具体方式可以是:
[0103]使用所述Rb (i)作为MAC密钥,对RSPi的消息头和/或消息体的部分字段,或者对消息头和/或消息体的所有字段,进行MAC运算得到MAC校验值;
[0104]或者,在此基础之上,还使用所述Rb(i)作为加密密钥对RSPi消息体中的部分或所有数据字段进行加密,将得到的消息数据密文取代消息中相应的数据明文。
[0105]S211、被请求方的第二掩码模块25对所述Rb (i)进行掩码处理,得到Rb’(i)。掩码规则包括但不局限于以下一种:第二掩码模块25为第二运算模块,用于对步骤S207中获得的所述Ra(i)与Rb(i)进行运算得到所述Rb’(i),运算方式包括但不局限于异或运算。
[0106]S212、被请求方的第三通信模块24通过第一通信通道将所述Rb’ (i)以及被所述Rb (i)保护的RSPi发送给请求方。其中,可以通过第一通信通道分别将所述Rb’(i)、被所述Rb(i)保护的RSPi发送给被请求方,也可以通过第一通信通道将所述Rb’(i)、被所述Rb(i)保护的RSPi —同发送给被请求方。
[0107]S213、请求方的第一通信模块14通过第一通信通道接收所述Rb’ (i)以及被所述Rb⑴保护的RSPi ;
[0108]S214、请求方的第一掩码模块15对所述Rb’(i)进行解析,获得所述Rb (i)。解析方式视步骤S211中的掩码规则而定,因步骤S211中的掩码规则为:第二掩码模块25为第二运算模块,用于对Ra(i)与Rb(i)进行运算得到Rb’(i),因此步骤S214中的解析方式可以为:第一掩码模块15为第一运算模块,用于对所述Ra(i)与Rb’ (i)进行相应运算得到所述Rb(i)。假设步骤S211中的掩码规则是:对Ra⑴与Rb⑴进行异或运算得到Rb’⑴;则步骤S214中的解析方式可以为:对所述Ra(i)与Rb’(i)进行异或运算得到所述Rb (i)。
[0109]S215、请求方的第一安全处理模块13使用所述Rb (i)来验证被所述Rb (i)保护的RSPi的安全性,如果验证通过,则进入步骤S202,令i=i+l,开始下一轮随机数滚动过程,直到整个通信过程的所有命令结束;否则,通信过程结束。
[0110]请求方的第一安全处理模块13使用所述Rb (i)来验证被所述Rb (i)保护的RSPi的安全性的方法具体为:使用所述Rb (i)作为MAC密钥来验证所述RSPi的MAC校验值是否正确,如果正确,则继续判断RSPi消息体是否存在密文数据,若存在,则继续使用所述Rb(i)作为解密密钥对RSPi中的密文数据进行解密得到RSPi明文数据。
[0111]该实施例中,请求方生成的随机数Ra(i)、被请求方生成的随机数Rb (i)出现相同情况的概率极低,因此,对于请求方与被请求方之间交互的每一个请求命令/响应命令而言,相当于都由一个完全不同的随机数作为保护密钥来保护。请求方/被请求将作为保护密钥的随机数进行掩码处理后传输至对方,能够有效避免直接传输保护密钥导致的泄密,该实施例所使用的掩码规则是,利用前一个交互信息的保护密钥(随机数)对当前交互信息的保护密钥(随机数)进行掩码处理,如:请求方对Ra(i)与Rb(1-l)进行异或运算得到Ra’(i)、被请求方对Ra⑴与Rb⑴进行异或运算得到Rb’⑴;而首个保护密钥的安全性则由磁通道、声通道或光通道等安全通道来保证,由此构成整个通信过程的安全体系,该体系采用随机数滚动方式,无需事先预置保护密钥,也不需要复杂的密钥协商和计算过程。
[0112]以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
【权利要求】
1.一种通讯方法,其特征在于,包括: 步骤A、请求方生成随机数Ra (i)和第i个请求命令;使用所述Ra(i)对第i个请求命令进行保护,其中,i大于或等于I ;通过第一通信通道将所述Ra(i)以及被所述Ra(i)保护的第i个请求命令发送给被请求方,进入步骤B ; 步骤B、被请求方通过所述第一通信通道接收所述Ra(i)以及被所述Ra(i)保护的第i个请求命令;使用所述Ra(i)来验证所述第i个请求命令的安全性,如果验证通过,则进入步骤C ; 步骤C、被请求方生成随机数Rb (i)和所述第i个请求命令对应的响应命令;使用所述Rb(i)对所述第i个请求命令对应的响应命令进行保护;通过所述第一通信通道将所述Rb(i)以及被所述Rb(i)保护的第i个请求命令对应的响应命令发送给请求方,进入步骤D ; 步骤D、请求方通过所述第一通信通道接收所述Rb (i)以及被所述Rb(i)保护的第i个请求命令对应的响应命令;使用所述Rb(i)来验证所述第i个请求命令对应的响应命令的安全性,如果验证通过,则进入步骤A,令i=i+l。
2.如权利要求1所述的通讯方法,其特征在于,所述步骤A中,通过所述第一通信通道将所述Ra(i)发送给被请求方的过程包括:请求方对所述Ra(i)进行掩码处理,得到Ra’ (i);通过所述第一通信通道将所述Ra’ (i)发送给被请求方;所述步骤B中,被请求方通过所述第一通信通道接收所述Ra (i)的过程包括:被请求方通过所述第一通信通道接收到所述Ra’(i),对所述Ra’ (i)进行解析,获得所述Ra (i)。
3.如权利要求2所述的通讯方法,其特征在于,请求方对所述Ra(i)进行掩码处理,得到Ra’⑴的方法包括:对所述Ra⑴与Rb(1-l)进行运算得到所述Ra’ (i);被请求方对所述Ra’⑴进行解析,获得所述`Ra⑴的方法包括:对所述Ra’⑴与所述Rb(i_l)进行对应运算得到所述Ra(i);其中,i大于I时,所述Rb(1-l)为被请求方生成的,且用于对第1-Ι个请求命令对应的响应命令进行保护的随机数;i=l时,所述Rb(1-l)等于Rb (O),所述Rb(O)为被请求方生成的,且由所述被请求方预先发送给所述请求方的随机数。
4.如权利要求3所述的通讯方法,其特征在于,所述被请求方预先发送所述Rb(O)给所述请求方的方法包括:所述被请求方生成所述Rb (O),所述被请求方通过第二通信通道将所述Rb (O)预先发送给所述请求方;或者所述被请求方生成所述Rb (O),对所述Rb (O)进行掩码处理得到Rb’(O),通过所述第一通信通道将所述Rb’(O)预先发送给所述请求方。
5.如权利要求4所述的通讯方法,其特征在于,所述被请求方生成所述Rb(O),对所述Rb(O)进行掩码处理得到Rb’(O),通过所述第一通信通道将所述Rb’ (O)预先发送给所述请求方的过程包括: 请求方生成随机数Ra(O)和初始请求命令;通过所述第二通信通道将所述Ra(O)以及初始请求命令发送给被请求方; 被请求方通过所述第二通信通道接收所述Ra (O)以及所述初始请求命令; 被请求方生成随机数Rb(O)和所述初始请求命令对应的响应命令;使用所述Rb (O)对所述初始请求命令对应的响应命令进行保护;利用所述Ra(O)对所述Rb(O)进行掩码处理,得到Rb’ (O);通过所述第一通信通道将所述Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令发送给请求方;请求方通过所述第一通信通道接收所述Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令;利用所述Ra (O)对所述Rb’ (O)进行解析,获得所述Rb (O);使用所述Rb(O)来验证所述初始请求命令对应的响应命令的安全性,如果验证通过,则进入所述步骤A,令i=l。
6.如权利要求1所述的通讯方法,其特征在于,所述步骤C中,通过所述第一通信通道将所述Rb(i)发送给请求方的过程包括:被请求方对所述Rb(i)进行掩码处理,得到Rb’ (i);通过所述第一通信通道将所述Rb’ (i)发送给请求方;所述步骤D中,请求方通过所述第一通信通道接收所述Rb (i)的方法包括:请求方通过所述第一通信通道接收所述Rb,⑴;对所述Rb’⑴进行解析,获得所述Rb (i)。
7.如权利要求6所述的通讯方法,其特征在于,被请求方对所述Rb(i)进行掩码处理,得到Rb’⑴的方法包括:对所述Ra⑴与Rb⑴进行运算得到所述Rb’⑴;请求方对所述Rb’⑴进行解析,获得所述Rb (i)的方法包括:对所述Ra⑴与Rb’⑴进行对应运算得到所述Rb (i)。
8.—种通讯终端,其特征在于,包括第一随机数生成模块、第一命令生成模块、第一安全处理模块和第一通信模块,其中: 所述第一随机数生成模块用于生成随机数Ra(i),i大于或等于I ; 所述第一命令生成模块用于生成第i个请求命令; 所述第一安全处理模块用于使用所述Ra(i)对所述第i个请求命令进行保护;使用被请求方生成的随机数Rb (i)来验证被所述Rb (i)保护的第i个请求命令对应的响应命令的安全性; 所述第一通信模块用于通过第一通 信通道将所述Ra(i)以及被所述Ra(i)保护的第i个请求命令发送给被请求方;通过所述第一通信通道接收所述被请求方生成的随机数Rb⑴以及被所述Rb⑴保护的第i个请求命令对应的响应命令。
9.如权利要求8所述的通讯终端,其特征在于,所述通讯终端还包括第一掩码模块,用于对所述Ra (i)进行掩码处理,得到Ra’ (i);对所述被请求方对随机数Rb (i)进行掩码处理得到的Rb’ (i)进行解析,得到所述Rb (i);所述第一通信模块用于通过第一通信通道将所述Ra’ (i)以及被所述Ra(i)保护的第i个请求命令发送给被请求方;通过所述第一通信通道接收所述Rb’ (i)以及被所述Rb (i)保护的第i个请求命令对应的响应命令。
10.如权利要求9所述的通讯终端,其特征在于,所述第一掩码模块为第一运算模块,用于对所述Ra⑴与Rb(1-l)进行运算得到所述Ra’(i),对所述Ra⑴与Rb’⑴进行运算得到所述Rb(i),i=l时,所述Rb(1-l)等于Rb(O);所述通信终端还包括第二通信模块,所述第二通信模块用于通过第二通信通道接收所述被请求方生成的随机数Rb (O)。
11.如权利要求9所述的通讯终端,其特征在于,所述第一掩码模块为第一运算模块,用于对所述Ra(i)与Rb(1-l)进行运算得到所述Ra’(i),对所述Ra(i)与Rb’ (i)进行运算得到所述Rb (i),i=l时,所述Rb (1-Ι)等于Rb (O),所述第一运算模块还用于对所述Rb’ (O)进行解析,得到所述Rb(O);所述第一通信模块还用于通过第一通信通道接收所述被请求方对其生成的随机数Rb (O)进行掩码处理得到的Rb’(O)。
12.如权利要求11所述的通讯终端,其特征在于,所述通信终端还包括第二通信模块;所述第一随机数生成模块还用于生成随机数Ra(O);所述第一命令生成模块还用于生成初始请求命令;所述第二通信模块用于通过第二通信通道将所述Ra(O)以及所述初始请求命令发送给被请求方;所述第一通信模块用于通过所述第一通信通道接收所述被请求方利用所述Ra(O)对其生成的随机数Rb(O)进行运算得到的Rb’ (O)以及被所述Rb(O)保护的所述初始请求命令对应的响应命令;所述第一运算模块利用所述Ra(O)对所述Rb’ (O)进行对应运算,得到所述Rb (O);所述第一安全处理模块使用所述Rb (O)来验证所述初始请求命令对应的响应命令的安全性。
13.—种通讯终端,其特征在于,包括第二随机数生成模块、第二命令生成模块、第二安全处理模块和第三通信模块,其中: 所述第二随机数生成模块用于生成随机数Rb(i),i大于或等于I ; 所述第二命令生成模块用于生成与请求方发送的第i个请求命令对应的响应命令; 所述第二安全处理模块用于使用所述Rb (i)对所述第i个请求命令对应的响应命令进行保护;使用请求方生成的随机数Ra (i)来验证所述第i个请求命令的安全性,如果验证通过,则通知所述第二命令生成模块生成所述第i个请求命令对应的响应命令; 所述第三通信模块用于通过第一通信通道接收请求方生成的随机数Ra(i)以及被所述Ra(i)保护的第i个请求命令;通过所述第一通信通道将所述Rb(i)以及被所述Rb(i)保护的第i个请求命令对应的响应命令发送给请求方。
14.如权利要求13所述的通讯终端,其特征在于,所述通讯终端还包括第二掩码模块,用于对所述Rb(i)进行掩码处理,得到Rb’ (i);对所述请求方对其生成的随机数Ra(i)进行掩码处理得到的Ra’ (i)进行解析,得到所述Ra(i);所述第三通信模块用于通过第一通信通道将所述Rb’ (i)以及被所述Rb (i)保护的第i个请求命令对应的响应命令发送给请求方;通过所述第一通信 通道接收所述Ra’ (i)以及被所述Ra(i)保护的第i个请求命令。
15.如权利要求14所述的通讯终端,其特征在于,所述第二掩码模块为第二运算模块,用于对所述Ra⑴与Rb⑴进行运算得到所述Rb’⑴;对所述Ra’⑴与所述Rb(i_l)进行运算得到所述Ra(i),i=l时,所述Rb(1-l)等于Rb(O);所述第二随机数生成模块还用于生成随机数Rb(O);所述通信终端还包括第四通信模块,所述第四通信模块用于通过第二通信通道将所述Rb (O)发送给请求方。
16.如权利要求14所述的通讯终端,其特征在于,所述第二掩码模块为第二运算模块,用于对所述Ra⑴与Rb⑴进行运算得到所述Rb’⑴;对所述Ra’⑴与所述Rb(i_l)进行运算得到所述Ra(i),i=l时,所述Rb(1-l)等于Rb(O);所述第二随机数生成模块还用于生成随机数Rb (O);所述第二运算模块还用于对所述Rb (O)进行掩码处理得到的Rb’ (O);所述第三通信模块还用于通过第一通信通道将所述Rb’ (O)发送给请求方。
17.如权利要求16所述的通讯终端,其特征在于,所述通信终端还包括第四通信模块;所述第四通信模块用于通过第二通信通道接收请求方发送的随机数Ra(O)以及初始请求命令;所述第二运算模块利用所述Ra (O)对所述Rb(O)进行运算,得到所述Rb’ (O);所述第二命令生成模块用于生成与所述初始请求命令对应的响应命令;所述第二安全处理模块使用所述Rb (O)对所述初始请求命令对应的响应命令进行保护;所述第三通信模块用于通过第一通信通道将所述Rb’ (O)以及被所述Rb (O)保护的所述初始请求命令对应的响应命令发送给请求方。
18.一种通讯系统,其特征在于,包括如权利要求8至12任一项所述的第一通信终端,以及如权利要求13至17任一项所述的第二通信终端,所述第一通信终端作为请求方,所述第二通信终端作为被请 求方。
【文档编号】H04W12/06GK103428693SQ201210148976
【公开日】2013年12月4日 申请日期:2012年5月14日 优先权日:2012年5月14日
【发明者】杨贤伟 申请人:国民技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1