一种密钥配置方法、系统和装置与流程

文档序号:17954340发布日期:2019-06-19 00:19阅读:292来源:国知局
一种密钥配置方法、系统和装置与流程

本发明涉及网络通信技术领域,特别涉及一种密钥配置方法、系统和装置。



背景技术:

WiFi(Wireless Fidelity,无线保真)技术从1997年无线局域网标准IEEE802.11发布以来,在拥有众多在业界领先的公司组成的WiFi联盟的大力推动下,同时以其具有的部署快速、使用便利和传输速率高等优势,发展迅猛。WiFi技术现在已经被广泛应用于各个行业,现在的笔记本电脑、PDA(Personal Digital Assistant,掌上电脑)和手机等都支持WiFi技术,WiFi网络的接入点遍布于酒店、咖啡厅、学校和医院等场所,可以说WiFi技术在生活中无所不在。

随着WiFi技术的发展和广泛应用,与之相关的安全技术需求也随之产生,WP A(Wi-Fi Protected Access,WiFi安全接入)是WiFi中使用的安全技术,它需要用户设置Credential(信任状,包括帐号名、密码)以及WPA相关的其它参数,例如加密算法等等,但当用户不理解这些参数的含义时,因此就不懂如何设置这些参数,从而阻碍了WPA安全技术的应用,这就会导致用户因为不懂如何设置WPA参数而选择在没有安全机制保护的情况下使用网络。WPS(WiFi Protected Setup,Wifi安全建立)就是为了帮助用户设置信任状的技术。WPS主要强调两点:安全和简单,即配置过程要简单,配置后的网络要安全。现有的WPS主要基于密钥交换算法防止偷听、字典攻击等某些攻击行为。

目前WPS应用的场景,主要包括以下两种:第一种是作为enrollee(被注册方)的终端与作为registrar(注册器)的WiFi网络的AP(Access Point,接入点)之间进行信任状的配置,以便后续终端与AP之间能够基于信任状进行认证以建立安全的连接。第二种是P2P(Peer to Peer,点到点)场景中的认证配置过程,WiFi技术中P2P的研究是为了在没有诸如蜂窝网或热点等基础设施的情况下,终端设备之间也能够通过WiFi功能实现端到端的直接发现,在该场景下,一个终端作为client(客户端),另一个终端作为GO(Group Owner,组长设备),在client和GO之间进行密钥的配置,以便后续client和GO之间能够基于配置的密钥进行数据交互。

WiFi技术逐步应用于诸如智能电网、传感器网络、医疗网络等新领域,大量WiFi设备属于无头设备(Headless Devices),所谓无头设备就是没有显示屏幕、没有键盘、没有近场通信等人机接口的设备,对于这些无头设备之间的连接就需要一个第三方的配置设备来实现,例如通过配置设备将AP和机顶盒连接起来,或者通过配置设备将传感器和传感器连接起来等等。对于这种基于第三方的配置设备的帮助在两个设备之间进行的密钥配置现有技术中采用如下方式:

如图1中所示,配置设备扫描第一设备上的二维码,获取二维码中包含的第一设备的密码信息,并且扫描第二设备上的二维码,获取二维码中包含的第二设备的密码信息;配置设备基于第一设备的密码信息与第一设备执行WPS交互过程,并生成密钥key1,利用第一设备的密码信息对key1进行加密后发送给第一设备;以及配置设备基于第二设备的密码信息与第二设备执行WPS交互过程,并生成密钥key2,利用第二设备的密码信息对key2进行加密后发送给第二设备。之后,第一设备和第二设备就基于key1和key2进行安全连接,即基于key1和key2进行交互。

然而,上述方式中由于第一设备和第二设备的密码信息处于公开状态,易于被非法获取,即任何第三方的设备都能够获取到并生成密钥后发送给第一设备和第二设备,这样就很容易对第一设备和第二设备之间的交互进行偷听,安全性较差。



技术实现要素:

有鉴于此,本发明实施例提供了一种基于第三方配置设备的密钥配置方法、系统和装置,以便于提高第一设备和第二设备之间交互的安全性。

第一方面,本发明实施例提供了一种密钥配置方法,所述密钥配置方法包括:

第一设备接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥;利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备,或者所述第一设备利用所述第二设备的公钥生成第一共享密钥,将用于得到所述第一共享密钥的信息发送给所述第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第一方面,在第一种可能的实现方式中,所述第一设备利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:所述第一设备生成密码,将所述密码作为第一共享密钥,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,将所述密码作为第一共享密钥;或者,

所述第一设备生成第一共享密钥,利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:所述第一设备生成密码,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备,利用密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为第一共享密钥;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,利用所述密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为所述第一共享密钥。

结合第一方面,在第二种可能的实现方式中,所述第一设备生成第一共享密钥,利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:所述第一设备生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后,将加密结果发送给第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述随机值,利用所述第一设备与第二设备约定的信息和所述随机值生成所述第一共享密钥。

结合第一方面,在第三种可能的实现方式中,利用所述第二设备的公钥将用于得到所述第一共享密钥的信息发送给所述第二设备包括:所述第一设备利用第二设备的公钥将第一设备的公钥进行加密后,将加密结果发送给第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密后,得到所述第一设备的公钥,并且生成密码,将该密码作为所述第一共享密钥;

该方法还包括:第一设备接收所述第二设备利用所述第一设备的公钥将该密码进行加密后的加密结果,利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为所述第一共享密钥。

结合第一方面,在第四种可能的实现方式中,该方法还包括:所述第一设备和所述第二设备预定密钥交换算法;

所述第一设备利用第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给第二设备包括:所述第一设备利用第二设备的公钥和自身的私钥按照所述密钥交换算法生成第一共享密钥,并将第一设备的公钥发送给所述第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥以及所述第一设备的公钥按照所述密钥交换算法生成第一共享密钥。

结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第一设备和所述第二设备预定密钥交换算法包括:

所述第一设备和所述第二设备上预先配置有所述密钥交换算法所使用的参数;或者,

通过所述配置设备将所述密钥交换算法所使用的参数发送给所述第一设备和所述第二设备。

结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式或者第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接包括:

所述第一设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给所述第二设备;以便所述第二设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接;或者,

所述第一设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对所述第二设备发送的信任状的加密结果进行解密得到所述信任状,所述信任状的加密结果为所述第二设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对所述信任状进行加密后得到,所述信任状用于所述第一设备和所述第二设备之间的安全连接。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,若所述第一设备是注册器Registrar、中心节点或者组长设备GO,则由所述第一设备生成所述信任状并将所述信任状的加密结果发送给所述第二设备;

若所述第二设备是Registrar、中心节点或GO,则由所述第二设备生成所述信任状并将所述信任状的加密结果发送给所述第一设备。

结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式、第一方面的第五种可能的实现方式、第一方面的第六种可能的实现方式或者第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述第一设备接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥具体为:

所述第一设备接收配置设备在获取到所述第二设备的公钥和所述第一设备的公钥后发送的加密结果,所述加密结果为所述配置设备利用所述第一设备的公钥加密的所述第二设备的公钥;

该方法还包括:所述第一设备对所述加密结果进行解密,得到所述第二设备的公钥。

结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式、第一方面的第五种可能的实现方式、第一方面的第六种可能的实现方式或者第一方面的第七种可能的实现方式,在第九种可能的实现方式中,所述第一设备接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥具体为:

所述第一设备与所述配置设备建立安全连接以生成第二共享密钥;

所述第一设备接收所述配置设备在获取到第二设备的公钥后发送的加密结果,所述加密结果为所述配置设备利用所述第二共享密钥加密的所述第二设备的公钥;

该方法还包括:

所述第一设备利用所述第二共享密钥对接收到的所述加密结果进行解密后,得到所述第二设备的公钥。

结合第一方面的第九种可能的实现方式,在第十种可能的实现方式中,所述第一设备与所述配置设备建立安全连接以生成第二共享密钥包括:

所述第一设备与所述配置设备通过无线保真安全建立WPS交互方式共享信任状,将所述信任状作为所述第二共享密钥;或者,

所述第一设备接收所述配置设备发送的所述配置设备的公钥,所述第一设备利用所述配置设备的公钥和自身的私钥按照预先约定的密钥交换算法生成所述第二共享密钥,以便所述配置设备获取到所述第一设备的公钥后,利用所述第一设备的公钥和自身的私钥按照预先约定的密钥交换算法生成所述第二共享密钥。

结合第一方面的第四种可能的实现方式,在第十一种可能的实现方式中,在所述第一设备得到所述第二设备的公钥之后,所述方法还包括:所述第一设备生成新的公钥和新的私钥;

所述第一设备发送给所述第二设备的第一设备的公钥为所述新的公钥;所述第二设备在生成所述第一共享密钥时利用的第一设备的公钥为所述新的公钥;所述第一设备在生成所述第一共享密钥时利用的自身的私钥为所述新的私钥。

结合第一方面、第一方面的第一种至第十一种可能的实现方式中的任一种,在第十二种可能的实现方式中,所述第一设备是被注册方enrollee,所述第二设备是registrar,或者所述第一设备是客户端client,所述第二设备是GO,或者所述第一设备是无线终端,所述第二设备是接入点,或者所述第一设备是中心节点,所述第二设备是传感器节点。

结合第一方面、第一方面的第一种至第十二种可能的实现方式中的任一种,在第十三种可能的实现方式中,该方法还包括:所述第一设备根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的步骤,所述第二设备的信道信息为所述配置设备从所述第二设备获取后发送给所述第一设备的。

结合第一方面、第一方面的第一种至第十三种可能的实现方式中的任一种,在第十四种可能的实现方式中,所述配置设备通过扫描二维码、通用串行总线USB或者近场通信的方式从所述第一设备或者第二设备获取信息。

结合第一方面、第一方面的第一种至第十四种可能的实现方式中的任一种,在第十五种可能的实现方式中,该方法还包括:所述第一设备利用所述第二设备的公钥生成验证值,将所述验证值发送给所述第二设备;

以便所述第二设备在生成所述第一共享密钥之前,利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成所述第一共享密钥的步骤。

第二方面,本发明实施例提供了一种密钥配置方法,所述密钥配置方法包括:

所述配置设备获取第二设备的公钥,将所述第二设备的公钥发送给第一设备;

以便所述第一设备利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备;或者以便所述第一设备利用所述第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给所述第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第二方面,在第一种可能的实现方式中,以便所述第一设备利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:以便所述第一设备生成密码,将所述密码作为第一共享密钥,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,将所述密码作为第一共享密钥;或者,

以便所述第一设备生成第一共享密钥,利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:以便所述第一设备生成密码,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备,利用密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为第一共享密钥;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,利用所述密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为所述第一共享密钥。

结合第二方面,在第二种可能的实现方式中,以便所述第一设备生成第一共享密钥,利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备包括:以便所述第一设备生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后,将加密结果发送给第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述随机值,利用所述第一设备与第二设备约定的信息和所述随机值生成所述第一共享密钥。

结合第二方面,在第三种可能的实现方式中,以便所述第一设备利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备包括:以便所述第一设备利用第二设备的公钥将第一设备的公钥进行加密后,将加密结果发送给第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥对所述加密结果进行解密后,得到所述第一设备的公钥,并且生成密码,将该密码进行加密后,将加密结果发送给所述第一设备;

以便所述第一设备利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为第一共享密钥。

结合第二方面,在第四种可能的实现方式中,所述方法还包括:所述第一设备和所述第二设备预定密钥交换算法;

以便所述第一设备利用第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给第二设备包括:以便所述第一设备利用第二设备的公钥和自身的私钥按照所述密钥交换算法生成第一共享密钥,并将第一设备的公钥发送给所述第二设备;

以便所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:以便所述第二设备利用自身的私钥以及所述第一设备的公钥按照所述密钥交换算法生成第一共享密钥。

结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第一设备和所述第二设备预定共享密钥交换算法包括:

所述第一设备和所述第二设备上预先配置有所述密钥交换算法所使用的参数;或者,

所述配置设备将所述密钥交换算法所使用的参数发送给所述第一设备和所述第二设备。

结合第二方面、第二方面的第一种至第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述配置设备获取第一设备的公钥;

所述配置设备将所述第二设备的公钥发送给第一设备包括:所述配置设备利用所述第一设备的公钥加密所述第二设备的公钥,将加密结果发送给所述第一设备;以便所述第一设备对所述加密结果进行解密,得到所述第二设备的公钥。

结合第二方面、第二方面的第一种至第五种可能的实现方式中的任一种,在第七种可能的实现方式中,该方法还包括:所述配置设备与所述第一设备建立安全连接以生成第二共享密钥;

将所述第二设备的公钥发送给第一设备包括:所述配置设备利用所述第二共享密钥将所述第二设备的公钥进行加密后,将加密结果发送给所述第一设备;以便所述第一设备利用所述第二共享密钥对接收到的加密结果进行解密后,得到所述第二设备的公钥。

结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述配置设备与所述第一设备建立安全连接以生成第二共享密钥包括:

所述配置设备与所述第一设备通过WPS交互方式共享信任状,将所述信任状作为所述第二共享密钥;或者,

所述配置设备将自身的公钥发送给所述第一设备,所述配置设备和所述第一设备分别利用对方的公钥和自身的私钥按照预先约定的密钥交换算法生成所述第二共享密钥。

结合第二方面、第二方面的第一种至第八种可能的实现方式中的任一种,在第九种可能的实现方式中,所述第一设备是被注册方enrollee,所述第二设备是registrar,或者所述第一设备是客户端client,所述第二设备是GO,或者所述第一设备是无线终端,所述第二设备是接入点,或者所述第一设备是中心节点,所述第二设备是传感器节点。

结合第二方面、第二方面的第一种至第九种可能的实现方式中的任一种,在第十种可能的实现方式中,该方法还包括:所述配置设备获取第二设备的信道信息并发送给所述第一设备;以便所述第一设备根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的步骤。

结合第二方面、第二方面的第一种至第十种可能的实现方式中的任一种,在第十一种可能的实现方式中,所述配置设备通过扫描二维码、通用串行总线USB或者近场通信的方式从所述第一设备或者第二设备获取信息。

第三方面,本发明实施例提供了一种密钥配置方法,该方法包括:

第二设备向配置设备提供第二设备的公钥,以便所述配置设备将所述第二设备的公钥发送给第一设备;

所述第二设备接收所述第一设备利用所述第二设备的公钥发送来的用于得到第一共享密钥的信息;或者接收所述第一设备利用所述第二设备的公钥生成第一共享密钥后,发送来的用于得到第一共享密钥的信息;

所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第三方面,在第一种可能的实现方式中,所述第二设备接收所述第一设备利用第二设备的公钥发送来的用于得到第一共享密钥的信息包括:所述第二设备接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成密码,将所述密码作为第一共享密钥,利用所述第二设备的公钥将所述密码进行加密得到的;

所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,将所述密码作为第一共享密钥;或者,

所述第二设备接收所述第一设备利用第二设备的公钥发送来的用于得到第一共享密钥的信息包括:所述第二设备接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成密码后,利用所述第二设备的公钥将所述密码进行加密得到的;

所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,利用所述密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为所述第一共享密钥。

结合第三方面,在第二种可能的实现方式中,所述第二设备接收所述第一设备利用第二设备的公钥发送来的用于得到第一共享密钥的信息包括:所述第二设备接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成随机值,利用第二设备的公钥对该随机值进行加密后得到的,所述第一设备利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥;

所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:所述第二设备利用自身的私钥对所述加密结果进行解密得到所述随机值,利用所述第一设备与第二设备约定的信息和所述随机值生成所述第一共享密钥。

结合第三方面,在第三种可能的实现方式中,所述第二设备接收所述第一设备利用所述第二设备的公钥发送来的用于得到第一共享密钥的信息包括:所述第二设备接收所述第一设备利用第二设备的公钥将第一设备的公钥进行加密后得到的加密结果;

所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥包括:所述第二设备利用自身的私钥对所述加密结果进行解密后,得到所述第一设备的公钥,并生成密码,将该密码作为所述第一共享密钥,利用所述第一设备的公钥将该密码进行加密后,将加密结果发送给第一设备;

以便所述第一设备利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为所述第一共享密钥。

结合第三方面,在第四种可能的实现方式中,所述方法还包括:所述第二设备和所述第一设备预定密钥交换算法;

接收所述第一设备利用所述第二设备的公钥生成第一共享密钥后,发送来的用于得到第一共享密钥的信息包括:所述第二设备接收所述第一设备利用第二设备的公钥和自身的私钥按照所述密钥交换算法生成第一共享密钥后,发送来的第一设备的公钥;

所述第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成所述第一共享密钥包括:所述第二设备利用自身的私钥以及所述第一设备的公钥按照所述密钥交换算法生成第一共享密钥。

结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第二设备和所述第一设备预定密钥交换算法包括:

所述第二设备和所述第一设备上预先配置有所述密钥交换算法所使用的参数;或者,

所述第二设备和所述第一设备接收所述配置设备发送的所述密钥交换算法所使用的参数。

结合第三方面,第三方面的第一种至第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接包括:

所述第二设备接收第一设备发送的加密结果,该加密结果是所述第一设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后得到的;所述第二设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接;或者,

所述第二设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给所述第一设备;以便所述第一设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接。

结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,若所述第一设备是注册器Registrar、中心节点或者组长设备GO,则由所述第一设备生成所述信任状并将所述信任状的加密结果发送给所述第二设备;

若所述第二设备是Registrar、中心节点或GO,则由所述第二设备生成所述信任状并将所述信任状的加密结果发送给所述第一设备。

结合第三方面,第三方面的第一种至第七种可能的实现方式中的任一种,在第八种可能的实现方式中,该方法还包括:

所述第二设备将自身的信道信息提供给所述配置设备,以便所述配置设备将第二设备的信道信息发送给所述第一设备;以便所述第一设备根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的步骤。

结合第三方面,第三方面的第一种至第八种可能的实现方式中的任一种,在第九种可能的实现方式中,所述第二设备或者所述第一设备通过二维码、USB或近场通信的方式供所述配置设备获取信息。

结合第三方面,第三方面的第一种至第九种可能的实现方式中的任一种,在第十种可能的实现方式中,该方法还包括:

所述第二设备接收所述第一设备利用第二设备的公钥生成的验证值,所述第二设备利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成所述第一共享密钥的步骤。

第四方面,该密钥配置装置包括:

配置接收单元,用于接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥;

密钥处理单元,用于利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备;或者利用所述第二设备的公钥生成第一共享密钥,将用于得到所述第一共享密钥的信息发送给所述第二设备;以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第四方面,在第一种可能的实现方式中,所述密钥处理单元,具体用于生成密码,将所述密码作为第一共享密钥,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备,以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,将所述密码作为第一共享密钥;或者,

所述密钥处理单元,具体用于生成密码,利用所述第二设备的公钥将所述密码进行加密得到加密结果,将所述加密结果发送给所述第二设备,利用密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为第一共享密钥,以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述密码,利用所述密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为所述第一共享密钥。

结合第四方面,在第二种可能的实现方式中,所述密钥处理单元,具体用于生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后,将加密结果发送给第二设备,以便所述第二设备利用自身的私钥对所述加密结果进行解密得到所述随机值,利用所述第一设备与第二设备约定的信息和所述随机值生成所述第一共享密钥。

结合第四方面,在第三种可能的实现方式中,所述密钥处理单元,具体用于利用第二设备的公钥将第一设备的公钥进行加密后,将加密结果发送给第二设备;接收所述第二设备发送的加密结果,该加密结果是所述第二设备利用自身的私钥对接收到的加密结果进行解密后,得到所述第一设备的公钥,并且生成密码,将该密码作为所述第一共享密钥,利用所述第一设备的公钥将该密码进行加密后得到的;利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为所述第一共享密钥。

结合第四方面,在第四种可能的实现方式中,所述密钥处理单元,具体用于利用第二设备的公钥和自身的私钥按照所述第一设备和所述第二设备预定的密钥交换算法生成第一共享密钥,并将第一设备的公钥发送给所述第二设备,以便所述第二设备利用自身的私钥以及所述第一设备的公钥按照所述密钥交换算法生成第一共享密钥。

结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,所述密钥处理单元预先配置有所述密钥交换算法所使用的参数;

或者,所述配置接收单元,还用于接收所述配置设备发送的所述密钥交换算法所使用的参数,并提供给所述密钥处理单元。

结合第四方面、第四方面的第一种至第五种可能的实现方式中的任一种,在第六种可能的实现方式中,该密钥配置装置还包括:

安全连接单元,用于在所述密钥处理单元得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给所述第二设备;以便所述第二设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接;或者,用于利用得到的第一共享密钥或者第一共享密钥的衍生密钥对所述第二设备发送的信任状的加密结果进行解密得到所述信任状,所述信任状的加密结果为所述第二设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对所述信任状进行加密后得到,所述信任状用于所述第一设备和所述第二设备之间的安全连接。

结合第四方面、第四方面的第一种至第六种可能的实现方式中的任一种,在第七种可能的实现方式中,所述配置接收单元,具体用于接收配置设备在获取到所述第二设备的公钥和所述第一设备的公钥后发送的加密结果,所述加密结果为所述配置设备利用所述第一设备的公钥加密的所述第二设备的公钥;

所述密钥处理单元,还用于对所述加密结果进行解密,得到所述第二设备的公钥。

结合第四方面、第四方面的第一种至第六种可能的实现方式中的任一种,在第八种可能的实现方式中,所述配置接收单元,具体用于与所述配置设备建立安全连接以生成第二共享密钥;接收所述配置设备在获取到第二设备的公钥后发送的加密结果,所述加密结果为所述配置设备利用所述第二共享密钥加密的所述第二设备的公钥;

所述密钥处理单元,还用于利用所述第二共享密钥对接收到的所述加密结果进行解密后,得到所述第二设备的公钥。

结合第四方面的第八种可能的实现方式,在第九种可能的实现方式中,所述配置接收单元在与所述配置设备建立安全连接以生成第二共享密钥时,具体与所述配置设备通过无线保真安全建立WPS交互方式共享信任状,将所述信任状作为所述第二共享密钥;或者,具体接收所述配置设备发送的所述配置设备的公钥,所述第一设备利用所述配置设备的公钥和自身的私钥按照预先约定的密钥交换算法生成所述第二共享密钥。

结合第四方面的第四种可能的实现方式,在第十种可能的实现方式中,所述密钥处理单元在得到所述第二设备的公钥之后,还用于生成新的公钥和新的私钥;

所述第一设备发送给所述第二设备的第一设备的公钥为所述新的公钥;所述第二设备在生成所述第一共享密钥时利用的第一设备的公钥为所述新的公钥;所述第一设备在生成所述第一共享密钥时利用的自身的私钥为所述新的私钥。

结合第四方面、第四方面的第一种至第十种可能的实现方式中的任一种,在第十一种可能的实现方式中,所述第一设备是被注册方enrollee,所述第二设备是registrar,或者所述第一设备是客户端client,所述第二设备是GO,或者所述第一设备是无线终端,所述第二设备是接入点,或者所述第一设备是中心节点,所述第二设备是传感器节点。

结合第四方面、第四方面的第一种至第十一种可能的实现方式中的任一种,在第十二种可能的实现方式中,所述配置接收单元,还用于接收所述配置设备从所述第二设备获取后发送来的第二设备的信道信息;

所述密钥处理单元根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的操作。

结合第四方面、第四方面的第一种至第十二种可能的实现方式中的任一种,在第十三种可能的实现方式中,所述密钥处理单元,还用于利用所述第二设备的公钥生成验证值,将所述验证值发送给所述第二设备;以便所述第二设备在生成所述第一共享密钥之前,利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成所述第一共享密钥的操作。

第五方面,该密钥配置装置包括:

信息获取单元,用于获取第二设备的公钥;

信息发送单元,用于将所述第二设备的公钥发送给第一设备;

以便所述第一设备利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备;或者以便所述第一设备利用所述第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给所述第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第五方面,在第一种可能的实现方式中,所述信息发送单元,还用于将密钥交换算法所使用的参数发送给所述第一设备和所述第二设备,所述密钥交换算法用于所述第一设备和所述第二设备利用自身的私钥和对方的公钥按照所述密钥交换算法生成第一共享密钥。

结合第五方面或者第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息获取单元,还用于获取第一设备的公钥;

所述信息发送单元,具体用于利用所述第一设备的公钥加密所述第二设备的公钥,将加密结果发送给所述第一设备,以便所述第一设备对所述加密结果进行解密,得到所述第二设备的公钥。

结合第五方面或者第五方面的第一种可能的实现方式,在第三种可能的实现方式中,所述信息发送单元,还用于与所述第一设备建立安全连接以生成第二共享密钥;在将所述第二设备的公钥发送给第一设备时,具体利用所述第二共享密钥将所述第二设备的公钥进行加密后,将加密结果发送给所述第一设备,以便所述第一设备利用所述第二共享密钥对接收到的加密结果进行解密后,得到所述第二设备的公钥。

结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述信息发送单元在与所述第一设备建立安全连接以生成第二共享密钥时,具体用于与所述第一设备通过WPS交互方式共享信任状,将所述信任状作为所述第二共享密钥;或者,将自身的公钥发送给所述第一设备,利用第一设备的公钥和自身的私钥按照预先约定的密钥交换算法生成所述第二共享密钥。

结合第五方面、第五方面的第一种至第四种可能的实现方式中的任一种,在第五种可能的实现方式中,所述信息获取单元,还用于获取第二设备的信道信息;

所述信息发送单元,还用于将所述第二设备的信道信息发送给所述第一设备,以便所述第一设备根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的操作。

结合第五方面、第五方面的第一种至第五种可能的实现方式中的任一种,在第六种可能的实现方式中,所述信息获取单元,具体用于通过扫描二维码、通用串行总线USB或者近场通信的方式从所述第一设备或者第二设备获取信息。

第六方面,该密钥配置装置包括:

信息提供单元,用于向配置设备提供第二设备的公钥,以便所述配置设备将所述第二设备的公钥发送给第一设备;

信息接收单元,用于接收所述第一设备利用所述第二设备的公钥发送来的用于得到第一共享密钥的信息;或者接收所述第一设备利用所述第二设备的公钥生成第一共享密钥后,发送来的用于得到第一共享密钥的信息;

密钥处理单元,用于利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

结合第六方面,在第一种可能的实现方式中,所述信息接收单元,具体用于接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成密码,将所述密码作为第一共享密钥,利用所述第二设备的公钥将所述密码进行加密得到的;

所述密钥处理单元,具体用于利用自身的私钥对所述加密结果进行解密得到所述密码,将所述密码作为第一共享密钥;或者,

所述信息接收单元,具体用于接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成密码后,利用所述第二设备的公钥将所述密码进行加密得到的;

所述密钥处理单元,具体用于利用自身的私钥对所述加密结果进行解密得到所述密码,利用所述密钥衍生算法对所述密码生成衍生密钥,将该衍生密钥作为所述第一共享密钥。

结合第六方面,在第二种可能的实现方式中,所述信息接收单元,具体用于接收所述第一设备发送的加密结果,所述加密结果是所述第一设备生成随机值,利用第二设备的公钥对该随机值进行加密后得到的,所述第一设备利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥;

所述密钥处理单元,具体用于利用自身的私钥对所述加密结果进行解密得到所述随机值,利用所述第一设备与第二设备约定的信息和所述随机值生成所述第一共享密钥。

结合第六方面,在第三种可能的实现方式中,所述信息接收单元,具体用于接收所述第一设备利用第二设备的公钥将第一设备的公钥进行加密后得到的加密结果;

所述密钥处理单元,具体用于利用自身的私钥对所述加密结果进行解密后,得到所述第一设备的公钥,并生成密码,将该密码作为所述第一共享密钥,利用所述第一设备的公钥将该密码进行加密后,将加密结果发送给第一设备,以便所述第一设备利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为所述第一共享密钥。

结合第六方面,在第四种可能的实现方式中,所述信息接收单元,具体用于接收所述第一设备利用第二设备的公钥和自身的私钥按照密钥交换算法生成第一共享密钥后,发送来的第一设备的公钥;所述密钥交换算法是所述第一设备和所述第二设备预定的;

所述密钥处理单元,具体用于利用自身的私钥以及所述第一设备的公钥按照所述密钥交换算法生成第一共享密钥。

结合第六方面的第四种可能的实现方式,在第五种可能的实现方式中,所述密钥处理单元预先配置有所述密钥交换算法所使用的参数;或者,

所述信息接收单元,还用于接收所述配置设备发送的所述密钥交换算法所使用的参数,并提供给所述密钥处理单元。

结合第六方面、第六方面的第一种至第五种可能的实现方式中的任一种,在第六种可能的实现方式中,该密钥配置装置还包括:

安全连接单元,用于接收第一设备发送的加密结果,该加密结果是所述第一设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后得到的;利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接;或者,

用于在所述密钥处理单元得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给所述第一设备;以便所述第一设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到所述信任状,所述信任状用于所述第一设备和所述第二设备之间的安全连接。

结合第六方面、第六方面的第一种至第六种可能的实现方式中的任一种,在第七种可能的实现方式中,所述信息提供单元,还用于将第二设备的信道信息提供给所述配置设备,以便所述配置设备将第二设备的信道信息发送给所述第一设备;以便所述第一设备根据第二设备的信道信息快速发现所述第二设备,以执行所述将用于得到第一共享密钥的信息发送给第二设备的操作。

结合第六方面、第六方面的第一种至第七种可能的实现方式中的任一种,在第八种可能的实现方式中,所述信息提供单元,具体用于通过二维码、USB或近场通信的方式向所述配置设备提供信息。

结合第六方面、第六方面的第一种至第七种可能的实现方式中的任一种,在第九种可能的实现方式中,所述信息接收单元,还用于接收所述第一设备利用第二设备的公钥生成的验证值;

所述密钥处理单元,还用于利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成所述第一共享密钥的操作。

第七方面,该密钥配置系统包括:如第四方面所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面所述的密钥配置装置;或者,

如第四方面的第一种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面的第一种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第二种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及第六方面的第二种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第三种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面的第三种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第四种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面的第四种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第五种可能的实现方式所述的密钥配置装置、如第五方面的第一种可能的实现方式所述的密钥配置装置以及如第六方面的第五种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第六种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面的第六种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第七种可能的实现方式所述的密钥配置装置、如第五方面的第二种可能的实现方式所述的密钥配置装置以及如第六方面、第六方面的第一种至第六种可能的实现方式中的任一种所述的密钥配置装置;或者,

如第四方面的第八种可能的实现方式所述的密钥配置装置、如第五方面的第三种可能的实现方式所述的密钥配置装置以及如第六方面、第六方面的第一种至第六种可能的实现方式中的任一种所述的密钥配置装置;或者,

如第四方面的第九种可能的实现方式所述的密钥配置装置、如第五方面的第四种可能的实现方式所述的密钥配置装置以及如第六方面、第六方面的第一种至第六种可能的实现方式中的任一种所述的密钥配置装置;或者,

如第四方面的第十种可能的实现方式所述的密钥配置装置、如第五方面所述的密钥配置装置以及如第六方面的第四种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第十一种可能的实现方式所述的密钥配置装置、如第五方面、第五方面的第一种至第四种可能的实现方式中的任一种所述的密钥配置装置以及如第六方面、第六方面的第一种至第六种可能的实现方式中的任一种所述的密钥配置装置;或者,

如第四方面的第十二种可能的实现方式所述的密钥配置装置、如第五方面的第五种可能的实现方式所述的密钥配置装置以及如第六方面的第七种可能的实现方式所述的密钥配置装置;或者,

如第四方面的第十三种可能的实现方式所述的密钥配置装置、如第五方面、第五方面的第一种至第五种可能的实现方式中的任一种所述的密钥配置装置以及如第六方面的第九种可能的实现方式所述的密钥配置装置;或者,

如第四方面、第四方面的第一种至第十三种可能的实现方式中的任一种所述的密钥配置装置、如第五方面的第六种可能的实现方式所述的密钥配置装置以及如第六方面的第八种可能的实现方式所述的密钥配置装置。

由以上技术方案可以看出,第三方的配置设备在本发明仅用于进行第一设备和第二设备之间公钥和设备信息的传递,而用于第一设备和第二设备之间安全连接的第一共享密钥是在第一设备和第二设备分别生成的,并且第一设备和第二设备之间也不直接进行第一共享密钥的传递,而是将用于得到第一共享密钥的信息传递给第二设备,必须由第二设备的私钥才能生成第一共享密钥。因此,即便攻击者窃听到配置设备、第一设备和第二设备之间传递的公钥也无法得到第一共享密钥,从而提高了第一设备和第二设备之间交互的安全性。

【附图说明】

图1为现有技术中基于第三方的配置设备的密钥配置方法流程示意图;

图2为本发明实施例一提供的密钥配置方法的流程示意图;

图3为本发明实施例二提供的密钥配置方法的流程示意图;

图4为本发明实施例三提供的密钥配置方法的流程示意图;

图5为本发明实施例四提供的密钥配置方法的流程示意图;

图6为本发明实施例五提供的密钥配置方法的流程示意图;

图7为本发明实施例六提供的密钥配置方法的流程示意图;

图8为本发明实施例提供的系统组成示意图;

图9为本发明实施例提供的设置于第一设备中的密钥配置装置的结构示意图;

图10为本发明实施例提供的设置于配置设备中的密钥配置装置的结构示意图;

图11为本发明实施例提供的设置于第二设备中的密钥配置装置的结构示意图;

图12为本发明实施例提供的配置设备的硬件结构示意图;

图13为本发明实施例提供的第一设备的硬件结构示意图;

图14为本发明实施例提供的第二设备的硬件结构示意图。

【具体实施方式】

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

本发明的核心思想在于:第三方的配置设备获取第二设备的公钥;将第二设备的公钥发送给第一设备;第一设备生成共享密钥,并利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备,或者第一设备利用第二设备的公钥生成第一共享密钥,并将用于得到第一共享密钥的信息发送给第二设备;按照第二设备的设备信息将第一设备的公钥发送给第二设备;第二设备利用自身的私钥和用于得到第一共享密钥的信息生成共享密钥,该共享密钥用于第一设备和第二设备之间的安全连接。

在上述核心思想之下,本发明可以采用密钥交换的方式进行共享密钥的配置,也可以不采用密钥交换的方式进行共享密钥的配置。下面分别通过几个具体的实施例对本发明提供的方法进行详细描述。

实施例一、

在本实施例中,采用的是密钥交换的方式进行共享密钥的配置,第一设备和第二设备预定密钥交换算法,密钥交换算法是后续第一设备和第二设备在生成共享密钥时所采用的算法,可以采用但不限于:D-H算法、RSA算法或EIGamal算法等,根据不同的密钥交换算法,预先共享的参数有所不同。密钥交换算法的核心在于:设备公开自身的公钥,保留自己的私钥,利用对方的公钥和自己的私钥生成共享密钥,利用该共享密钥确保穿越不安全网络的消息的安全性。

共享密钥交换算法所使用的参数的方式可以包括但不限于以下两种:第一种方式:预先在第一设备和第二设备上配置密钥交换算法所使用的参数;第二种方式:通过第三方的配置设备将密钥交换算法所使用的参数发送给第一设备和第二设备。

在本发明的各实施例中均以D-H算法为例,第一设备和第二设备预先共享参数g和P,预先在第一设备和第二设备上共享参数g和P,其中P是素数,g是P的原根。另外,在第一设备和第二设备都具有各自的公钥和私钥,第一设备上的公钥和私钥分别为PkeyA和keyA,第二设备上的公钥和私钥分别为PkeyB和keyB。本发明后续实施例二和三中均存在上述配置,不再一一赘述。

图2为本发明实施例一提供的密钥配置方法的流程示意图,如图2所示,该流程可以包括以下步骤:

步骤201:配置设备获取第一设备的公钥PkeyA和设备信息

所述设备信息:至少包括第一设备的地址信息。

本步骤是本实施例中的可选步骤。

步骤202:配置设备获取第二设备的公钥PkeyB和设备信息。

所述设备信息:至少包括第二设备的地址信息。

本发明并不对上述两个步骤的先后顺序进行限制,可以以任意的顺序先后执行,也可以同时执行。

上述设备信息主要是地址信息,还可以包括但不限于以下设备信息:UUID(Universally Unique Identifier,通用唯一识别码)、制造商、序列号、设备能力等。设备能力指的是该设备支持的算法、认证方法、设备角色信息、设备类型信息等,其中设备角色信息是指该设备在注册时充当的角色,可以是enrollee、registrar、client或GO等。设备类型信息可以是WiFi无线终端(诸如手机、电脑、传感器等)、接入点(在wifi网络中是AP)、传感器节点、中心节点等。在本实施例中配置设备获取的设备信息主要是地址信息。

第一设备的公钥PkeyA、第一设备的设备信息以及第二设备的公钥PkeyB、第二设备的设备信息可以通过多种方式获取,例如通过NFC、USB等安全媒介获取,特别地,对于无头设备而言优选通过扫描识别码的方式,即将第一设备的公钥PkeyA和第一设备的设备信息编码到第一设备的扫描识别码,配置设备通过扫描该扫描识别码就能够获取到第一设备的公钥PkeyA和第一设备的设备信息,对于第二设备同样如此。其中扫描识别码可以是诸如二维码、条形码等。

步骤203:配置设备根据第一设备的设备信息将第二设备的公钥PkeyB和设备信息发送给第一设备。

在本步骤中,为了进一步提高安全性和可靠性,配置设备可以利用第一设备的公钥PkeyA加密第二设备的公钥PkeyB和设备信息,然后将加密结果发送给第一设备。

在此对利用公钥加密的方式进行说明,主要分为两种加密方式:

第一种加密方式:如果公钥是用于非对称加密的公钥,可以直接用于加密,需要使用对应的私钥进行解密。

第二种加密方式:如果公钥是用于密钥交换的公钥,则采用公钥的部分信息进行加密,或者基于公钥衍生的信息进行加密,解密时需要采用对称密钥来解密,而不是利用对应的私钥解密。

后续的加密、解密过程可以根据具体情况采用上述加密方式中的其中一种。

此处的加密采用的是第二种加密方式。

步骤204:第一设备利用第二设备的公钥PkeyB生成验证值,将生成的验证值发送给第二设备。

如果配置设备发送来的是加密结果,则第一设备首先对加密结果进行解密后得到第二设备的公钥PkeyB和设备信息。

本步骤中利用第二设备的公钥PkeyB生成的验证值可以是但不限于是PkeyB的hash(哈希)值,也可以是利用其它预设算法生成的验证值。

步骤205:第一设备利用第二设备的设备信息向第二设备发送第一设备的公钥PkeyA。

第一设备获取到第二设备的地址信息后,将上述验证值和PkeyA发送给第二设备。由于本实施例采用的是密钥交换的方式进行共享密钥的配置,因此本实施例中第一设备发送给第二设备的用于得到共享密钥的信息为第一设备的公钥PkeyA。

另外,需要说明的是,上述步骤204和步骤205同样没有先后顺序的限制,可以以任意的顺序先后执行,也可以同时执行。

步骤206:第二设备利用自身的公钥PkeyB对接收到的验证值进行验证,如果验证通过,则记录第一设备的公钥PkeyA。

需要说明的是,步骤204以及本步骤中第二设备对验证值进行的验证是为了进一步提高安全性和可靠性所执行的操作,并不是本发明所必须的步骤。如果没有步骤204,则第二设备直接记录接收到的PkeyA。

第二设备在进行验证时,可以利用自身的公钥PkeyB采用与第一设备相同的生成验证值的方法生成验证值,将生成的验证值与接收到的验证值进行对比,如果一致,则验证通过,否则验证失败。如果验证失败,则可以丢弃接收到的第一设备的公钥PkeyA,不再执行后续流程,并且可以进一步提示用户配置失败,例如采用指示灯的方式,或者在屏幕上显示的方式,或者语音的方式等等。

步骤207:第一设备和第二设备分别利用对方的公钥和自身的私钥产生共享密钥。

需要说明的是,第一设备可以在步骤203之后任意时刻产生共享密钥,即在获取到第二设备的公钥后就可以产生共享密钥,并不一定在此步骤中。

第一设备和第二设备采用预先共享的密钥交换算法来产生共享密钥,以D-H算法为例,第一设备的公钥PkeyA=(g^keyA)mod(P),其中keyA为第一设备的私钥,为随机数,第二设备中的PkeyB=(g^keyB)mod(P),keyB为第二设备的私钥,也是随机数。上述公式中,^为次幂的运算符,X^Y表示X的Y次幂,mod为取模的运算符,XmodY表示X对Y取模。第一设备利用PkeyB和keyA产生共享密钥DHkeyA,即:

DHkeyA=((PkeyB)^keyA)mod(P)

第二设备利用PkeyA和keyB产生共享密钥DHkeyB,即:

DHkeyB=((PkeyA)^keyB)mod(P)

由D-H算法可知,DHkeyA=DHkeyB。

步骤208:第一设备和第二设备基于共享密钥进行安全连接。

即第一设备和第二设备可以基于共享密钥进行后续的交互,后续的交互可以包括但不限于:认证过程、关联过程、数据交互过程等。至于如何利用共享密钥进行安全连接可以采用现有技术,在此不再赘述。

更进一步地,除了直接基于共享密钥进行安全连接之外,第一设备和第二设备可以基于共享的密钥衍生算法对共享密钥生成衍生密钥,利用衍生密钥进行后续的安全连接。本发明对于密钥衍生算法不加以限制,只要第一设备和第二设备预先约定了一致的密钥衍生算法即可。

或者进一步利用共享密钥传递信任状:第一设备在生成共享密钥后,生成信任状,并利用共享密钥或者共享密钥的衍生密钥对信任状进行加密后,将加密结果传递给第二设备;第二设备利用生成的共享密钥或者共享密钥的衍生密钥对加密结果进行解密得到信任状。或者,第二设备在生成共享密钥后生成信任状,并利用共享密钥或者共享密钥的衍生密钥对信任状进行加密后,将加密结果传递给第一设备;第一设备利用生成的共享密钥或者共享密钥的衍生密钥对加密结果进行解密得到信任状。

这里具体是第一设备向第二设备发送信任状还是第二设备向第一设备发送信任状,可以根据设备类型决定,如果第一设备是registrar、中心节点或者GO,则可以由第一设备生成信任状并发送给第二设备。

实施例二、

本实施例采用的也是密钥交换的方式进行共享密钥的配置,图3为本发明实施例二提供的密钥配置方法的流程示意图,在本实施例中对与实施例一相同的步骤不再赘述,参见实施例一中的描述。如图3所示,该流程包括以下步骤:

步骤301同步骤201。

步骤302同步骤302。

步骤303:配置设备与第一设备建立安全连接以生成共享密钥DHkeyC’和DHkeyA’。

本步骤的实现方式可以采用但不限于以下两种:

第一种方式:配置设备与第一设备之间通过现有的WPS交互方式共享信任状(即背景技术中关于图1的描述中生成的key1),以该信任状作为共享密钥DHkey’。

第二种方式:配置设备将自身的公钥PkeyC发送给第一设备,配置设备利用第一设备的公钥PkeyA和配置设备的私钥keyC执行密钥交换算法,生成共享密钥DHkeyC’,第一设备利用配置设备的公钥PkeyC和第一设备的私钥keyA执行密钥交换算法,生成共享密钥DHkeyA’。

这种方式下,需要预先在配置设备与第一设备预先共享密钥交换算法所使用的参数。以D-H算法为例的话,配置设备也预先获取到共享参数g和P。配置设备中的PkeyC=(g^keyC)mod(P),配置设备生成的共享密钥DHkeyC’=((PkeyA)^keyC)mod(P),第一设备生成的共享密钥DHkeyA’=((PkeyC)^keyA)mod(P)。由D-H算法可知,DHkeyC’=DHkeyA’。

步骤304:配置设备利用共享密钥DHkeyC’将第二设备的公钥PkeyB和设备信息进行加密后,将加密结果发送给第一设备。

步骤305:第一设备利用共享密钥DHkeyA’对接收到的加密结果进行解密后,获取第二设备的公钥PkeyB和设备信息。

或者,在步骤304中配置设备也可以利用共享密钥DHkeyC’先生成衍生密钥,再利用衍生密钥将第二设备的公钥PkeyB和设备信息进行加密后发送给第一设备,具体衍生密钥的生成方式在此不加以显示,只要配置设备和第一设备预先约定即可。相应地,在步骤305中,第一设备利用共享密钥DHkeyA’先生成衍生密钥,再利用衍生密钥对接收到的加密结果进行解密。

步骤306:第一设备生成新的私钥keyA’和新的公钥PkeyA’。

本步骤是为了进一步增强交互的安全性所执行的步骤,第一设备产生新的随机数作为私钥keyA’,然后利用该新的私钥生成新的公钥PkeyA’,以D-H算法为例,PkeyA’=(g^keyA’)mod(P)。

后续步骤307至步骤311分别同实施例一中的步骤204至步骤208,只是其中涉及到的第一设备的公钥和私钥分别替换为步骤306中新的公钥PkeyA’和keyA’。

实施例三、

本实施例采用的也是密钥交换的方式进行共享密钥的配置,图4为本发明实施例三提供的密钥配置方法的流程示意图,同样,在本实施例中对与实施例一相同的步骤不再赘述,参见实施例一中的描述。如图4中所示,该流程包括以下步骤:

步骤401同步骤201,需要说明的是,在本步骤中配置设备获取到的第一设备的设备信息中至少包括第一设备的地址信息和第一设备的设备角色信息或设备类型信息,其中设备角色信息是指该设备在注册时充当的角色,例如可以是enrollee、registrar、client或GO等。设备类型信息可以是无线终端、接入点、传感器节点、中心节点等。

步骤402同步骤202,同样,配置设备获取到的第二设备的设备信息中至少包括第二设备的地址信息和第二设备的设备角色信息或设备类型信息。

与实施例一中的描述相同的,第一设备的公钥PkeyA、设备信息以及第二设备的公钥PkeyB、设备信息可以通过多种方式获取,例如通过NFC、USB等安全媒介获取,特别地,对于无头设备而言优选通过扫描识别码的方式,即将第一设备的公钥PkeyA和设备信息写入第一设备上的扫描识别码,配置设备通过扫描该扫描识别码就能够获取到第一设备的公钥PkeyA和设备信息,对于第二设备同样如此。其中扫描识别码可以是诸如二维码、条形码等。

步骤403:配置设备根据第一设备和第二设备的设备角色信息或设备类型信息,确定是将第一设备的公钥和设备信息发送给第二设备,或者将第二设备的公钥和设备信息发送给第一设备。

在本步骤中,如果第一设备是enrollee,第二设备是registrar,或者第一设备是client,第二设备是GO,或者第一设备是无线终端,第二设备是接入点,则确定将第二设备的公钥和设备信息发送给第一设备,目的是第一设备能够快速扫描发现第二设备,提高效率。如果第一设备是中心节点,第二设备是传感器节点,则确定将第二设备的公钥和设备信息发送给第一设备,目的是中心节点能够快速发现传感器节点。如果第一设备和第二设备的角色或类型对等,例如都是传感器节点,或者都是client等,那么无论确定将第二设备的公钥和设备信息发送给第一设备,还是将第一设备的公钥和设备信息发送给第二设备均可。本步骤为可选的。

假设步骤403确定将第二设备的公钥和设备信息发送给第一设备,步骤404同步骤203。

步骤405至步骤409同步骤204至步骤208。

但在本实施例中,执行步骤405之前,第一设备可以首先根据自己以及第二设备的设备角色信息或设备类型信息确定第一设备与第二设备建立连接的方式,从而决定在步骤405中采用什么消息类型发送验证值和第一设备的公钥PkeyA。例如,若第一设备为enrollee,第二设备是registrar,或者第一设备为无线终端,第二设备为接入点,则第一设备可以通过探测消息将验证值和第一设备的公钥PkeyA发送给第二设备。若第一设备为registrar,第二设备是enrollee,或者第一设备是接入点,第二设备是无线终端,则第一设备可以通过广播消息将验证值和第一设备的公钥PkeyA发送给第二设备。若第一设备是GO,第二设备是client,则第一设备可以通过邀请消息将验证值和第一设备的公钥PkeyA发送给第二设备。若第一设备是client,第二设备是GO,则第一设备可以通过探测消息将验证值和第一设备的公钥PkeyA发送给第二设备。若第一设备是传感器节点,第二设备是中心节点,则第一设备可以通过请求消息将验证值和第一设备的公钥PkeyA发送给第二设备。若第一设备是中心节点,第二设备是传感器节点,则第一设备可以通过邀请消息或广播消息将验证值和第一设备的公钥PkeyA发送给第二设备。

可选地,配置设备获取的第一设备和第二设备的设备信息中还可以包括信道信息,这种情况下,第一设备可以根据第二设备的信道信息快速发现第二设备,并执行步骤405和步骤406,即将验证值和第一设备的公钥PkeyA发送给第二设备。

除此之外,该实施例从步骤405开始也可以按照实施例二中从步骤306开始执行直至第一设备和第二设备基于共享密钥进行安全连接。

实施例四、

本实施例采用的并不是密钥交换的方式进行的共享密钥配置,图5为本发明实施例四提供的密钥配置方法的流程示意图,在本实施例中重点突出与实施例一不同的步骤,与实施例一中相同的步骤不再赘述。如图5中所示,该流程包括以下步骤:

步骤501同步骤201。

步骤502同步骤202。

步骤503同步骤203。

步骤504同步骤204。

步骤505:第一设备生成一个password(密码),利用第二设备的公钥PkeyB将该password进行加密后,将加密结果发送给第二设备。

此处的加密采用的是实施例一中所述的第一种加密方法。

也就是说,第一设备获取到第二设备的地址信息后,将验证值和password进行加密后的加密结果发送给第二设备。也就是说,本实施例中第一设备发送给第二设备的用于得到共享密钥的信息为第一设备生成的上述password。

第一设备生成password的方式可以是任意的,比如采用产生随机数作为password的方式,或者采用预设算法生成password的方式等等。

步骤506:第二设备利用自身的公钥PkeyB对接收到的验证值进行验证,如果验证通过,则采用自身的私钥keyB对接收到的加密结果进行解密,得到password。

在本实施例中,第二设备的公私钥对(PkeyB,keyB),通过一定的加解密算法,使得利用PkeyB进行加密的加密结果能够通过keyB进行解密,这种加解密算法可以采用现有的各种方式,在此不再一一赘述。

步骤507:第一设备和第二设备利用上述password生成共享密钥。

在本步骤中,第一设备和第二设备可以直接将password作为共享密钥,也可以利用预先约定的密钥衍生算法对所述password生成衍生密钥后,将该衍生密钥作为共享密钥。

同样第一设备生成共享密钥的操作可以在生成password之后的任意时刻执行,并不限于在本步骤中执行。

步骤508同步骤208。

需要说明的是,实施例二中步骤303至步骤306所描述的技术内容以及实施例三中步骤403所描述的技术内容对于实施例四同样适用,在此不再赘述。

实施例五、

除了实施例一中所述的生成共享密钥的方式之外,还存在另一种生成共享密钥的方式,参见图6,本实施例所示的流程包括以下步骤:

步骤601同步骤201。

步骤602同步骤202。

步骤603同步骤203。

步骤604同步骤204。

步骤605:第一设备生成随机值Nonce,利用第二设备的公钥PkeyB和该随机值Nonce生成共享密钥DHkey。

在此,除了利用第二设备的公钥PkeyB和随机值Nonce生成共享密钥DHkey之外,还可以采用其他第一设备和第二设备约定的信息和随机值生成共享密钥DHkey,例如可以采用第二设备的MAC(Media Access Control,媒体访问控制)值、第二设备的公钥Pkey的hash值等等。

步骤606:第一设备利用第二设备的公钥PkeyB对该随机值Nonce进行加密后,将加密结果发送给第二设备。

本实施例中用于得到共享密钥的信息为该随机值Nonce。这里的加密方式可以为实施例一中所述的第一种加密方法。

第二设备接收到该加密结果后,对加密结果进行解密,得到该随机值Nonce。

步骤607同步骤206,只是验证通过后,记录的是随机值Nonce。

步骤608:第二设备利用自身的公钥PkeyB和随机值Nonce生成共享密钥DHkey。

在此只要第一设备和第二设备预先约定生成共享密钥的算法即可,在此不具体限制生成共享密钥的算法。

步骤609同步骤208。

实施例六、

图7为本发明实施例六提供的密钥配置方法的流程示意图,如图7所示,该方法包括:

步骤701同步骤201。

步骤702同步骤202。

步骤703同步骤203。

步骤704:第一设备向第二设备发送自身的公钥PkeyA。

在此,为了提高安全性,第一设备可以利用第二设备的公钥PkeyB加密PkeyA后发送给第二设备,第二设备利用自身的私钥keyB进行解密后得到PkeyA。

此处的加密采用的是实施例一中所述的第一种加密方式。

步骤705:第二设备利用第一设备的公钥PkeyA加密一个密码,将加密结果发送给第一设备。其中该密码可以是信任状或者会话密钥等,可以是随机生成的,也可以是按照某个算法生成的,在此不加以限制。

在此第二设备可以利用第一设备的公钥PkeyA生成一个验证值,例如生成PkeyA的hash值发送给第一设备,第一设备接收到验证值后首先利用自身的公钥PkeyA生成验证值,将生成的验证值与接收到的验证值进行比对,如果一致,则确定验证通过,继续执行步骤706。

步骤706:第一设备利用自己的私钥keyA对加密结果进行解密,得到密码。

步骤707:第一设备和第二设备利用上述的密码或者密码的衍生密钥进行后续的安全连接。

实施例七中用于得到共享密钥的信息就是第一设备的公钥。

以上是对本发明所提供的方法进行的描述,下面对对应的系统进行详细描述。图8为本发明实施例提供的系统组成示意图,如图8所示,该系统包括第一设备、第二设备和第三方的配置设备。

其中配置设备,用于获取第二设备的公钥,将第二设备的公钥发送给第一设备。

第一设备主要负责生成第一共享密钥并将用于得到第一共享密钥的信息提供给第二设备,供第二设备生成第一共享密钥。具体地,第一设备可以采用以下两种方式实现该功能:

第一种方式:第一设备生成第一共享密钥,根据第二设备的设备信息,利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备。这种方式对应于上述实施例四中所描述的方式

第二种方式:利用第二设备的公钥生成第一共享密钥,并根据第二设备的设备信息,将用于得到第一共享密钥的信息发送给第二设备。这种方式对应于上述实施例一至三中所描述的方式。

第二设备,用于利用自身的私钥以及用于得到第一共享密钥的信息生成第一共享密钥,上述的第一共享密钥用于第一设备和第二设备之间的安全连接。

需要说明的是,在此第一共享密钥的名称是为了与后续优选实施方式中配置设备和第一设备之间共享的第二共享密钥相区别。

下面对第一设备的两种实现方式分别进行详细描述。对于第一种方式而言,第一设备生成password,将该password作为第一共享密钥,或者利用密钥衍生算法对该password生成衍生密钥,将该衍生密钥作为第一共享密钥;然后利用第二设备的公钥将密码进行加密后,将加密结果发送给第二设备。这种方式下,用于得到第一共享密钥的信息为password。其中第一设备生成password的方式可以是任意的,比如采用产生随机数作为password的方式,或者采用预设算法生成password的方式等等。

第二设备利用自身的私钥对加密结果进行解密得到密码,将密码作为第一共享密钥,或者利用密钥衍生算法对密码生成衍生密钥,将该衍生密钥作为第一共享密钥。在这种方式下,第二设备的公私钥对(PkeyB,keyB),通过一定的加解密算法,使得利用公钥PkeyB进行加密的加密结果能够通过私钥keyB进行解密,这种加解密算法已经是现有十分成熟的方式,在此不再一一赘述。

在第一种方式中,还存在一种实现,即第一设备生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后,将加密结果发送给第二设备。第二设备利用自身的私钥对该加密结果进行加密得到该随机值,然后利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥。在这种实现中,所述第一设备和第二设备约定的信息可以是第二设备的公钥、第二设备公钥的hash值、第二设备的MAC地址等信息,这些信息可以由第三方的配置设备从第二设备获取后发送给第一设备,甚至还可以是第一设备和第二设备预先配置好的一些特定值。

对于第二种方式而言,第一设备和第二设备需要预定密钥交换算法,这里可以采用的密钥交换算法可以是但不限于是D-H算法、RSA算法或EIGamal算法等,根据不同的密钥交换算法,预先共享的参数有所不同。以D-H算法为例,第一设备和第二设备预先共享参数g和P,预先在第一设备和第二设备上共享参数g和P,其中P是素数,g是P的原根。

第一设备和第二设备共享密钥交换算法所使用的参数的方式可以包括但不限于以下两种:其一、预先在第一设备和第二设备上配置密钥交换算法所使用的参数;其二、通过第三方的配置设备将密钥交换算法所使用的参数发送给第一设备和第二设备。

在第二种方式下,第一设备具体用于利用第二设备的公钥和自身的私钥按照密钥交换算法生成第一共享密钥,并将第一设备的公钥发送给第二设备。这种方式下,用于得到第一共享密钥的信息为第一设备的公钥。

以D-H算法为例,第一设备的公钥PkeyA为:PkeyA=(g^keyA)mod(P),其中keyA为第一设备的私钥,为随机数,生成的第一共享密钥DHkeyA为:DHkeyA=((PkeyB)^keyA)mod(P)。

第二设备具体用于利用第一设备的公钥以及自身的私钥按照密钥交换算法生成第一共享密钥。第二设备的公钥PkeyB为:PkeyB=(g^keyB)mod(P),keyB为第二设备的私钥,也是随机数。生成的第一共享密钥DHkeyB为:DHkeyB=((PkeyA)^keyB)mod(P)。由D-H算法可知,DHkeyA=DHkeyB。

在上述第二种方式下,第一设备和第二设备可以采用以下两种方式共享密钥交换算法所使用的参数:

1)第一设备和第二设备上预先配置有密钥交换算法所使用的参数,即采用静态配置的方式。

2)配置设备将密钥交换算法所使用的参数发送给第一设备和第二设备,即由第三方的配置设备完成第一设备和第二设备上密钥交换算法所使用的参数配置。

在以上第一种方式或第二种方式的基础上,配置设备还用于获取第二设备和第一设备的设备信息。本发明实施例中涉及的设备信息可以包括但不限于:地址信息、设备能力、制造商、序列号、UUID等,其中设备能力指的是该设备支持的算法、认证方法、设备角色信息、设备类型信息等,其中设备角色信息是指该设备在注册时充当的角色,可以是enrollee、registrar、client或GO等。设备类型信息可以是无线终端、接入点、传感器节点、中心节点等。

在此涉及到的设备信息至少包含地址信息;这样配置设备能够根据第一设备的地址信息,执行将第二设备的公钥和设备信息发送给第一设备的操作;以及获取第二设备的地址信息,并将第二设备的地址信息发送给第一设备;使第一设备能够依据第二设备的地址信息发送用于得到第一共享密钥的信息。

更进一步地,在上述第一种方式或第二种方式的基础上,配置设备还用于获取第一设备的公钥;在将第二设备的公钥和设备信息发送给第一设备时,具体利用第一设备的公钥加密第二设备的公钥和设备信息,这里的加密可以采用实施例一中所述的第二种加密方式,将加密结果发送给第一设备。

此时的第一设备对加密结果进行解密,得到第二设备的公钥和设备信息。该种优选实施方式对应实施例一中所描述内容。

具体地,在上述第一种方式或第二种方式的基础上,配置设备从第一设备或第二设备获取信息时,包括公钥和设备信息,具体通过扫描二维码、USB或者近场通信的方式从第一设备或者第二设备获取信息。

可选的,第一设备还可以利用第二设备的公钥生成验证值,该验证值可以是但不限于是第二设备的公钥的hash值,或者是利用其它预设算法生成的验证值,然后根据第二设备的设备信息将该验证值发送给第二设备。

第二设备在生成第一共享密钥之前,利用自身的公钥对接收到的验证值进行验证,如果验证通过,则继续执行生成第一共享密钥的操作;否则,丢弃第一设备的公钥,不再执行后续操作,并且可以进一步提示用户配置失败,例如采用指示灯的方式,或者在屏幕上显示的方式,或者语音的方式等等。该优选的实施方式对应于实施例一中所描述内容。

可选的,配置设备与第一设备,还可以用于建立安全连接以生成第二共享密钥。在此具体可以采用以下两种:其一、配置设备与第一设备之间通过现有的WPS交互方式共享信任状,以该信任状作为第二共享密钥;其二、配置设备将自身的公钥发送给第一设备,配置设备利用第一设备的公钥和配置设备的私钥执行密钥交换算法,生成第二共享密钥,第一设备利用配置设备的公钥和第一设备的私钥执行密钥交换算法,生成第二共享密钥。

配置设备在将第二设备的公钥和设备信息发送给第一设备时,具体利用第二共享密钥将第二设备的公钥和设备信息进行加密后,将加密结果发送给第一设备。第一设备利用第二共享密钥对接收到的加密结果进行解密后,得到第二设备的公钥和设备信息。这种优选的实施方式对应于实施例二所描述的内容。

可选的,在上述第一种方式或第二种方式的基础上,第一设备在得到第二设备的公钥和设备信息之后,还可以生成新的公钥和新的私钥。此时,上述第一设备发送给第二设备的第一设备的公钥为新的公钥;第二设备在生成第一共享密钥时利用的第一设备的公钥为新的公钥;第一设备在生成第一共享密钥时利用的自身的私钥为新的私钥。这种实施方式能够进一步增强交互的安全性,对应于实施例二中所描述的内容。

可选的,在上述第一种方式或第二种方式的基础上,可以进一步利用设备信息中包含的设备角色信息或设备类型信息,即配置设备还可以用于根据第一设备和第二设备的设备角色信息或设备类型信息,确定是将第二设备的公钥和设备信息发送给第一设备,还是将第一设备的公钥和设备信息发送给第二设备。

如果第一设备是被注册方enrollee,第二设备是注册器registrar,或者第一设备是客户端client,第二设备是组长设备GO,或者第一设备是无线终端,第二设备是接入点,则配置设备确定将第二设备的公钥和设备信息发送给第一设备,这样能够便于第一设备快速扫描发现第二设备,提高效率。或者如果第一设备是中心节点,第二设备是传感器节点,则配置设备确定将第二设备的公钥和设备信息发送给第一设备,目的是中心节点能够快速发现传感器节点。这种优选的实施方式对应于实施例三中所描述的内容。

如果第一设备和第二设备的角色或类型对等,例如都是传感器节点,或者都是client等,那么无论确定将第二设备的公钥和设备信息发送给第一设备,还是将第一设备的公钥和设备信息发送给第二设备均可。

优选地,在上述第一种方式或第二种方式的基础上,还可以利用设备信息中包括信道信息的,即第一设备还用于根据第二设备的信道信息快速发现第二设备,以执行将用于得到第一共享密钥的信息发送给第二设备。

另外,第一设备和第二设备除了直接利用第一共享密钥进行安全连接之外,还可以基于共享的密钥衍生算法对第一共享密钥生成衍生密钥,利用衍生密钥进行安全连接。后续的安全连接可以包括但不限于:认证过程、关联过程、数据交互过程等。至于如何利用共享密钥进行安全连接可以采用现有技术,在此不再赘述。

上述的配置设备可以包括一台或多台服务器,或者包括一台或多台计算机,上述的第一设备和第二设备可以是诸如个人计算机、笔记本电脑、无线电话、个人数字助理(PDA)、传感器节点、AP等。需要说明的是,本发明所提供的方式和系统并不限于WiFi网络,可以用于任意的诸如蓝牙、Zigbee等无线网络,甚至可以应用于有线网络中的密钥配置。

图9为本发明实施例提供的设置于第一设备中的密钥配置装置的结构示意图,如图9中所示,该密钥配置装置包括:配置接收单元90和密钥处理单元91。

配置接收单元90负责接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥。

密钥处理单元91负责利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备;或者第一设备利用第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给第二设备;以便第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成第一共享密钥,第一共享密钥用于第一设备和第二设备之间的安全连接。

得到第一共享密钥的方式可以采用以下几种:

第一种方式:密钥处理单元91生成密码,将密码作为第一共享密钥,利用第二设备的公钥将密码进行加密得到加密结果,将加密结果发送给第二设备,以便第二设备利用自身的私钥对加密结果进行解密得到密码,将密码作为第一共享密钥。

第二种方式:密钥处理单元91生成密码,利用第二设备的公钥将密码进行加密得到加密结果,将加密结果发送给第二设备,利用密钥衍生算法对密码生成衍生密钥,将该衍生密钥作为第一共享密钥,以便第二设备利用自身的私钥对加密结果进行解密得到密码,利用密钥衍生算法对密码生成衍生密钥,将该衍生密钥作为第一共享密钥。

第三种方式:密钥处理单元91生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后,将加密结果发送给第二设备,以便第二设备利用自身的私钥对加密结果进行解密得到随机值,利用第一设备与第二设备约定的信息和随机值生成第一共享密钥。

第四种方式:密钥处理单元91利用第二设备的公钥将第一设备的公钥进行加密后,将加密结果发送给第二设备;接收第二设备发送的加密结果,该加密结果是第二设备利用自身的私钥对接收到的加密结果进行解密后,得到第一设备的公钥,并且生成密码,将该密码作为共享密钥,利用第一设备的公钥将该密码进行加密后得到的;利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为第一共享密钥。

第五种方式:密钥处理单元91利用第二设备的公钥和自身的私钥按照第一设备和第二设备预定的密钥交换算法生成第一共享密钥,并将第一设备的公钥发送给第二设备,以便第二设备利用自身的私钥以及第一设备的公钥按照密钥交换算法生成第一共享密钥。

其中,密钥处理单元91可以预先配置有密钥交换算法所使用的参数;或者,配置接收单元91接收配置设备发送的密钥交换算法所使用的参数,并提供给密钥处理单元91。

更进一步地,该密钥配置装置还可以包括:安全连接单元92。

安全连接单元92在密钥处理单元91得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给第二设备;以便第二设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到信任状,信任状用于第一设备和第二设备之间的安全连接(图中所示为该种实现)。或者,用于利用得到的第一共享密钥或者第一共享密钥的衍生密钥对第二设备发送的信任状的加密结果进行解密得到信任状,信任状的加密结果为第二设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后得到,信任状用于第一设备和第二设备之间的安全连接。

为了增强安全性,配置接收单元90可以接收配置设备在获取到第二设备的公钥和第一设备的公钥后发送的加密结果,加密结果为配置设备利用第一设备的公钥加密的第二设备的公钥。此时,密钥处理单元91,还可以用于对加密结果进行解密,得到第二设备的公钥。

还有一种实现:配置接收单元90与配置设备建立安全连接以生成第二共享密钥;接收配置设备在获取到第二设备的公钥后发送的加密结果,加密结果为配置设备利用第二共享密钥加密的第二设备的公钥。此时,密钥处理单元91利用第二共享密钥对接收到的加密结果进行解密后,得到第二设备的公钥。

其中,配置接收单元90在与配置设备建立安全连接以生成第二共享密钥时,具体与配置设备通过WPS交互方式共享信任状,将信任状作为第二共享密钥;或者,具体接收配置设备发送的配置设备的公钥,第一设备利用配置设备的公钥和自身的私钥按照预先约定的密钥交换算法生成第二共享密钥。

为了更进一步地提高安全性,密钥处理单元91在得到第二设备的公钥之后,还可以生成新的公钥和新的私钥;这样,第一设备发送给第二设备的第一设备的公钥就为该新的公钥;第二设备在生成第一共享密钥时利用的第一设备的公钥为新的公钥;第一设备在生成第一共享密钥时利用的自身的私钥为新的私钥。

优选地,配置接收单元90还可以接收配置设备从第二设备获取后发送来的第二设备的信道信息。这样,密钥处理单元91根据第二设备的信道信息就能够快速发现第二设备,以执行将用于得到第一共享密钥的信息发送给第二设备的操作。

除此之外,密钥处理单元91还可以利用第二设备的公钥生成验证值,将验证值发送给第二设备;以便第二设备在生成第一共享密钥之前,利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成第一共享密钥的操作。

图10为本发明实施例提供的设置于配置设备中的密钥配置装置的结构示意图,如图10所示,该密钥配置装置包括:信息获取单元11和信息发送单元12。

其中,信息获取单元11负责获取第二设备的公钥。

信息发送单元12负责将第二设备的公钥发送给第一设备。

这样第一设备就能够利用第二设备的公钥将用于得到第一共享密钥的信息发送给第二设备;或者第一设备就能够利用第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给第二设备。

然后第二设备利用自身的私钥以及用于得到第一共享密钥的信息生成第一共享密钥,第一共享密钥用于第一设备和第二设备之间的安全连接。

如果第一设备和第二设备基于预定的密钥交换算法实现第一共享密钥的生成,则信息发送单元12,还可以将密钥交换算法所使用的参数发送给第一设备和第二设备,该密钥交换算法用于第一设备和第二设备利用自身的私钥和对方的公钥按照密钥交换算法生成第一共享密钥。

为了提高信息传递的安全性,信息获取单元11可以获取第一设备的公钥。由信息发送单元12利用第一设备的公钥加密第二设备的公钥,将加密结果发送给第一设备,以便第一设备对加密结果进行解密,得到第二设备的公钥。

还存在另外一种方式:信息发送单元12与第一设备建立安全连接以生成第二共享密钥;在将第二设备的公钥发送给第一设备时,具体利用第二共享密钥将第二设备的公钥进行加密后,将加密结果发送给第一设备,以便第一设备利用第二共享密钥对接收到的加密结果进行解密后,得到第二设备的公钥。

具体地,信息发送单元12在与第一设备建立安全连接以生成第二共享密钥时,与第一设备通过WPS交互方式共享信任状,将信任状作为第二共享密钥;或者,将自身的公钥发送给第一设备,利用第一设备的公钥和自身的私钥按照预先约定的密钥交换算法生成第二共享密钥。

为了提高第一设备发现第二设备的效率,信息获取单元11还可以获取第二设备的信道信息。此时,信息发送单元12将第二设备的信道信息发送给第一设备,以便第一设备根据第二设备的信道信息快速发现第二设备,以执行将用于得到第一共享密钥的信息发送给第二设备的操作。

具体地,信息获取单元11通过扫描二维码、通用串行总线USB或者近场通信的方式从第一设备或者第二设备获取信息。

图11为本发明实施例提供的设置于第二设备中的密钥配置装置的结构示意图,如图11所示,该密钥配置装置可以包括:信息提供单元21、信息接收单元22和密钥处理单元23。

信息提供单元21负责向配置设备提供第二设备的公钥,以便配置设备将第二设备的公钥发送给第一设备。

信息接收单元22负责接收第一设备利用第二设备的公钥发送来的用于得到第一共享密钥的信息;或者接收第一设备利用第二设备的公钥生成第一共享密钥后,发送来的用于得到第一共享密钥的信息。

密钥处理单元23负责利用自身的私钥以及用于得到第一共享密钥的信息生成第一共享密钥,第一共享密钥用于第一设备和第二设备之间的安全连接。

得到第一共享密钥的方式可以采用以下几种:

第一种方式:信息接收单元22接收第一设备发送的加密结果,加密结果是第一设备生成密码,将密码作为第一共享密钥,利用第二设备的公钥将密码进行加密得到的。

此时,密钥处理单元23利用自身的私钥对加密结果进行解密得到密码,将密码作为第一共享密钥。

第二种方式:信息接收单元22接收第一设备发送的加密结果,加密结果是第一设备生成密码后,利用第二设备的公钥将密码进行加密得到的。

此时的密钥处理单元23利用自身的私钥对加密结果进行解密得到密码,利用密钥衍生算法对密码生成衍生密钥,将该衍生密钥作为第一共享密钥。

第三种方式:信息接收单元22接收第一设备发送的加密结果,加密结果是第一设备生成随机值,利用第一设备与第二设备约定的信息和该随机值生成第一共享密钥,利用第二设备的公钥对该随机值进行加密后得到的。

此时的密钥处理单元23利用自身的私钥对加密结果进行解密得到随机值,利用第一设备与第二设备约定的信息和随机值生成第一共享密钥。

第四种方式:信息接收单元22接收第一设备利用第二设备的公钥将第一设备的公钥进行加密后得到的加密结果。

此时密钥处理单元23利用自身的私钥对加密结果进行解密后,得到第一设备的公钥,并生成密码,将该密码作为第一共享密钥,利用第一设备的公钥将该密码进行加密后,将加密结果发送给第一设备,以便第一设备利用自身的私钥对接收到的加密结果进行解密后,将得到的密码作为第一共享密钥。

第五种方式:信息接收单元22接收第一设备利用第二设备的公钥和自身的私钥按照密钥交换算法生成第一共享密钥后,发送来的第一设备的公钥;密钥交换算法是第一设备和第二设备预定的。

此时,密钥处理单元23利用自身的私钥以及第一设备的公钥按照密钥交换算法生成第一共享密钥。

这种方式下,密钥处理单元23可以预先配置有密钥交换算法所使用的参数。或者,信息接收单元22接收配置设备发送的密钥交换算法所使用的参数,并提供给密钥处理单元23。

更进一步地,该密钥配置装置还可以包括:安全连接单元24。

安全连接单元24接收第一设备发送的加密结果,该加密结果是第一设备在得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后得到的;利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到信任状,信任状用于第一设备和第二设备之间的安全连接(图中示出的为该种实现)。或者,用于在密钥处理单元23得到第一共享密钥后,生成信任状,并利用第一共享密钥或第一共享密钥的衍生密钥对信任状进行加密后,将加密结果发送给第一设备;以便第一设备利用得到的第一共享密钥或者第一共享密钥的衍生密钥对加密结果进行解密得到信任状,信任状用于第一设备和第二设备之间的安全连接。

为了提高第一设备发现第二设备的效率,上述的信息提供单元21还可以将第二设备的信道信息提供给配置设备,以便配置设备将第二设备的信道信息发送给第一设备;以便第一设备根据第二设备的信道信息快速发现第二设备,以执行将用于得到第一共享密钥的信息发送给第二设备的操作。

具体地,信息提供单元21可以通过二维码、USB或近场通信的方式向配置设备提供信息。

另外,为了进一步提高安全性,信息接收单元22还可以接收第一设备利用第二设备的公钥生成的验证值。

此时密钥处理单元23利用自身的公钥对接收到的验证值进行验证,在验证通过的情况下,执行生成第一共享密钥的操作。

从硬件结构上考虑,上述的配置设备如图12所示,包括处理器、存储器和通信总线,所述处理器通过通信总线与存储器连接,所述存储器中保存有实现密钥配置方法的指令,进一步地,所述配置设备还包括通信接口,通过通信接口与其他设备通信连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行如下步骤:

获取第二设备的公钥,将所述第二设备的公钥发送给第一设备;

以便所述第一设备利用所述第二设备的公钥将用于得到第一共享密钥的信息发送给所述第二设备;或者以便所述第一设备利用所述第二设备的公钥生成第一共享密钥,将用于得到第一共享密钥的信息发送给所述第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行前述方法实施例中配置设备所执行的步骤,具体可参考前述方法实施例,在此不再赘述。

上述的第一设备如图13所示,包括处理器、存储器和通信总线,所述处理器通过通信总线与存储器连接,所述存储器中保存有实现密钥配置方法的指令,进一步地,所述第一设备还包括通信接口,通过通信接口与其他设备通信连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行如下步骤:

接收配置设备在获取到第二设备的公钥后发送的第二设备的公钥,利用所述第二设备的公钥将用于得到所述第一共享密钥的信息发送给所述第二设备;或者所述第一设备利用所述第二设备的公钥生成第一共享密钥,将用于得到所述第一共享密钥的信息发送给所述第二设备;

以便所述第二设备利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行前述方法实施例中第一设备所执行的步骤,具体可参考前述方法实施例,在此不再赘述。

上述的第二设备如图14所示,包括处理器、存储器和通信总线,所述处理器通过通信总线与存储器连接,所述存储器中保存有实现密钥配置方法的指令,进一步地,所述第二设备还包括通信接口,通过通信接口与其他设备通信连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行如下步骤:

向配置设备提供第二设备的公钥,以便所述配置设备将所述第二设备的公钥发送给第一设备;

接收所述第一设备利用所述第二设备的公钥发送来的用于得到第一共享密钥的信息;或者接收所述第一设备利用所述第二设备的公钥生成第一共享密钥后,发送来的用于得到第一共享密钥的信息;

利用自身的私钥以及所述用于得到第一共享密钥的信息生成所述第一共享密钥,所述第一共享密钥用于所述第一设备和所述第二设备之间的安全连接。

当处理器调取存储器中实现密钥配置方法的指令时,可以执行前述方法实施例中第二设备所执行的步骤,具体可参考前述方法实施例,在此不再赘述。

本发明所描述的设备在架构上都包含一些基本组件,如总线、处理系统、存储系统、一个或多个输入/输出系统、和通信接口等。总线可以包括一个或多个导线,用来实现设备中各组件之间的通信。处理系统包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储系统可以包括存储动态信息的随机访问存储器(RAM)等动态存储器,和存储静态信息的只读存储器(ROM)等静态存储器,以及包括磁或光学记录介质与相应驱动的大容量存储器。输入系统供用户输入信息到服务器或终端设备,如键盘、鼠标、手写笔、声音识别系统、或生物测定系统等,如果是无头设备,则可以不包含人机交互功能的输入系统。输出系统包括用来输出信息的显示器、打印机、扬声器、指示灯等。通信接口用来使服务器或终端设备与其它系统或系统进行通信。通信接口之间可通过有线连接、无线连接、或光连接连接到网络中。

各设备上均包含有用来管理系统资源、控制其它程序运行的操作系统软件,以及用来实现特定功能的应用软件。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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