密钥协商方法、装置及其设备转让专利

申请号 : CN201710641594.8

文献号 : CN107294714B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 鲜志雄

申请人 : 美的智慧家居科技有限公司美的集团股份有限公司

摘要 :

本发明提出一种密钥协商方法、装置及其设备,其中,方法包括:接收第二设备发送的密钥协商请求;根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥组成第一设备的第一公钥发送给第二设备,以使第二设备对第一公钥进行计算生成第一私钥,通过预设算法对第一私钥进行计算得到加密字符串;接收第二设备发送的加密数据包并解密获取加密字符串和第二设备的第二公钥;应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算;在判断获知计算结果与第一设备的私钥相同时向第二设备发送协商成功消息。由此,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。

权利要求 :

1.一种密钥协商方法,其特征在于,所述方法应用在第一设备,包括以下步骤:接收第二设备发送的密钥协商请求;

根据通信场景确定密钥组数,通过多次的DH加密算法生成与所述密钥组数对应的多个密钥,将所述多个密钥组成所述第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;其中,所述通过预设算法对所述第一私钥进行计算得到加密字符串,包括:所述第一私钥作为加密密码通过预设算法对所述第一私钥进行计加密得到所述加密字符串;

接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;

应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;其中,所述应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥和所述应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥相同;

若判断获知计算结果与所述第一设备的私钥相同,则向所述第二设备发送协商成功消息;其中,所述第一设备的私钥为应用随机数按照预设算法对所述第一设备的公钥进行计算生成。

2.如权利要求1所述的方法,其特征在于,在所述接收所述第二设备发送的加密数据包之前,还包括:与所述第二设备协商所述通用密码,以使所述第二设备应用所述通用密码对所述加密字符串和所述第二设备的第二公钥进行加密处理生成加密数据包。

3.如权利要求1所述的方法,其特征在于,还包括:

根据单片机的运算信息,控制所述DH加密算法中的随机数的数量级。

4.如权利要求1所述的方法,其特征在于,还包括:

根据单片机的运算信息,控制所述DH加密算法中的质数的数据范围。

5.如权利要求1所述的方法,其特征在于,还包括:

当与通信对象协商密钥前,重新生成所述DH加密算法中的随机数。

6.一种密钥协商装置,其特征在于,包括:

第一接收模块,用于接收第二设备发送的密钥协商请求;

处理模块,用于根据通信场景确定密钥组数,通过多次的DH加密算法生成与所述密钥组数对应的多个密钥,将所述多个密钥组成第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;其中,所述通过预设算法对所述第一私钥进行计算得到加密字符串,包括:所述第一私钥作为加密密码通过预设算法对所述第一私钥进行计加密得到所述加密字符串;

第二接收模块,用于接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;

应用计算模块,用于应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;其中,所述应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥和所述应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥相同;

发送模块,用于若判断获知计算结果与所述第一设备的私钥相同,则向所述第二设备发送协商成功消息;其中,所述第一设备的私钥为应用随机数按照预设算法对所述第一设备的公钥进行计算生成。

7.如权利要求6所述的装置,其特征在于,还包括:

协商模块,用于与所述第二设备协商所述通用密码,以使所述第二设备应用所述通用密码对所述加密字符串和所述第二设备的第二公钥进行加密处理生成加密数据包。

8.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一项所述的密钥协商方法。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的密钥协商方法。

说明书 :

密钥协商方法、装置及其设备

技术领域

[0001] 本发明涉及信息安全技术领域,尤其涉及一种密钥协商方法、装置及其设备。

背景技术

[0002] 通常,为保证通讯的安全性,都需要进行认证。相关技术中,通用的加密认证方式,通用性太强,容易被第三方抓取通讯数据包分析破解;或者是不用系统默认的认证方式,但使用默认的加密密钥,使用对称的加密方法仍然容易被破解;还是使用RSA非对称加密,但是RSA加密运算量大,普通的硬件资源计算需要耗时更长,影响用户体验,成本也比较高。

发明内容

[0003] 本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。
[0004] 为此,本发明的第一个目的在于提出一种密钥协商方法,用于解决现有技术中协商密钥的方法对于安全性和效率不能够兼得的问题,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。
[0005] 本发明的第二个目的在于提出一种密钥协商装置。
[0006] 本发明的第三个目的在于提出一种计算机设备。
[0007] 本发明的第四个目的在于提出一种计算机程序产品。
[0008] 本发明的第五个目的在于提出一种计算机可读存储介质。
[0009] 为达上述目的,本发明第一方面实施例提出了一种密钥协商方法,包括:接收第二设备发送的密钥协商请求;根据通信场景确定密钥组数,通过多次的DH(Diffie-Hellman)加密算法生成与所述密钥组数对应的多组密钥,将所述多个密钥组成所述第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;若判断获知计算结果与所述所述第一设备的私钥相同,则向所述第二设备发送协商成功消息。
[0010] 本发明实施例的密钥协商方法,通过接收第二设备发送的密钥协商请求后根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,然后将多个密钥组成第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串;接收第二设备发送的加密数据包,应用预设的通用密码解密加密字符串和第二设备的第二公钥;应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算;若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。由此,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。
[0011] 另外,根据本发明上述实施例的密钥协商还可以具有如下附加的技术特征:
[0012] 可选地,在所述接收所述第二设备发送的加密数据包之前,还包括:与所述第二设备协商所述通用密码,以使所述第二设备应用所述通用密码对所述加密字符串和所述第二设备的第二公钥进行加密处理生成加密数据包。
[0013] 可选地,所述的方法,还包括:根据单片机的运算信息,控制所述DH加密算法中的随机数的数量级。
[0014] 可选地,所述的方法,还包括:根据单片机的运算信息,控制所述DH加密算法中的质数的数据范围。
[0015] 可选地,所述的方法,还包括:当与通信对象协商密钥前,重新生成所述DH加密算法中的随机数。
[0016] 为达上述目的,本发明第二方面实施例提出了一种密钥协商装置,包括:第一接收模块,用于接收第二设备发送的密钥协商请求;处理模块,用于根据通信场景确定密钥组数,通过多次的DH加密算法生成与所述密钥组数对应的多组密钥,将所述多个密钥组成所述第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;第二接收模块,用于接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;应用计算模块,用于应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;发送模块,用于若判断获知计算结果与所述第一设备的私钥相同,则向所述第二设备发送协商成功消息。
[0017] 本发明实施例的密钥协商装置,通过接收第二设备发送的密钥协商请求后根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,然后将多个密钥组成第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串;接收第二设备发送的加密数据包,应用预设的通用密码解密获取加密字符串和第二设备的第二公钥;应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算;若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。由此,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。
[0018] 为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的密钥协商方法。
[0019] 为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行一种密钥协商方法,所述方法包括:接收第二设备发送的密钥协商请求;根据通信场景确定密钥组数,通过多次的DH(Diffie-Hellman)加密算法生成与所述密钥组数对应的多组密钥,将所述多个密钥组成所述第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;若判断获知计算结果与所述所述第一设备的私钥相同,则向所述第二设备发送协商成功消息。
[0020] 为达上述目的,本发明第五方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种密钥协商方法,所述方法包括:接收第二设备发送的密钥协商请求;根据通信场景确定密钥组数,通过多次的DH(Diffie-Hellman)加密算法生成与所述密钥组数对应的多组密钥,将所述多个密钥组成所述第一设备的第一公钥发送给所述第二设备,以使所述第二设备应用随机数按照预设算法对所述第一公钥进行计算生成第一私钥,并通过预设算法对所述第一私钥进行计算得到加密字符串;接收所述第二设备发送的加密数据包,应用预设的通用密码解密获取所述加密字符串和所述第二设备的第二公钥;应用所述随机数按照预设算法对所述第二公钥进行计算得到第二私钥,并通过所述第二私钥对所述加密字符串进行计算;若判断获知计算结果与所述所述第一设备的私钥相同,则向所述第二设备发送协商成功消息。
[0021] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0022] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0023] 图1是根据本发明一个实施例的密钥协商方法的流程示意图;
[0024] 图2是根据本发明一个实施例的密钥协商装置的结构示意图;
[0025] 图3是根据本发明另一个实施例的密钥协商装置的结构示意图;
[0026] 图4是根据本发明又一个实施例的密钥协商装置的结构示意图;
[0027] 图5是根据本发明一个实施例的计算机设备的结构示意图。

具体实施方式

[0028] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0029] 下面参考附图描述本发明实施例的密钥协商方法、装置及其设备。
[0030] 具体地,现有技术中的为了保证通讯的安全性,需要通过相关方式进行认证。一般的使用对称的加密方法仍然容易被破解;使用RSA非对称加密,但是RSA加密运算量大,普通的硬件资源计算需要耗时更长,影响用户体验,成本也比较高。
[0031] 为了解决上述问题,本发明提出一种密钥协商方法,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。具体如下:
[0032] 图1是根据本发明一个实施例的密钥协商方法的流程示意图。如图1所示,该密钥协商方法包括:
[0033] 需要说明的是,本实施例的密钥协商方法可以用于但不限于蓝牙通讯、WiFi数据传输等方面中。
[0034] 步骤101,接收第二设备发送的密钥协商请求。
[0035] 步骤102,根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,将多个密钥组成所述第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串。
[0036] 具体地,在实际应用中,第一设备需要与第二设备进行通讯,需要进行认证,从而需要密钥协商的过程。首先第一设备可以通过有线或者无线等连接向第二设备发送密钥协商请求、或者第一设备接收第二设备发送的密钥协商请求。可以理解的是,任一设备都可以发起密钥协商请求。本发明实施例的密钥协商方法以第一设备侧进行描述,接收第二设备发送的密钥协商请求。
[0037] 进一步地,第一设备可以根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,将多个密钥组成第一设备的第一公钥发送给第二设备。
[0038] 其中,可以根据具体不同的通信场景确定不同的密钥组数,比如通信场景为蓝牙通讯,确定密钥组数为16组、32组等等。
[0039] 进一步地,在确定密钥组数后可以通过多次的DH加密算法生成与密钥组数对应的多组密钥。
[0040] 其中,DH算法的具体过程可以结合下面公式详细说明:
[0041] 具体地,如公式(1)所示,
[0042] (Ga*b)modp=(Gamodp)bmodp=(Gbmodp)amodp   (1)
[0043] 其中,G及P为固定数(密钥协商的公共质数,明文),a及b为随机数(需保密,只有协商者自己知道)。(Ga*b)modp为公共密钥即作为密钥。
[0044] 需要说明的是,G及P的取值范围,相对较小。
[0045] 具体地,按照预设算法将多个密钥组成第一公钥,第一公钥可以128位的密钥,或者是256位的密钥等等。
[0046] 进一步地,第二设备在接收到第一公钥后,可以应用随机数按照预设算法对第一公钥进行计算生成第一私钥。并进一步把第一私钥当做加密对象和第一私钥当做加密密码通过预设算法对第一私钥进行计算得到加密字符串。其中,预设算法可以根据实际应用需要进行选择设置。
[0047] 需要说明的是,在一次密钥协商过程中,随机数保持不变。
[0048] 步骤103,接收第二设备发送的,应用预设的通用密码解密获取加密字符串和第二设备的第二公钥。
[0049] 步骤104,应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算。
[0050] 步骤105,若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。
[0051] 可以理解的是,第二设备发送的数据包是通过通用密钥加密的,因此,第一设备在接收到数据包后,需要应用预设的通用密码解密获取加密字符串和第二设备的第二公钥。
[0052] 因此,在步骤103之前,还包括:与第二设备协商通用密码,以使第二设备应用通用密码对加密字符串和第二设备的第二公钥进行加密处理生成加密数据包。
[0053] 其中,本发明实施例中,密钥KEY=F(“X”),x=为字串常量,但X是不同模块有不同的算法。每一个模块X固定。不同模块通用密钥不相同,通用密钥的获取是按照KEY=F(“K”)来处理的,其中,算法F保密。
[0054] 进一步地,第一设备在获取第二公钥后,应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算,并在判断获知计算结果与第一设备的私钥相同时向第二设备发送协商成功消息。
[0055] 其中,第一设备的私钥可以可以应用随机数按照预设算法对第一公钥进行计算生成的私钥。
[0056] 需要说明的是,在本发明实施例中,通过DH加密算法进行处理得到的公钥不同,但是通过应用随机数按照预设算法对公钥进行计算得到的私钥是相同的。
[0057] 其中,判断获知计算结果与第二私钥不相同时,第一设备不在进行下一步处理,直接向第二设备发送协商失败消息;在判断获知计算结果与第一私钥不相同时直接向第二设备发送协商失败消息。
[0058] 从而,将相对简单的DH加密算法经过优化处理,使其获得协商密钥变得复杂难以破解,从而使无线连接更加安全,DH算法共享密钥的耗时比RSA快10倍以上,且经过改进行的DH算法安全性与RSA的安全性相当。
[0059] 综上所述,本发明实施例的密钥协商方法,通过接收第二设备发送的密钥协商请求后根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,然后将多个密钥组成第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串;接收第二设备发送的加密数据包,应用预设的通用密码解密获取加密字符串和第二设备的第二公钥;应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算;若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。由此,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。
[0060] 基于上述实施例,为了进一步提高密钥协商的效率的同时保证了安全性,可以应用单片机进行运算。
[0061] 具体地,根据单片机的运算信息,控制DH加密算法中的随机数的数量级和根据单片机的运算信息,控制DH加密算法中的质数的数据范围。
[0062] 具体地,为了适应单片机的运算量,将运算的随机数控制在个位数(2-9)。G控制在10以内的质数,P是2-127以内的质数。
[0063] 由此,能在单片机级处理器上完成相对安全的加密算法,降低了安全对硬件的要求,也适当降低成本。
[0064] 可以理解的是,每次协商密钥都会生成新的随机数组。具体地,当与通信对象协商密钥前,重新生成DH加密算法中的随机数,进而重新计算共享密钥;应用新的共享密钥加密通信数据。由此,密钥协商过程相对简单且安全,密钥的难度及安全性相对较高。
[0065] 与上述几种实施例提供的密钥协商方法相对应,本发明的一种实施例还提供一种密钥协商装置,由于本发明实施例提供的密钥协商装置与上述几种实施例提供的密钥协商方法相对应,因此在前述密钥协商方法的实施方式也适用于本实施例提供的密钥协商装置,在本实施例中不再详细描述。
[0066] 图2是根据本发明一个实施例的密钥协商装置的结构示意图。如图2所示,该密钥协商装置包括:其中,第一接收模块11、处理模块12、第二接收模块13、应用计算模块14和发送模块15。
[0067] 其中,第一接收模块11,用于接收第二设备发送的密钥协商请求。
[0068] 处理模块12,用于根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,将多个密钥组成第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串。
[0069] 第二接收模块13,用于接收第二设备发送的加密数据包,应用预设的通用密码解密获取加密字符串和第二设备的第二公钥。
[0070] 应用计算模块14,用于应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算。
[0071] 发送模块15,用于若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。
[0072] 其中,在本发明的一个实施例中,如图3所示,在图2的基础上,该密钥协商装置还包括:协商模块16。
[0073] 其中,协商模块16,用于与第二设备协商所述通用密码,以使第二设备应用通用密码对加密字符串和第二设备的第二公钥进行加密处理生成加密数据包。
[0074] 其中,在本发明的一个实施例中,如图4所示,在图2的基础上,该密钥协商装置还包括:第一控制模块17、第二控制模块18和第三生成模块19。
[0075] 其中,第一控制模块17,用于根据单片机的运算信息,控制DH加密算法中的随机数的数量级。
[0076] 第二控制模块18,用于根据单片机的运算信息,控制DH加密算法中的质数的数据范围。
[0077] 第三生成模块19,用于当与通信对象协商密钥前,重新生成DH加密算法中的随机数。
[0078] 综上所述,本发明实施例的密钥协商装置,通过接收第二设备发送的密钥协商请求后根据通信场景确定密钥组数,通过多次的DH加密算法生成与密钥组数对应的多组密钥,然后将多个密钥组成第一设备的第一公钥发送给第二设备,以使第二设备应用随机数按照预设算法对第一公钥进行计算生成第一私钥,并通过预设算法对第一私钥进行计算得到加密字符串;接收第二设备发送的加密数据包,应用预设的通用密码解密获取加密字符串和第二设备的第二公钥;应用随机数按照预设算法对第二公钥进行计算得到第二私钥,并通过第二私钥对加密字符串进行计算;若判断获知计算结果与第一设备的私钥相同,则向第二设备发送协商成功消息。由此,能够快速生成复杂难以破解的密钥,提高密钥协商的效率的同时保证了安全性。
[0079] 本发明提出一种计算机设备,图5是根据本发明一个实施例的计算机设备的结构示意图。如图5所示,存储器21、处理器22及存储在存储器21上并可在处理器22上运行的计算机程序。
[0080] 处理器22执行所述程序时实现上述实施例中提供的密钥协商方法。
[0081] 进一步地,计算机设备还包括:
[0082] 通信接口23,用于存储器21和处理器22之间的通信。
[0083] 存储器21,用于存放可在处理器22上运行的计算机程序。
[0084] 存储器21可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0085] 处理器22,用于执行所述程序时实现上述实施例所述的密钥协商方法。
[0086] 如果存储器21、处理器22和通信接口23独立实现,则通信接口21、存储器21和处理器22可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0087] 可选的,在具体实现上,如果存储器21、处理器22及通信接口23,集成在一块芯片上实现,则存储器21、处理器22及通信接口23可以通过内部接口完成相互间的通信。
[0088] 处理器22可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0089] 本发明提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行上述实施例所述的密钥协商方法。
[0090] 本发明提出一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述的密钥协商方法。
[0091] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0092] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0093] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0094] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0095] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0096] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0097] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0098] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。