一种用于确定密钥对的方法及装置、数据处理方法_2

文档序号:9673054阅读:来源:国知局
相互结合,所形成的技术方案均在本发明的保护范围之内。
[0045]同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
[0046]另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0047]目前,针对端到端加密传输尤其是语音加密传输的密钥管理体制正逐渐引起业内各界人士关注,所提出的技术方案已在特定场合采用。
[0048]其中一种比较直接的方式是为端加密传输建立集中式的KDC/KTC中心,由KDC/KTC为收发双方选取密钥,并通过特定的保密信道发送给收发双方。该方案的主要缺陷在于需要额外建立企业级的KDC/KTC中心,投资较大。此外,KDC/KTC中心及保密通道的安全性和稳定性至为重要,一旦失效或者被攻击,将导致所有通信链路中断或者全系统数据的泄密。
[0049]另一种方法是由数据发送端和数据接收端利用特定的信令通道通过点对点方式进行密码协商,并将用于语音或者数据加密的公钥通过特定的信道传送至对端。采用此技术方案,一方面需要考虑更严密或者更高层次的加密措施确保密钥传输渠道的安全;另一方面,每次数据通讯都需要协商密钥,将导致额外的信令开销和连接建立时延。
[0050]针对现有技术中存在的上述问题,本发明提供了一种基于非交换式的密钥协作机制来进行数据处理,使得收发双方无需通过KTC/KDC等密钥管理实体,即可“约定”加密密钥,实现语音及数据信息的加密传输,解决当前无线通信过程中的信息泄密问题。
[0051 ]图1示出了本实施例所提供的数据处理方法的流程图。
[0052]如图1所示,本实施例所提供的数据处理方法在步骤S101中数据收发双方通过运营商技术设施建立通信连接。
[0053]在密钥对索引值生成步骤S102中,该方法根据预设密钥对索引初值、扰码值以及进行数据通信的设备的ID,确定密钥对索引值。本实施例中,用于数据加密和解密的密钥对是以码本形式固化到一个ROM或者手机Trustzone等安全存储区域中的。从图2所示,本实施例中安全存储区域中所存储的密钥对数据既包括用于点对点通信的密钥对数据,也包括用于组播/广播的密钥对数据,其中,用于对点通信的密钥对数据为N-k组,而用于组播/广播的密钥对数据为k组。
[0054]需要说明的是,在本发明的其他实施例中,当数据收发设备的数据传输方式为点对点传输时,安全存储区域中还可以仅存储用于对点通信的密钥对,而当数据收发设备的数据传输方式为组播或广播时,安全存储区域中还可以仅存储用于组播/广播的密钥对,本发明不限于此。
[0055]同时,还需要指出的是,在本发明的不同实施例中,密码本的大小可以根据整个加密系统的用户规模(即整个加密系统中所包含的设备数量)来进行估算和设置。ROM或者手机Trustzone等安全存储区域实体存储的密钥采用更高层次的密钥进行加密处理,其只能由特定的设备或应用来进行读取或解密,以防备密钥的外泄。同时,在包含安全存储区域的设备(例如手机)遗失的情况下,还可以通过远程管理中心向包含安全存储区域的设备发送指令来进行数据锁定或删除,从而确保密钥以及相关数据的安全。
[0056]具体地,本实施例中,在步骤S102中通过不可溯源的内置模块来确定密钥对索引值。其中,密钥对索引值是基于数据收发双方的用户ID、密码对索弓I初值Ikey—int、扰码值Pt等数据利用预设算法(例如Harsh算法)映射得到。具体地,本实施例中,可以根据如下表达式确定密钥对索引值Ikey:
[0057]Ikey = FHarsh(IDA, IDb, Pt, Ikey—int)mod(N-k)(1)
[0058]其中,IDa和IDb分别表示数据接收设备和数据发送设备的ID,Pt表示基于时间跳变的扰码值,Ikey—lnt表示预设密钥对索引初值,N = 2n表示安全存储区内存储的密钥对的总数量,k表示安全存储区内存储的用于支持组播/广播的密钥对的数量。
[0059]本实施例中,预设密钥对索引初值Ikey—int优选地为零。需要指出的是,在本发明的其他实施例中,基于安全性增强的考虑,预设密钥对索引初值Ikey—lnt还可以在通信连接建立前由数据收发双方通过点对点的数据签名过程协商得出,本发明不限于此。
[0060]扰码值Pt是与当前时间t有关的PN序列码,它是以当前时间t为输入采用m级PN序列码生成器生成的。从表达式(1)中可以看出,由于通信连接建立时间的不同将使得扰码值Pt随时间随机跳变,再结合Harsh值计算过程的不可追溯性,因此本实施例所提供的方法能够有效确保密钥对的抗攻击能力。
[0061]再次如图1所示,当在步骤S102中得到密钥对索引值后,在步骤S103中根据所得到的密钥对索引值从安全存储区域中确定出所述需要的密钥对数据。具体地,当在步骤S102中得到的密钥对索引值为i(0 < i <N-k)时,在步骤S103中则会从安全存储区域中提取该密钥对索引值所对应的密钥对数据,即经高层密钥加密的第i个密钥对数据。
[0062]在密钥对确定步骤S104中,利用高层密钥对步骤S104中所得到的密钥对数据进行解密,从而得到所需要的密钥对(包括公钥和私钥)。
[0063]至此,数据收发双方便完成了密钥对的确定过程。
[0064]当得到所需要的密钥对后,在步骤S105中判断通信连接是否建立成功。如果通信连接建立成功,则执行步骤S106以利用公钥对待发送数据进行加密,或是利用私钥对接收到的数据进行解密;而如果通信连接没有建立成功,那么则返回步骤S101以重新建立通信连接。
[0065]在步骤S107中会判断本次通信是否结束。如果通信未结束,则继续执行步骤S106;否则执行步骤S108以删除所得到密钥对,以防止其他非法应用窃取该密钥对,从而保证了密钥对的安全性,继而保证了传输数据的安全性。
[0066]需要说明的是,在本发明的其他实施例中,数据的收发还可以是以组播或广播加密通信的方式进行传输的,在这种情况下,在步骤S102中则会根据组播ID或广播ID、扰码值Pt以及密码对索引初值Ikey—int来确定密钥对索引值Ikey。
[0067]具体地,在该实施例中,根据如下表达式确定密钥对索引值Ik#:
[0068]Ikey = FHarsh ( IDc , 0 , Pt, Ikey_int )mod ( k ) + ( N~k ) (2)
[0069]其中,IDc表示组播ID或广播ID。
[0070]本实施例还提供了一种用于确定密钥对的装置,图3示出了该装置的结构示意图。
[0071]如图3所示,本实施例所提供的用于确定密钥对的装置包括:密钥对数据存储模块301、密钥对索引值生成模块302、密钥对数据确定模块303以及密钥对数据解密模块304。其中,密钥对数据存储模块301用于存储密钥对数据,密钥对数据为经预设高层密钥加密的密钥对。
[0072]密钥对数据存储模块301即为安全存储区域,其采用更高层次的密钥(即预设高层密钥)来对所存储的数据进行加密。本实施例中,密钥对数据存储模块采用ROM来实现。需要说明的是,在本发明的不同实施例中,密钥对数据存储模块301还可以采用其他合理的元器件或电路来实现,本发明不限于此。例如在本发明的一个实施例中,密钥对数据存储模块301还可以采用Trustzone来实现。
[0073]如图2所示,本实施例中,密钥对数据存储模块301中既存储了用户点对点通信的密钥对数据,也存储了用于组播、广播通信的密钥对数据。
[0074]密钥对索引值生成模块302用于根据预设密钥对索引初值、扰码值以及进行数据通信的设备的ID,确定密钥对索引值。其中,当数据收发双方为点到点通信时,密钥对索引值生成模块302会根据数据收发双方的用户ID、密码对索引初值Ikey—int、扰码值Pt等数据利用预设算法(例如Harsh算法)来确定出密钥对索引值。
[0075]具体地,本实施例中,当数据收发双方为点到点通信时,密钥对索引值生成模块302根据如下表达式来确定密钥对索引值I—:
[0076]Ikey = FHarsh(IDA, IDb, Pt, Ikey—int)mod(N-k)(3)
[0077]其中,IDA和IDb分别表示数据接收设备和数据发送设备的ID,Pt表示基于时间跳变的扰码值,Ikey—lnt表示预设密钥对索引初值,N = 2n表示安全存储区内存储的
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1