一种网络设备安全连接方法、相关装置及系统
技术领域
本发明涉及通信领域,尤其涉及一种网络设备安全连接方法、相关装置及系统。
背景技术
无线保真(Wireless Fidelity,Wi-Fi)是一种广泛应用的无线通信技术,具有部署快速、使用便利和传输速率高等优势,被广泛应用于各个行业,Wi-Fi网络的接入点遍布于酒店、咖啡厅、学校和医院等场所,可以说Wi-Fi在生活中无所不在。
尽管Wi-Fi网络越来越流行,但是由于Wi-Fi网络设置复杂,设备商依然要投入大量的支持成本来帮助用户建立Wi-Fi网络以及解决使用过程中的问题。在那些成功设置了无线网络的用户中,依然有60%-70%的用户没有配置任何的安全参数,网络很受容易遭到攻击。为了解决用户在使用无线网络时的困惑,Wi-Fi联盟推出了Wi-Fi安全设置(Wi-FiProtected Setup,WPS)规范,又称Wi-Fi简单配置(Wi-Fi Simple Configuration,WSC),旨在简化用户在设置无线局域网(Wireless Local Area Network,WLAN)时的操作,让那些对无线设置和安全没有太多了解的用户也可以简单方便地设置安全的WLAN,可以方便地向网络中添加设备。
当前WPS应用的场景包括:作为被注册方enrollee的终端与作为注册器registrar的WiFi网络的接入点(Access Point,AP)之间进行信任状credential的配置,以便后续终端与AP之间能够基于信任状进行认证以建立安全的连接。具体地,待连接设备如AP,提供包含AP完整公钥的信息,另一设备如终端,通过带外信道(out of band)(即除Wi-Fi信道以外的其它信道)即带外方式,获取该AP完整公钥的信息后,向该AP发送利用AP完整公钥加密后的连接信息,AP利用自己的私钥解密该连接信息,基于该连接信息,该AP和该另一设备完成配置并建立安全网络连接。
为了保证配置连接后网络连接的安全性,采用的公钥必须足够长,大约192字节=1536比特长度。因此,包含完整的公钥使得待连接设备提供的信息变得密集而复杂,并且需要连接的双方设备的带外信道带宽有限,在连接过程中交互消息繁多复杂,或者交互消息内容过大,将导致连接效率低下,给用户带来不好的网络连接体验。
发明内容
本发明实施例所要解决的技术问题在于,提供一种网络设备安全连接方法、相关装置及系统,简化了网络连接流程,并提高了连接的安全性,大大提高了用户的连接体验。
第一方面,本发明实施例提供了一种网络设备安全连接方法,包括:
第一设备通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;
第一设备向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;
第一设备接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述加密后的第二设备公钥信息得到第二设备的公钥;
第一设备对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配时,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
结合第一方面,在第一种可能的实现方式中,所述第一设备接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥对约定的信息进行非对称加密而得到的信息,所述约定信息可以是第二设备公钥信息,或,发送消息的内容,或,摘要信息等。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后还包括:
以所述第二设备的公钥对所述签名验证信息进行验证;
若验证通过,则执行接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备的步骤;若验证失败,则结束连接过程。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述第一设备向所述第二设备发送第一设备公钥信息之前还包括:第一设备通过带外方式获取第二设备随机密码信息;
所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,在第五种可能的实现方式中,第一设备接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还接收到所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述接受接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述第一设备接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:第一设备接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述接受接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接收第二设备发送的连接信息之前还包括:
利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息,并向所述第二设备发送所述验证第一消息;
以使所述第二设备验证所述验证第一消息通过后发送所述连接信息。
结合第一方面的第四种可能的实现方式,在第八种可能的实现方式中,所述第一设备接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:第一设备接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述接受接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接收第二设备发送的连接信息之前还包括:
利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息;
以使所述第二设备验证所述验证第二消息通过后发送所述连接信息。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,或者第一方面的第五种可能的实现方式,或者第一方面的第六种可能的实现方式,或者第一方面的第七种可能的实现方式,或者第一方面的第八种可能的实现方式,或者第一方面的第九种可能的实现方式,在第十种可能的实现方式中,还包括第一设备通过带外方式获取第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
在与所述第二设备完成网络连接后,向所述第二设备发送所述第三设备公钥运算值,以使所述第二设备与所述第三设备进行网络连接。
第二方面,本发明实施例提供了一种网络设备安全连接方法,包括:
第二设备生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;
第二设备接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;并利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;
第二设备向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
结合第二方面,在第一种可能的实现方式中,第二设备发送所述第二设备公钥信息的同时还发送根据第二设备的私钥生成的签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;
当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第二方面,或者第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述第二设备接收所述第一设备发送的第一设备公钥信息之前还包括:生成第二设备随机密码信息,以供所述第一设备通过带外方式获取。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;
当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;
当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;
当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第二设备向所述第一设备发送所述第二设备公钥信息的同时还发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,在第六种可能的实现方式中,所述第二设备向所述第一设备发送所述第二设备公钥信息之后还包括:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
向所述第一设备发送所述连接信息。
结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第二设备向所述第一设备发送所述第二设备公钥信息之后,生成连接信息之前还包括:
接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;
根据第二设备的私钥验证所述验证第一消息通过后,执行所述生成连接信息的步骤;并确认所述连接信息生效。
结合第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式,在第八种可能的实现方式中,所述第二设备向所述第一设备发送所述第二设备公钥信息之后还包括:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
向所述第一设备发送所述连接信息。
结合第二方面的第八种可能的实现方式,在第九种可能的实现方式中,所述第二设备向所述第一设备发送所述第二设备公钥信息之后,生成连接信息之前还包括:
接收所述第一设备发送的验证第二消息;所述验证第二消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算而生成的,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算而生成的;
根据第二设备的私钥验证所述验证第二消息通过后,执行所述生成连接信息的步骤;并确认所述连接信息生效。
结合第二方面,或者第二方面的第一种可能的实现方式,或者第二方面的第二种可能的实现方式,或者第二方面的第三种可能的实现方式,或者第二方面的第四种可能的实现方式,或者第二方面的第五种可能的实现方式,或者第二方面的第六种可能的实现方式,或者第二方面的第七种可能的实现方式,或者第二方面的第八种可能的实现方式,或者第二方面的第九种可能的实现方式,在第十种可能的实现方式中,第二设备在与所述第一设备完成网络连接后,接收所述第一设备发送的第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
与所述第三设备进行网络连接。
第三方面,本发明实施例提供了一种网络设备安全连接装置,包括:
第一带外获取模块,用于通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;
第一发送模块,用于向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;
第一接收模块,用于接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述加密后的第二设备公钥信息得到第二设备的公钥;
运算模块,用于对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本;
匹配处理模块,用于对所述第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配时,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
结合第三方面,在第一种可能的实现方式中,所述第一接收模块接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥进行非对称加密而得到的信息。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
签名验证模块,用于以所述第二设备的公钥对所述签名验证信息进行验证;
签名验证处理模块,用于若所述签名验证模块验证通过,则执行接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备的步骤;若所述签名验证模块验证失败,则结束连接过程。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
第二带外获取模块,用于通过带外方式获取第二设备随机密码信息;
所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述第一接收模块接收所述第二设备公钥信息的同时,还接收到所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述装置还包括:连接信息解密模块,用于利用第一设备的私钥解密所述连接信息。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
第二接收模块,用于在所述第一接收模块接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
连接信息解密模块,用于利用第一设备的私钥解密所述连接信息。
结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述装置还包括:
验证第一消息生成模块,用于在所述匹配处理模块对所述第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配后,所述第二接收模块接收第二设备发送的连接信息之前,利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息;
第二发送模块,用于向所述第二设备发送所述验证第一消息。
结合第三方面的第四种可能的实现方式,在第八种可能的实现方式中,所述装置还包括:
第三接收模块,用于在所述第一接收模块接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
连接信息解密模块,用于利用第一设备的私钥解密所述连接信息。
结合第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述装置还包括:
验证第二消息生成模块,用于在所述匹配处理模块对所述第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配后,所述第三接收模块接收第二设备发送的连接信息之前,利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息;或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息;
第三发送模块,用于向所述第二设备发送所述验证第二消息。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,或者第三方面的第五种可能的实现方式,或者第三方面的第六种可能的实现方式,或者第三方面的第七种可能的实现方式,或者第三方面的第八种可能的实现方式,或者第三方面的第九种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
第三带外获取模块,用于通过带外方式获取第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
第四发送模块,用于在与所述第二设备完成网络连接后,向所述第二设备发送所述第三设备公钥运算值,以使所述第二设备与所述第三设备进行网络连接。
第四方面,本发明实施例提供了一种网络设备安全连接设备,包括:
公钥运算值生成模块,用于生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;
接收获取模块,用于接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;
公钥信息生成模块,用于利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;
第五发送模块,用于向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
结合第四方面,在第一种可能的实现方式中,所述设备还包括:
签名验证生成模块,用于根据第二设备的私钥生成签名验证信息;
所述第五发送模块发送所述第二设备公钥信息的同时还发送所述签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
结合第四方面,或者第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收获取模块包括:
第一获取单元,用于当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;和/或
第二获取单元,用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第四方面,或者第四方面的第一种可能的实现方式,在第三种可能的实现方式中,所述设备还包括:
随机密码生成模块,用于生成第二设备随机密码信息;在所述接收获取模块接收所述第一设备发送的第一设备公钥信息之前,供所述第一设备通过带外方式获取。
结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述接收获取模块包括:
第一获取单元,用于当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;和/或
第二获取单元,用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;和/或
第三获取单元,用于当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;和/或
第四获取单元,用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第四方面,或者第四方面的第一种可能的实现方式,或者第四方面的第二种可能的实现方式,或者第四方面的第三种可能的实现方式,或者第四方面的第四种可能的实现方式,在第五种可能的实现方式中,所述设备还包括:
连接信息生成模块,用于生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述第五发送模块向所述第一设备发送所述第二设备公钥信息的同时还发送所述连接信息。
结合第四方面,或者第四方面的第一种可能的实现方式,或者第四方面的第二种可能的实现方式,在第六种可能的实现方式中,所述设备还包括:
第一连接信息生成模块,用于在所述第五发送模块向所述第一设备发送所述第二设备公钥信息之后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
第一连接信息发送模块,用于向所述第一设备发送所述连接信息。
结合第四方面的第六种可能的实现方式,在第七种可能的实现方式中,所述第一验证确认模块包括:
第四接收模块,用于在所述第五发送模块向所述第一设备发送所述第二设备公钥信息之后,所述第一连接信息生成模块生成连接信息之前,接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;
第一验证确认模块,用于根据第二设备的私钥验证所述验证第一消息通过后,触发所述第一连接信息生成模块生成连接信息;并确认所述连接信息生效。
结合第四方面的第三种可能的实现方式,或者第四方面的第四种可能的实现方式,在第八种可能的实现方式中,所述设备还包括:
第二连接信息生成模块,用于在所述第五发送模块向所述第一设备发送所述第二设备公钥信息之后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
第二连接信息发送模块,用于向所述第一设备发送所述连接信息。
结合第四方面的第八种可能的实现方式,在第九种可能的实现方式中,所述设备还包括:
第五接收模块,用于在所述第五发送模块向所述第一设备发送所述第二设备公钥信息之后,所述第二连接信息生成模块生成连接信息之前,接收所述第一设备发送的验证第二消息;所述验证第二消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算而生成的,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算而生成的;
第二验证确认模块,用于根据第二设备的私钥验证所述验证第二消息通过后,触发所述第二连接信息生成模块生成连接信息;并确认所述连接信息生效。
结合第四方面,或者第四方面的第一种可能的实现方式,或者第四方面的第二种可能的实现方式,或者第四方面的第三种可能的实现方式,或者第四方面的第四种可能的实现方式,或者第四方面的第五种可能的实现方式,或者第四方面的第六种可能的实现方式,或者第四方面的第七种可能的实现方式,或者第四方面的第八种可能的实现方式,或者第四方面的第九种可能的实现方式,在第十种可能的实现方式中,所述设备还包括:
第六接收模块,用于在与所述第一设备完成网络连接后,接收所述第一设备发送的第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
网络连接模块,用于与所述第三设备进行网络连接。
第五方面,本发明实施例提供了一种网络设备,包括:输入装置、输出装置、存储器和处理器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
由所述输入装置通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;通过所述输出装置向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;通过所述输入装置接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述第二设备公钥信息得到第二设备的公钥;对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受所述输入装置接收到的第二设备发送的连接信息,或者生成连接信息通过所述输出装置发送给所述第二设备。
结合第五方面,在第一种可能的实现方式中,所述处理器通过所述输入装置接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还通过所述输入装置接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥进行非对称加密而得到的信息。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,所述处理器还执行:
以所述第二设备的公钥对所述签名验证信息进行验证;若验证通过,则执行接受所述输入装置接收到的第二设备发送的连接信息,或者生成连接信息通过所述输出装置发送给所述第二设备的步骤;若验证失败,则结束连接过程。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,在第四种可能的实现方式中,所述通过所述输出装置向所述第二设备发送第一设备公钥信息之前,所述处理器还执行:由所述输入装置通过带外方式获取第二设备随机密码信息;
所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,在第五种可能的实现方式中,所述处理器通过所述输入装置接收所述第二设备公钥信息的同时,还通过所述输入装置接收到所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述接受通过所述输入装置接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,在第六种可能的实现方式中,所述处理器通过所述输入装置接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:通过所述输入装置接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;所述处理器接受通过所述输入装置接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第五方面的第六种可能的实现方式,在第七种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,通过所述输入装置接收第二设备发送的连接信息之前,所述处理器还执行:
利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息,并通过所述输出装置向所述第二设备发送所述验证第一消息;以使所述第二设备验证所述验证第一消息通过后发送所述连接信息。
结合第五方面的第四种可能的实现方式,在第八种可能的实现方式中,所述处理器通过所述输入装置接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:通过所述输入装置接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述处理器接受通过所述输入装置接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
结合第五方面的第八种可能的实现方式,在第九种可能的实现方式中,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,通过所述输入装置接收第二设备发送的连接信息之前,所述处理器还执行:
利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息,并通过所述输出装置向所述第二设备发送所述验证第二消息;以使所述第二设备验证所述验证第二消息通过后发送所述连接信息。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,或者第五方面的第五种可能的实现方式,或者第五方面的第六种可能的实现方式,或者第五方面的第七种可能的实现方式,或者第五方面的第八种可能的实现方式,或者第五方面的第九种可能的实现方式,在第十种可能的实现方式中,所述处理器还执行由所述输入装置通过带外方式获取第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
在与所述第二设备完成网络连接后,通过所述输出装置向所述第二设备发送所述第三设备公钥运算值,以使所述第二设备与所述第三设备进行网络连接。
第六方面,本发明实施例提供了一种网络设备,包括:输入装置、输出装置、存储器和处理器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器存储的程序代码执行如下步骤:
生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;通过所述输入装置接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;并利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;通过所述输出装置向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配时,接受所述输入装置接收到的第二设备发送的连接信息,或者生成连接信息通过所述输出装置发送给所述第二设备。
结合第六方面,在第一种可能的实现方式中,所述处理器通过所述输出装置发送所述第二设备公钥信息的同时还发送根据第二设备的私钥生成的签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
结合第六方面,或者第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第六方面,或者第六方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理器通过所述输入装置接收所述第一设备发送的第一设备公钥信息之前还执行:生成第二设备随机密码信息,以供所述第一设备通过带外方式获取。
结合第六方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
结合第六方面,或者第六方面的第一种可能的实现方式,或者第六方面的第二种可能的实现方式,或者第六方面的第三种可能的实现方式,或者第六方面的第四种可能的实现方式,在第五种可能的实现方式中,所述处理器通过所述输出装置向所述第一设备发送所述第二设备公钥信息的同时还发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密。
结合第六方面,或者第六方面的第一种可能的实现方式,或者第六方面的第二种可能的实现方式,在第六种可能的实现方式中,所述处理器通过所述输出装置向所述第一设备发送所述第二设备公钥信息的同时还发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密。
结合第六方面的第六种可能的实现方式,在第七种可能的实现方式中,所述处理器通过所述输出装置向所述第一设备发送所述第二设备公钥信息之后,生成连接信息之前,还执行:
通过所述输入装置接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;根据第二设备的私钥验证所述验证第一消息通过后,执行所述生成连接信息的步骤;并确认所述连接信息生效。
结合第六方面的第三种可能的实现方式,或者第六方面的第四种可能的实现方式,在第八种可能的实现方式中,所述处理器通过所述输出装置向所述第一设备发送所述第二设备公钥信息之后还执行:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;通过所述输出装置向所述第一设备发送所述连接信息。
结合第六方面的第八种可能的实现方式,在第九种可能的实现方式中,所述处理器通过所述输出装置向所述第一设备发送所述第二设备公钥信息之后,生成连接信息之前,还执行:
通过所述输入装置接收所述第一设备发送的验证第二消息;所述验证第二消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算而生成的,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算而生成的;根据第二设备的私钥验证所述验证第二消息通过后,执行所述生成连接信息的步骤;并确认所述连接信息生效。
结合第六方面,或者第六方面的第一种可能的实现方式,或者第六方面的第二种可能的实现方式,或者第六方面的第三种可能的实现方式,或者第六方面的第四种可能的实现方式,或者第六方面的第五种可能的实现方式,或者第六方面的第六种可能的实现方式,或者第六方面的第七种可能的实现方式,或者第六方面的第八种可能的实现方式,或者第六方面的第九种可能的实现方式,在第十种可能的实现方式中,在与所述第一设备完成网络连接后,所述处理器通过所述输入装置接收所述第一设备发送的第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;与所述第三设备进行网络连接。
第七方面,本发明实施例提供了一种网络连接系统,包括第一设备和第二设备,其中
所述第一设备为第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,或者第五方面的第五种可能的实现方式,或者第五方面的第六种可能的实现方式,或者第五方面的第七种可能的实现方式,或者第五方面的第八种可能的实现方式,或者第五方面的第九种可能的实现方式,或者第五方面的第十种可能的实现方式中的网络设备;
所述第二设备为第六方面,或者第六方面的第一种可能的实现方式,或者第六方面的第二种可能的实现方式,或者第六方面的第三种可能的实现方式,或者第六方面的第四种可能的实现方式,或者第六方面的第五种可能的实现方式,或者第六方面的第六种可能的实现方式,或者第六方面的第七种可能的实现方式,或者第六方面的第八种可能的实现方式,或者第六方面的第九种可能的实现方式,或者第六方面的第十种可能的实现方式中的网络设备。
通过实施本发明实施例,对公钥进行运算得到公钥运算值,在连接过程的交互信息中用公钥运算值替代完整公钥,可以减少交互信息的内容,提高连接双方设备的带外信道利用率,并可提高连接过程的安全性;在通过扫描多维码来进行网络连接时,可大大减少多维码编码内容,降低了多维码的显示、扫描以及解码的要求,并适用性高,连接效率得到了很大的提高,大大提升了用户的连接体验;另外可通过公钥运算值结合随机密码信息进行连接,大大提高连接过程的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的网络设备安全连接的第一实施例的流程示意图;
图2是本发明提供的网络设备安全连接的第二实施例的流程示意图;
图3是本发明提供的网络设备安全连接的第三实施例的流程示意图;
图4是本发明提供的网络设备安全连接的第四实施例的流程示意图;
图5是本发明提供的网络设备安全连接的第五实施例的流程示意图;
图6是本发明提供的网络设备安全连接的第六实施例的流程示意图;
图7是本发明提供的网络设备安全连接的第七实施例的流程示意图;
图8是本发明提供的网络设备安全连接的第八实施例的流程示意图;
图9是本发明提供的网络设备安全连接的第九实施例的流程示意图;
图10是本发明提供的网络设备安全连接的第十实施例的流程示意图;
图11是本发明提供的网络设备安全连接装置的第一实施例的结构示意图;
图12是本发明提供的网络设备安全连接装置的第二实施例的结构示意图;
图13是本发明提供的网络设备安全连接装置的第三实施例的结构示意图;
图14是本发明提供的网络设备安全连接装置的第四实施例的结构示意图;
图15是本发明提供的网络设备安全连接装置的第五实施例的结构示意图;
图16是本发明提供的网络设备安全连接装置的第六实施例的结构示意图;
图17是本发明提供的网络设备安全连接装置的第七实施例的结构示意图;
图18是本发明提供的网络设备安全连接设备的第一实施例的结构示意图;
图19是本发明提供的网络设备安全连接设备的第二实施例的结构示意图;
图20是本发明接收获取模块的第一实施例的结构示意图;
图21是本发明提供的网络设备安全连接设备的第三实施例的结构示意图;
图22是本发明接收获取模块的第二实施例的结构示意图;
图23是本发明提供的网络设备安全连接设备的第四实施例的结构示意图;
图24是本发明提供的网络设备安全连接设备的第五实施例的结构示意图;
图25是本发明实施例的第一验证确认模块的结构示意图;
图26是本发明提供的网络设备安全连接设备的第六实施例的结构示意图;
图27是本发明实施例的第二验证确认模块的结构示意图;
图28是本发明的网络设备的第一实施例的结构示意图;
图29是本发明的网络设备的第二实施例的结构示意图;
图30是本发明实施例的网络连接系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的网络设备安全连接的第一实施例的流程示意图,该方法包括:
步骤S100:通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;
具体地,假设本端设备为第一设备,需要与第二设备进行网络连接。第二设备持有自己的公私钥对,第二设备将自身的公钥进行预设算法的运算后可得到第二设备公钥运算值;该预设算法包括但不限于散列算法,散列算法可以为安全散列算法(Secure HashAlgorithm,SHA)-256,SHA-224,信息摘要算法第五版(Message Digest Algorithm,MD5)等,但不以此为限。因此,本发明实施例中的公钥运算值包括但不限于:公钥的部分截断信息、公钥的哈希值(哈希运算后的值),公钥结合其他数据进行运算后的哈希值等公钥的衍生信息(动态或者静态),公钥的衍生信息长度可以不少于128比特。
再具体地,第一设备可以通过多种带外方式来获取第二设备公钥运算值,包括但不限于如下3种获取方式:
a、第二设备将得到的公钥运算值编码于多维码,第一设备以扫描等方式获得多维码后解码得到第二设备公钥运算值。根据设备能力的不同,多维码可以为静态多维码,如标签打印的多维码,在制造出厂时被贴在设备上;或动态多维码,如由第二设备动态生成多维码显示于屏幕上;多维码码制可以为任何可以识读的一维条码、二维条码码制,例如通用产品代码(Universal Product Code,UPC)、快速响应码(Quick Response Code,QR Code)等。本发明并不以此为限。第一设备具备多维码获取和识别功能,以获得多维码并将多维码解码得到第二设备公钥运算值。
b、第一设备以近距离无线通信方式获得第二设备公钥运算值。例如,第一设备通过NFC接口获得第二设备公钥运算值,具体地可以通过NFC主动模式或NFC被动模式获得。或是,第二设备通过其他无线低功率通信,如低功率蓝牙或低功率Wi-Fi等方式,将第二设备公钥运算值在报文中发送给第一设备。
c、第一设备通过接收人机交互界面的输入而获得第二设备公钥运算值,如接收用户通过键盘输入的第二设备公钥运算值,或者接收从USB接口输入的第二设备公钥运算值。
可理解的,第一设备可以从另外的设备中获取该第二设备公钥运算值,即第三设备中存储有该第二设备公钥运算值,那么第一设备可通过带外方式从第三设备中获取该第二设备公钥运算值;比如第三设备含有第二设备的多维码图像,那么第一设备可以扫描第三设备显示屏显示的该多维码图像,即可获取第二设备公钥运算值。另外,第一设备通过带外方式获取第二设备公钥运算值的同时,还可以获取如下信息,即例如通过扫描二维码获取第二设备公钥运算值时,二维码中还可以包括但不限于如下信息:
第二设备的地址标识MAC address、设备的种类(AP,sensor,普通设备等)、设备的角色(注册器,加入者enrollee,组长Group owner,客户端client等)等设备信息,甚至包含用于加快设备相互发现的过程的信道号、用于消息的新鲜性,或者用于生成某种信息的随机值等信息。第一设备和第二设备可以根据设备的种类信息,设备的角色信息判断是否产生信任状发送给对方,或等待接收对方发送地信任状。
步骤S102:向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;
具体地,第一设备的公钥可以为动态生成或固定不变的,第一设备可以根据第一设备的公钥生成第一设备公钥信息,通过Wi-Fi通道发送给第二设备,以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥。
步骤S104:接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述加密后的第二设备公钥信息得到第二设备的公钥;
具体地,第二设备获得第一设备的公钥后,可以利用该第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息发送给第一设备。
步骤S106:对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配时,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
具体地,第一设备对第二设备的公钥进行运算的算法可对应参考步骤S100所述的算法,这里不再赘述;第一设备将运算后的第二设备公钥运算值副本与步骤S100中获得的第二设备公钥运算值进行匹配对比,若两者相等,则表明判断匹配成功,确认了接收到的消息为第二设备发送而来的消息,那么后续可以接受接收到的第二设备发送的连接信息,即利用接收到的该连接信息与第二设备建立连接,或者生成连接信息发送给所述第二设备。
进一步地,步骤S104在接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还可以接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥进行非对称加密而得到的信息。步骤S106中当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后还可以包括:以所述第二设备的公钥对所述签名验证信息进行验证;若验证通过,则执行接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备的步骤;若验证失败,则结束连接过程。
具体地,本发明实施例中的所述签名验证信息可以为所述第二设备利用第二设备的私钥对双方约定的任意信息进行非对称加密而得到的信息,例如,可以为所述第二设备利用第二设备的私钥对所述第二设备公钥信息进行非对称加密而得到的信息;双方约定的信息还可以为发送消息的内容,或摘要信息等;第一设备利用步骤S104中得到的第二设备的公钥对该签名验证信息进行验证,验证签名是否正确,若验证通过则表明该消息为第二设备发送的消息,后续可以接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备;若验证不通过则表明该消息并非第二设备发送的消息,不接受该消息,即丢弃该消息。
再进一步地,步骤S102中发送的第一设备公钥信息可以直接为第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。具体地,当第一设备公钥信息直接为第一设备的公钥时,第二设备接收到该第一设备公钥信息时,直接获得第一设备的公钥;当第一设备公钥信息为利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,第二设备接收到该第一设备公钥信息后,需要利用第二设备公钥运算值对该第一设备公钥信息进行解密,得到第一设备的公钥。
再进一步地,本发明实施例中步骤S106在所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息之前还包括:利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息,并向所述第二设备发送所述验证第一消息,以向所述第二设备证明自己正确拥有第二设备公钥信息;所述第二设备对该验证第一消息进行验证成功后,生效生成的或接收的连接信息,最终完成网络连接。
需要说明的是,本发明实施例中可以在步骤S104接收所述第二设备公钥信息的同时,还接收所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;即,第二设备可以在发送第二设备公钥信息的同时,发送连接信息;第一设备接收到该连接信息后,在所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配,并且签名验证通过后,接受该连接信息,最终完成网络连接。
还需要说明的是,本发明实施例中还可以在步骤S106的所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,第一设备生成连接信息发送给所述第二设备,该连接信息利用所述第二设备的公钥进行了非对称加密。以使第二设备获取该连接信息后利用第二设备的私钥并进行解密,最终双方获得连接信息,完成网络连接。
还需要说明的是,本发明实施例中还可以在步骤S106向所述第二设备发送所述验证第一消息后,接收第二设备发送的连接信息;该连接信息为第二设备验证通过所述验证第一消息后生成的连接信息,该连接信息同样利用所述第一设备的公钥进行了非对称加密,第一设备利用第一设备的私钥解密所述连接信息,最终完成网络连接;本发明实施例中还可以不需要向所述第二设备发送所述验证第一消息,在步骤S104接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,再直接接收第二设备发送的连接信息。
再进一步地,本发明实施例在步骤S102向所述第二设备发送第一设备公钥信息之前,还可以包括通过带外方式获取第二设备随机密码信息;优选地,第一设备在步骤S100通过带外方式获取第二设备公钥运算值的同时,也获取该第二设备随机密码信息;具体地,第二设备生成该第二设备随机密码信息,以供第一设备通过带外方式进行获取;那么,在步骤S102中向所述第二设备发送的第一设备公钥信息可以包括以下情况:
该第一设备公钥信息直接为第一设备的公钥、或者该第一设备公钥信息为利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息、或者该第一设备公钥信息为利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息、或者该第一设备公钥信息为利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
可理解的,第二设备接收到该第一设备公钥信息后,将根据上述各种情况对应的解密密钥来对第一设备公钥信息进行解密,得到第一设备的公钥。
再进一步地,本发明实施例中步骤S106在所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息之前还包括:利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息,以向所述第二设备证明自己正确拥有第二设备公钥信息;所述第二设备对该验证第二消息进行验证成功后,生效生成的或接收的连接信息,最终完成网络连接。
同样地,当第一设备获得第二设备随机密码信息后,可以在步骤S104接收所述第二设备公钥信息的同时,还接收所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;即,第二设备可以在发送第二设备公钥信息的同时,发送连接信息;第一设备接收到该连接信息后,在所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配,并且签名验证通过后,接受该连接信息,最终完成网络连接;或者
还可以在步骤S106的所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,第一设备生成连接信息发送给所述第二设备,该连接信息利用所述第二设备的公钥进行了非对称加密。以使第二设备获取该连接信息后利用第二设备的私钥并进行解密,最终双方获得连接信息,完成网络连接;或者
还可以在步骤S106向所述第二设备发送所述验证第二消息后,接收第二设备发送的连接信息;该连接信息为第二设备验证通过所述验证第二消息后生成的连接信息,该连接信息同样利用所述第一设备的公钥进行了非对称加密,第一设备利用第一设备的私钥解密所述连接信息,最终完成网络连接。
可理解地,本发明实施例中第一设备还可以不需要向所述第二设备发送所述验证第二消息,在步骤S104接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,再直接接收第二设备发送的连接信息。
再可理解的,本发明实施例中,第一设备还可以预先向第二设备发送一随机值n,那么:
第一设备在生成上述验证第一消息时,具体可以利用第二设备的公钥,对第二设备公钥运算值和该随机值n之间的哈希运算值进行非对称运算,生成验证第一消息;然后第二设备接收到该验证第一消息后,利用自身的私钥解密得出第二设备公钥运算值与该随机值n之间的哈希运算值,然后将预先得到的第一设备发送的随机值n与自身存储的第二设备公钥运算值进行哈希运算,判断运算后的值是否等于上述解密得到的哈希运算值,若相等,则验证通过,否则验证失败;同理,第一设备在生成上述验证第二消息时,具体可以第二设备的公钥,对第二设备公钥运算值和/或第二设备随机密码信息与该随机值n之间的哈希运算值进行非对称运算,生成验证第二消息;然后第二设备接收到该验证第二消息后,利用自身的私钥解密得出第二设备公钥运算值和/或第二设备随机密码信息与该随机值n之间的哈希运算值,然后将预先得到的第一设备发送的随机值n与自身存储的第二设备公钥运算值和/或第二设备随机密码信息进行哈希运算,判断运算后的值是否等于上述解密得到的哈希运算值,若相等,则验证通过,否则验证失败。
再可理解的,本发明实施例中,第一设备还可以预先发送对第二设备公钥运算值和该随机值n之间的哈希运算值,然后第一设备在生成上述验证第一消息时,利用第二设备的公钥为非对称加密密钥,对随机值n进行加密。然后第二设备接收到该验证第一消息后,利用自身的私钥解密得出该随机值n,然后将随机值n与自身存储的第二设备公钥运算值进行哈希运算,判断运算后的值是否等于上述解密得到的哈希运算值,若相等,则验证通过,否则验证失败;
同理,第一设备在生成上述验证第二消息时,具体可以第二设备的公钥为非对称加密密钥,对该随机值n之间的哈希运算值进行非对称运算,生成验证第二消息;然后第二设备接收到该验证第二消息后,利用自身的私钥解密得出该随机值n,然后将随机值n与自身存储的第二设备公钥运算值和/或第二设备随机密码信息进行哈希运算,判断运算后的值是否等于上述解密得到的哈希运算值,若相等,则验证通过,否则验证失败。
需要说明的是,本发明实施例中的第一设备和第二设备可以结合发现过程,具体地可以采用802.11中的发现机制:
1)主动发现过程:第一设备通过带外方式获得第二设备的信息之后,向第二设备发送探测消息probe request,携带WiFi简单的连接信息元素(WiFi simpleconfiguration information elements,WSC IE),第二设备接送到该消息后回复探测回复消息probe response,携带WSC IE。Probe request中可以携带设备将要采取的连接方式,probe response中回复认该配置连接方式;
2)被动发现过程:如果其中一方设备为AP,可以在其广播消息(beacon消息)中携带WSC IE以用于发现过程。
再具体地,本发明实施例的连接过程可以通过扩展认证协议(ExtensibleAuthentication Protocol,EAP)请求消息,EAP回复消息进行封装完成连接过程,双方获得信任状。后续进行的四步握手为基于连接过程中产生的信任状中的连接密码为基础进行连接,基于连接密码生成PMK(pairwise master key),成对主密钥。四步握手过程是基于PMK产生PTK(pairwise transient key)成对传输密钥,最终利用PTK加密通信内容。详细地,请参考图2本发明实施例的完整连接过程示意图。
可理解的,当本发明实施例中第一设备没有向第二设备发送验证第一消息或者验证第二消息,那么可以在四步握手过程中完成双方的信息验证。
再进一步地,在一些网络连接场景下,两设备(假设为设备A和设备B)均为UI受限设备时,一设备无法安全获得另一设备的公钥运算值,那么此时,需要通过第三方的设备来协助配置连接该两个待配置连接的设备;具体地,第三方设备都可以通过带外方式获取该两个UI受限设备的公钥运算值;可以假设第三方设备为上述图1实施例中的第一设备,设备A为第二设备;那么
第三方设备可以通过上述图1实施例与该设备A进行网络连接,并在第三方设备向该设备A发送连接信息后发送设备B的公钥运算值,以使该设备A安全地接收到设备B的公钥运算值,设备A与设备B之间再进行网络连接;
或者,第三方设备可以通过上述图1实施例与该设备A进行网络连接,并将第三方设备准备向该设备A发送的连接信息替换成设备B的公钥运算值,以使该设备A安全地接收到设备B的公钥运算值,设备A与设备B之间再进行网络连接;
需要说明的是,设备A和设备B之间的网络连接也可以采用本发明图1实施例中的实现方式来进行连接。
为了便于更好地实施本发明实施例的上述方案,下面结合图3示出的本发明提供的网络设备安全连接的第二实施例的流程示意图,以第二设备端来描述连接过程,该方法包括:
步骤S300:生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;
具体地,第二设备持有自身的公私钥对,第二设备将自身的公钥进行的运算算法可参考图1实施例中的步骤S100描述的运算算法,这里不再赘述;第一设备如何通过带外方式来获取可参考图1实施例中的步骤S100描述的运算算法,这里不再赘述;
步骤S302:接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;并利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;
具体地,通过Wi-Fi通道接收到所述第一设备发送的第一设备公钥信息;
步骤S304:向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
进一步地,步骤S304中发送所述第二设备公钥信息的同时还可以发送根据第二设备的私钥生成的签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
再进一步地,步骤S302中当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
再进一步地,步骤S304向所述第一设备发送所述第二设备公钥信息之后还可以包括:接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;根据第二设备的私钥验证所述验证第一消息通过后,确认所述连接信息生效,最终完成网络连接。
需要说明的是,步骤S304向所述第一设备发送所述第二设备公钥信息的同时还可以发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密。
还需要说明的是,步骤S304向所述第一设备发送所述第二设备公钥信息之后还可以包括:接收所述第一设备发送的验证第一消息的同时,接收所述第一设备生成的连接信息,该连接信息利用所述第二设备的公钥进行了非对称加密,第二设备获取该连接信息后利用第二设备的私钥并进行解密,最终双方获得连接信息,并验证通过该验证第一消息后,完成网络连接。
还需要说明的是,第二设备还可以在根据第二设备的私钥验证所述验证第一消息通过后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;向所述第一设备发送所述连接信息。第一设备利用第一设备的私钥解密所述连接信息,最终完成网络连接;或者第二设备不用接收该验证第一消息,直接生成该连接信息并发送第一设备。
再进一步地,步骤S302接收所述第一设备发送的第一设备公钥信息之前还可以包括:生成第二设备随机密码信息,以供所述第一设备通过带外方式获取。优选地,在步骤S300向第一设备提供第二设备公钥运算值的同时提供该第二设备随机密码信息;那么步骤S302中从所述第一设备公钥信息中获取第一设备的公钥可以包括以下情况:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
再进一步地,步骤S304向所述第一设备发送所述第二设备公钥信息之后还可以包括:接收所述第一设备发送的验证第二消息;所述验证第二消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算而生成的;根据第二设备的私钥验证所述验证第二消息通过后,确认所述连接信息生效。
具体地,第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息,以向所述第二设备证明自己正确拥有第二设备公钥信息;所述第二设备对该验证第二消息进行验证成功后,生效生成的或接收的连接信息,最终完成网络连接。
同样地,第二设备生成第二设备随机密码信息通过带外方式供第一设备获取后,步骤S304向所述第一设备发送所述第二设备公钥信息的同时还可以发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;或者
步骤S304向所述第一设备发送所述第二设备公钥信息之后还可以包括:接收所述第一设备发送的验证第二消息的同时,接收所述第一设备生成的连接信息,该连接信息利用所述第二设备的公钥进行了非对称加密,第二设备获取该连接信息后利用第二设备的私钥并进行解密,最终双方获得连接信息,并验证通过该验证第二消息后,完成网络连接;或者
第二设备还可以在根据第二设备的私钥验证所述验证第二消息通过后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;向所述第一设备发送所述连接信息。第一设备利用第一设备的私钥解密所述连接信息,最终完成网络连接。或者第二设备不用接收该验证第二消息,直接生成该连接信息并发送第一设备。
再进一步地,在一些网络连接场景下,两设备(假设为设备A和设备B)均为UI受限设备时,一设备无法安全获得另一设备的公钥运算值,那么此时,需要通过第三方的设备来协助配置连接该两个待配置连接的设备;具体地,第三方设备都可以通过带外方式获取该两个UI受限设备的公钥运算值;可以假设第三方设备为上述图3实施例中的第一设备,设备A为第二设备;那么
第三方设备可以通过上述图3实施例与该设备A进行网络连接,并在第三方设备向该设备A发送连接信息后发送设备B的公钥运算值,以使该设备A安全地接收到设备B的公钥运算值,设备A与设备B之间再进行网络连接;
或者,第三方设备可以通过上述图3实施例与该设备A进行网络连接,并将第三方设备准备向该设备A发送的连接信息替换成设备B的公钥运算值,以使该设备A安全地接收到设备B的公钥运算值,设备A与设备B之间再进行网络连接;
需要说明的是,设备A和设备B之间的网络连接也可以采用本发明图3实施例中的实现方式来进行连接。
需要说明的是,本发明各个实施例中的连接信息用于设备之间建立安全连接,或,连接信息用于设备之间进行网络配置获得新的连接信息,或,连接信息用于执行现有WPS配置;本发明实施例中描述的第一设备接受连接信息,或者第二设备确认连接信息生效,即表示对第二设备验证成功,第二设备可以使用这个连接信息接入无线网络。
通过实施本发明实施例,对公钥进行运算得到公钥运算值,在连接过程的交互信息中用公钥运算值替代完整公钥,可以减少交互信息的内容,提高连接双方设备的带外信道利用率,并可提高连接过程的安全性;在通过扫描多维码来进行网络连接时,可大大减少多维码编码内容,降低了多维码的显示、扫描以及解码的要求,并适用性高,连接效率得到了很大的提高,大大提升了用户的连接体验;另外可通过公钥运算值结合随机密码信息进行连接,大大提高连接过程的安全性。
下面结合图4至图11,详细举例说明本发明实施例的网络设备安全连接:
如图4示出的本发明提供的网络设备安全连接的第三实施例的流程示意图,包括:
步骤S400:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;
步骤S402:第一设备通过带外方式获取第二设备公钥运算值;
步骤S404:第一设备利用第二设备公钥运算值对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S406:第一设备向第二设备发送第一设备公钥信息;
步骤S408:第二设备利用自身的第二设备公钥运算值解密第一设备公钥信息,得到第一设备的公钥;
步骤S410:第二设备利用第一设备的公钥生成连接信息和第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S412:第二设备向第一设备发送连接信息、第二设备公钥信息以及签名验证信息;
步骤S414:第一设备利用自身的私钥解密连接信息,以及解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,接受该连接信息;
步骤S416:第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算,生成验证第一消息,并向所述第二设备发送所述验证第一消息;
步骤S418:第二设备利用自身的私钥解密验证第一消息,若解密验证成功,则生效该连接信息;否则,不使用该连接信息。
需要说明的是,步骤S412中第二设备可以不向第一设备发送连接信息,可以在步骤S418第二设备解密验证成功后,才发送该连接信息。
如图5示出的本发明提供的网络设备安全连接的第四实施例的流程示意图,包括:
步骤S500:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;
步骤S502:第一设备通过带外方式获取第二设备公钥运算值;
步骤S504:第一设备利用第二设备公钥运算值对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S506:第一设备向第二设备发送第一设备公钥信息;
步骤S508:第二设备利用自身的第二设备公钥运算值解密第一设备公钥信息,得到第一设备的公钥;
步骤S510:第二设备利用第一设备的公钥生成第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S512:第二设备向第一设备发送第二设备公钥信息以及签名验证信息;
步骤S514:第一设备利用自身的私钥解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,生成连接信息以及验证第一消息;该连接信息利用第二设备的公钥进行了非对称加密;该验证第一消息为利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;
步骤S516:第一设备向所述第二设备发送连接信息和验证第一消息;
步骤S518:第二设备利用自身的私钥解密连接信息和验证第一消息,若解密验证成功,则接受该连接信息;否则,不接受该连接信息。
如图6示出的本发明提供的网络设备安全连接的第五实施例的流程示意图,包括:
步骤S600:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S602:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S604:第一设备利用第二设备公钥运算值和第二设备随机密码信息对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S606:第一设备向第二设备发送第一设备公钥信息;
步骤S608:第二设备利用自身的第二设备公钥运算值和第二设备随机密码信息解密第一设备公钥信息,得到第一设备的公钥;
步骤S610:第二设备利用第一设备的公钥生成连接信息和第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S612:第二设备向第一设备发送连接信息、第二设备公钥信息以及签名验证信息;
步骤S614:第一设备利用自身的私钥解密连接信息,以及解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,接受该连接信息;
步骤S616:第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息;
步骤S618:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则生效该连接信息;否则,不使用该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
需要说明的是,步骤S612中第二设备可以不向第一设备发送连接信息,可以在步骤S618第二设备解密验证成功后,才发送该连接信息。
如图7示出的本发明提供的网络设备安全连接的第六实施例的流程示意图,包括:
步骤S700:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S702:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S704:第一设备利用第二设备公钥运算值和第二设备随机密码信息对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S706:第一设备向第二设备发送第一设备公钥信息;
步骤S708:第二设备利用自身的第二设备公钥运算值和第二设备随机密码信息解密第一设备公钥信息,得到第一设备的公钥;
步骤S710:第二设备利用第一设备的公钥生成第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S712:第二设备向第一设备发送第二设备公钥信息以及签名验证信息;
步骤S714:第一设备利用自身的私钥解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,生成连接信息以及验证第二消息;该连接信息利用第二设备的公钥进行了非对称加密;该验证第二消息为利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算而生成的;
步骤S716:第一设备向所述第二设备发送连接信息和所述验证第二消息;
步骤S718:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则接受该连接信息;否则,不接受该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
如图8示出的本发明提供的网络设备安全连接的第七实施例的流程示意图,包括:
步骤S800:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S802:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S804:第一设备向第二设备发送第一设备的公钥;
步骤S806:第二设备接收第一设备的公钥;
步骤S808:第二设备利用第一设备的公钥生成连接信息和第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S810:第二设备向第一设备发送连接信息、第二设备公钥信息以及签名验证信息;
步骤S812:第一设备利用自身的私钥解密连接信息,以及解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,接受该连接信息;
步骤S814:第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息;
步骤S816:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则生效该连接信息;否则,不使用该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
需要说明的是,步骤S810中第二设备可以不向第一设备发送连接信息,可以在步骤S816第二设备解密验证成功后,才发送该连接信息。
如图9示出的本发明提供的网络设备安全连接的第八实施例的流程示意图,包括:
步骤S900:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S902:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S904:第一设备向第二设备发送第一设备的公钥;
步骤S906:第二设备接收第一设备的公钥;
步骤S908:第二设备利用第一设备的公钥生成第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S910:第二设备向第一设备发送第二设备公钥信息以及签名验证信息;
步骤S912:第一设备利用自身的私钥解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,生成连接信息以及验证第二消息;该连接信息利用第二设备的公钥进行了非对称加密;该验证第二消息为利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算而生成的;
步骤S914:第一设备向所述第二设备发送连接信息和所述验证第二消息;
步骤S916:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则接受该连接信息;否则,不接受该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
如图10示出的本发明提供的网络设备安全连接的第九实施例的流程示意图,包括:
步骤S1000:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S1002:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S1004:第一设备利用第二设备随机密码信息对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S1006:第一设备向第二设备发送第一设备公钥信息;
步骤S1008:第二设备利用自身的第二设备随机密码信息解密第一设备公钥信息,得到第一设备的公钥;
步骤S1010:第二设备利用第一设备的公钥生成连接信息和第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S1012:第二设备向第一设备发送连接信息、第二设备公钥信息以及签名验证信息;
步骤S1014:第一设备利用自身的私钥解密连接信息,以及解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,接受该连接信息;
步骤S1016:第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算,生成验证第二消息,并向所述第二设备发送所述验证第二消息;
步骤S1018:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则生效该连接信息;否则,不使用该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
需要说明的是,步骤S1012中第二设备可以不向第一设备发送连接信息,可以在步骤S1018第二设备解密验证成功后,才发送该连接信息。
如图11示出的本发明提供的网络设备安全连接的第十实施例的流程示意图,包括:
步骤S1100:第二设备将自身的公钥进行预设算法的运算后得到第二设备的公钥运算值,供第一设备获取;生成第二设备随机密码信息供第一设备获取;
步骤S1102:第一设备通过带外方式获取第二设备公钥运算值和第二设备随机密码信息;
步骤S1104:第一设备利用第二设备随机密码信息对第一设备的公钥进行对称加密得到第一设备公钥信息;
步骤S1106:第一设备向第二设备发送第一设备公钥信息;
步骤S1108:第二设备利用自身的第二设备随机密码信息解密第一设备公钥信息,得到第一设备的公钥;
步骤S1110:第二设备利用第一设备的公钥生成第二设备公钥信息,并利用第二设备的私钥对该第二设备公钥信息进行非对称加密生成签名验证信息;
步骤S1112:第二设备向第一设备发送第二设备公钥信息以及签名验证信息;
步骤S1114:第一设备利用自身的私钥解密第二设备公钥信息得到第二设备的公钥,对第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,利用第二设备的公钥验证签名验证信息,并验证成功后,生成连接信息以及验证第二消息;该连接信息利用第二设备的公钥进行了非对称加密;该验证第二消息为利用第二设备的公钥对所述第二设备公钥运算值和/或第二设备随机密码信息进行非对称加密运算而生成的;
步骤S1116:第一设备向所述第二设备发送连接信息和所述验证第二消息;
步骤S1118:第二设备利用自身的私钥解密验证第二消息,若解密验证成功,则接受该连接信息;否则,不接受该连接信息。
具体地,若解密该验证第二消息得出的第二设备公钥运算值和/或第二设备随机密码信息,与自身的第二设备公钥运算值和/或第二设备随机密码信息相同,则表明验证成功;否则验证失败;
需要说明的是,上述图4至图11实施例中,步骤S406、步骤S506、步骤S606、步骤S706、步骤S804、步骤S904、步骤S1006和步骤S1106还可以包括:第一设备利用第二设备公钥运算值生成一个验证值,以证明自己拥有第二设备公钥运算值,并向第二设备发送该验证值,以使第二设备利用自身的第二设备公钥运算值对该验证值进行验证。
通过实施本发明实施例,对公钥进行运算得到公钥运算值,在连接过程的交互信息中用公钥运算值替代完整公钥,可以减少交互信息的内容,提高连接双方设备的带外信道利用率,并可提高连接过程的安全性;在通过扫描多维码来进行网络连接时,可大大减少多维码编码内容,降低了多维码的显示、扫描以及解码的要求,并适用性高,连接效率得到了很大的提高,大大提升了用户的连接体验;另外可通过公钥运算值结合随机密码信息进行连接,大大提高连接过程的安全性。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关装置。下面结合图12示出的本发明提供的网络设备安全连接装置的第一实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括:第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206和匹配处理模块1208,其中
第一带外获取模块1200用于通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;
第一发送模块1202用于向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;
第一接收模块1204用于接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述加密后的第二设备公钥信息得到第二设备的公钥;
运算模块1206用于对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本;
匹配处理模块1208用于对所述第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配时,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
具体地,第一接收模块1204接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,还接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥进行非对称加密而得到的信息。
如图13示出的本发明提供的网络设备安全连接装置的第二实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206和匹配处理模块1208外,还可以包括签名验证模块1210和签名验证处理模块1212,其中
签名验证模块1210用于以所述第二设备的公钥对所述签名验证信息进行验证;
签名验证处理模块1212用于若签名验证模块1210验证通过,则执行接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备的步骤;若签名验证模块1210验证失败,则结束连接过程。
再具体地,所述第一设备公钥信息可以包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。
如图14示出的本发明提供的网络设备安全连接装置的第三实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206、匹配处理模块1208、签名验证模块1210和签名验证处理模块1212外,还可以包括第二带外获取模块1214,其中
第二带外获取模块1214用于通过带外方式获取第二设备随机密码信息;
所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
具体地,第一接收模块1204接收所述第二设备公钥信息的同时,还可以接收到所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
网络设备安全连接装置120还可以包括:连接信息解密模块,用于利用第一设备的私钥解密所述连接信息。
如图15示出的本发明提供的网络设备安全连接装置的第四实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206、匹配处理模块1208、签名验证模块1210和签名验证处理模块1212外,还可以包括验证第二接收模块1216和连接信息解密模块1218,其中
第二接收模块1216用于在第一接收模块1204接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
连接信息解密模块1218用于利用第一设备的私钥解密所述连接信息。
如图16示出的本发明提供的网络设备安全连接装置的第五实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206、匹配处理模块1208、签名验证模块1210、签名验证处理模块1212、第二接收模块1216和连接信息解密模块1218外,还可以包括验证第一消息生成模块1220和第二发送模块1222,其中
验证第一消息生成模块1220用于在匹配处理模块1208对第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配后,第二接收模块1216接收第二设备发送的连接信息之前,利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息;
第二发送模块1222用于向所述第二设备发送所述验证第一消息。
如图17示出的本发明提供的网络设备安全连接装置的第六实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206、匹配处理模块1208、签名验证模块1210、签名验证处理模块1212和第二带外获取模块1214外,还可以第三接收模块1224和连接信息解密模块1226,其中
第三接收模块1224用于在第一接收模块1204接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后,接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
连接信息解密模块1226用于利用第一设备的私钥解密所述连接信息。
如图18示出的本发明提供的网络设备安全连接装置的第七实施例的结构示意图,进行详细说明:
网络设备安全连接装置120包括第一带外获取模块1200、第一发送模块1202、第一接收模块1204、运算模块1206、匹配处理模块1208、签名验证模块1210、签名验证处理模块1212、第二带外获取模块1214、第三接收模块1224和连接信息解密模块1226外,还可以包括验证第二消息生成模块1228和第三发送模块1230,其中
验证第二消息生成模块1228用于在匹配处理模块1208对所述第二设备公钥运算值副本与所述第二设备公钥运算值进行匹配后,第三接收模块1224接收第二设备发送的连接信息之前,利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息;或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息;
第三发送模块1230用于向所述第二设备发送所述验证第二消息。
需要说明的是,连接信息解密模块1216、连接信息解密模块1218与连接信息解密模块1226可以为具有同样功能的模块。
再进一步地,本发明实施例中的网络设备安全连接装置120还可以包括第三带外获取模块和第四发送模块,其中
第三带外获取模块用于通过带外方式获取第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
第四发送模块用于在与所述第二设备完成网络连接后,向所述第二设备发送所述第三设备公钥运算值,以使所述第二设备与所述第三设备进行网络连接。
需要说明的是,网络设备安全连接装置120中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关装置。下面结合图19示出的本发明提供的网络设备安全连接设备的第一实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904和第五发送模块1906,其中
公钥运算值生成模块1900用于生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;
接收获取模块1902用于接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;
公钥信息生成模块1904用于利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;
第五发送模块1906用于向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受接收到的第二设备发送的连接信息,或者生成连接信息发送给所述第二设备。
如图20示出的本发明提供的网络设备安全连接设备的第二实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904和第五发送模块1906外,还可以包括签名验证生成模块1908,其中
签名验证生成模块1086用于根据第二设备的私钥生成签名验证信息;
第五发送模块1906发送所述第二设备公钥信息的同时还发送所述签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
具体地,如图21示出的本发明接收获取模块的第一实施例的结构示意图,接收获取模块1902包括:第一获取单元19020和/或第二获取单元19022,本发明实施例中以都包含上述两个单元为例进行说明,其中
第一获取单元19020用于当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;
第二获取单元19022用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
如图22示出的本发明提供的网络设备安全连接设备的第三实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906和签名验证生成模块1908外,还可以包括随机密码生成模块1910,其中
随机密码生成模块1910用于生成第二设备随机密码信息;在所述接收获取模块接收所述第一设备发送的第一设备公钥信息之前,供所述第一设备通过带外方式获取。
如图23示出的本发明接收获取模块的第二实施例的结构示意图,接收获取模块1902包括:第一获取单元19020、和/或第二获取单元19022、第三获取单元19024、和/或第四获取单元19026,本发明实施例中以都包含上述四个单元为例进行说明,其中
第一获取单元19020用于当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;
第二获取单元19022用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;
第三获取单元19024用于当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;
第四获取单元19026用于当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
如图24示出的本发明提供的网络设备安全连接设备的第四实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906、签名验证生成模块1908和随机密码生成模块1910外,还可以包括连接信息生成模块1912,其中
连接信息生成模块1912用于生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
第五发送模块1906向所述第一设备发送所述第二设备公钥信息的同时还发送所述连接信息。
如图25示出的本发明提供的网络设备安全连接设备的第五实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906和签名验证生成模块1908外,还可以包括第一连接信息生成模块1914和第一连接信息发送模块1916,其中
第一连接信息生成模块1914用于在所述第五发送模块向所述第一设备发送所述第二设备公钥信息之后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
第一连接信息发送模块1916用于向所述第一设备发送所述连接信息。
如图26示出的本发明提供的网络设备安全连接设备的第六实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906、签名验证生成模块1908、第一连接信息生成模块1914和第一连接信息发送模块1916外,还可以包括第四接收模块1918和第一验证确认模块1920,其中
第四接收模块1918用于在第五发送模块1906向所述第一设备发送所述第二设备公钥信息之后,第一连接信息生成模块1916生成连接信息之前,接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;
第一验证确认模块1920用于根据第二设备的私钥验证所述验证第一消息通过后,触发所述第一连接信息生成模块生成连接信息。
如图27示出的本发明提供的网络设备安全连接设备的第七实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906、签名验证生成模块1908和随机密码生成模块1910外,还可以包括第二连接信息生成模块1922和第二连接信息发送模块1924,其中
第二连接信息生成模块1922用于在第五发送模块1906向所述第一设备发送所述第二设备公钥信息之后,生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
第二连接信息发送模块1924用于向所述第一设备发送所述连接信息。
如图28示出的本发明提供的网络设备安全连接设备的第八实施例的结构示意图,进行详细说明:
网络设备安全连接设备190包括公钥运算值生成模块1900、接收获取模块1902、公钥信息生成模块1904、第五发送模块1906、签名验证生成模块1908、随机密码生成模块1910、第二连接信息生成模块1922和第二连接信息发送模块1924外,还可以包括第五接收模块1926和第二验证确认模块1928,其中
第五接收模块1926用于在第五发送模块1906向所述第一设备发送所述第二设备公钥信息之后,第二连接信息生成模块1922生成连接信息之前,接收所述第一设备发送的验证第二消息;所述验证第二消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算而生成的,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算而生成的;
第二验证确认模块1928用于根据第二设备的私钥验证所述验证第二消息通过后,触发所述第二连接信息生成模块生成连接信息。
再进一步地,本发明实施例中的网络设备安全连接设备190还可以包括第六接收模块和网络连接模块,其中
第六接收模块用于在与所述第一设备完成网络连接后,接收所述第一设备发送的第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
网络连接模块与所述第三设备进行网络连接。
需要说明的是,网络设备安全连接装置190中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关设备。下面结合图29示出的本发明的网络设备的第一实施例的结构示意图,进行详细说明:
网络设备290包括:输入装置2900、输出装置2902、存储器2904和处理器2906(网络设备中的处理器2906的数量可以一个或多个,图29中以一个处理器为例)。在本发明的一些实施例中,输入装置2900、输出装置2902、存储器2904和处理器2906可通过总线或者其它方式连接,其中,图29中以通过总线连接为例。
其中,所述存储器2904用于存储程序代码,所述处理器2906用于调用所述存储器2904存储的程序代码执行如下步骤:
由输入装置2900通过带外方式获取第二设备公钥运算值,所述第二设备公钥运算值为将所述第二设备的公钥进行预设算法的运算而得到的值;通过输出装置2902向所述第二设备发送第一设备公钥信息;以使所述第二设备根据所述第一设备公钥信息获得第一设备的公钥;通过输入装置2900接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息,利用第一设备的私钥解密所述第二设备公钥信息得到第二设备的公钥;对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,接受输入装置2900接收到的第二设备发送的连接信息,或者生成连接信息通过输出装置2902发送给所述第二设备。
具体地,输入装置2900接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息的同时,输入装置2900还接收所述第二设备发送的签名验证信息;所述签名验证信息为所述第二设备利用第二设备的私钥进行非对称加密而得到的信息。
再具体地,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,处理器2906还执行:
以所述第二设备的公钥对所述签名验证信息进行验证;若验证通过,则执行接受输入装置2900接收到的第二设备发送的连接信息,或者生成连接信息通过输出装置2902发送给所述第二设备的步骤;若验证失败,则结束连接过程。
再具体地,所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息。
再具体地,所述通过输出装置2902向所述第二设备发送第一设备公钥信息之前,处理器2906还执行:由输入装置2900通过带外方式获取第二设备随机密码信息;
所述第一设备公钥信息包括第一设备的公钥,或者利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息,或者利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息。
再具体地,通过输入装置2900接收所述第二设备公钥信息的同时,还通过输入装置2900接收到所述第二设备生成的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述接受通过输入装置2900接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
再具体地,处理器2906通过输入装置2900接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:通过输入装置2900接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;所述处理器接受通过输入装置2900接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
再具体地,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,通过输入装置2900接收第二设备发送的连接信息之前,处理器2906还执行:
利用第二设备的公钥对所述第二设备公钥运算值或利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第一消息,并通过输出装置2902向所述第二设备发送所述验证第一消息;以使所述第二设备验证所述验证第一消息通过后发送所述连接信息。
再具体地,处理器2906接收所述第二设备发送的利用所述第一设备的公钥加密后的第二设备公钥信息后还包括:通过输入装置2900接收第二设备发送的连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;
所述处理器接受通过输入装置2900接收到的第二设备发送的连接信息包括:利用第一设备的私钥解密所述连接信息。
再具体地,所述当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,通过输入装置2900接收第二设备发送的连接信息之前,处理器2906还执行:
利用第二设备的公钥对所述第二设备公钥运算值和/或所述第二设备随机密码信息进行非对称加密运算,生成验证第二消息,或者利用第二设备的公钥对利用第一设备的私钥生成的签名进行非对称加密运算,生成验证第二消息,并通过输出装置2902向所述第二设备发送所述验证第二消息;以使所述第二设备验证所述验证第二消息通过后发送所述连接信息。
再具体地,处理器2906还执行由输入装置2900通过带外方式获取第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;
在与所述第二设备完成网络连接后,通过输出装置2902向所述第二设备发送所述第三设备公钥运算值,以使所述第二设备与所述第三设备进行网络连接。
本发明实施例的网络设备290例如可以是网管设备、路由器、传送节点、智能移动终端或其它网络设备。
可理解的是,网络设备290中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关设备。下面结合图30示出的本发明的网络设备的第二实施例的结构示意图,进行详细说明:
网络设备300包括:输入装置3000、输出装置3002、存储器3004和处理器3006(网络设备中的处理器3006的数量可以一个或多个,图30中以一个处理器为例)。在本发明的一些实施例中,输入装置3000、输出装置3002、存储器3004和处理器3006可通过总线或者其它方式连接,其中,图30中以通过总线连接为例。
其中,所述存储器3004用于存储程序代码,所述处理器3006用于调用所述存储器3004存储的程序代码执行如下步骤:
生成第二设备公钥运算值,以供第一设备通过带外方式获取;所述第二设备公钥运算值为将第二设备的公钥进行预设算法的运算而得到的值;通过输入装置3000接收所述第一设备发送的第一设备公钥信息,从所述第一设备公钥信息中获取第一设备的公钥;并利用所述第一设备的公钥对第二设备的公钥进行非对称加密,生成第二设备公钥信息;通过输出装置3002向所述第一设备发送所述第二设备公钥信息;以使所述第一设备得到第二设备的公钥后,对所述第二设备的公钥进行预设算法的运算得到第二设备公钥运算值副本,并当所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配时,接受输入装置3000接收到的第二设备发送的连接信息,或者生成连接信息通过输出装置3002发送给所述第二设备。
具体地,处理器3006通过输出装置3002发送所述第二设备公钥信息的同时还发送根据第二设备的私钥生成的签名验证信息;以使所述第一设备检测所述第二设备公钥运算值副本与所述第二设备公钥运算值匹配后,以所述第二设备的公钥对所述签名验证信息进行验证。
再具体地,处理器3006从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥。
再具体地,处理器3006通过输入装置3000接收所述第一设备发送的第一设备公钥信息之前还执行:生成第二设备随机密码信息,以供所述第一设备通过带外方式获取。
再具体地,处理器3006从所述第一设备公钥信息中获取第一设备的公钥包括:
当所述第一设备公钥信息为所述第一设备的公钥时,直接获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥;当所述第一设备公钥信息为所述第一设备利用所述第二设备公钥运算值和所述第二设备随机密码信息对所述第一设备的公钥进行对称加密而得到的信息时,根据所述第二设备公钥运算值和所述第二设备随机密码信息解密所述第一设备公钥信息,获取所述第一设备的公钥。
再具体地,处理器3006通过输出装置3002向所述第一设备发送所述第二设备公钥信息的同时还发送连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密。
再具体地,处理器3006通过输出装置3002向所述第一设备发送所述第二设备公钥信息之后还执行:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;通过输出装置3002向所述第一设备发送所述连接信息。
再具体地,处理器3006通过输出装置3002向所述第一设备发送所述第二设备公钥信息之后,生成连接信息之前,还执行:
通过输入装置3000接收所述第一设备发送的验证第一消息;所述验证第一消息为所述第一设备利用第二设备的公钥对所述第二设备公钥运算值进行非对称加密运算而生成的;根据第二设备的私钥验证所述验证第一消息通过后,执行所述生成连接信息的步骤;并确认所述连接信息生效。
再具体地,处理器3006通过输出装置3002向所述第一设备发送所述第二设备公钥信息之后还执行:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;通过输出装置3002向所述第一设备发送所述连接信息。
再具体地,处理器3006通过输出装置3002向所述第一设备发送所述第二设备公钥信息之后还执行:
生成连接信息;所述连接信息利用所述第一设备的公钥进行了非对称加密;通过输出装置3002向所述第一设备发送所述连接信息。
再具体地,在与所述第一设备完成网络连接后,处理器3006通过输入装置3000接收所述第一设备发送的第三设备公钥运算值,所述第三设备公钥运算值为将所述第三设备的公钥进行预设算法的运算而得到的值;与所述第三设备进行网络连接。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关系统。下面结合图31示出的本发明实施例的网络连接系统的结构示意图,进行详细说明:
网络连接系统310包括第一设备3100和第二设备3102,其中,
第一设备3100参考上述图29实施例中的网络设备290,这里不再赘述;
第二设备3102参考上述图30实施例中的网络设备300,这里不再赘述。
需要说明的是,在一些网络连接场景下,两设备均为UI受限设备时,一设备无法安全获得另一设备的公钥运算值,那么此时,需要通过第三方的设备来协助配置连接该两个待配置连接的设备;即,网络连接系统310还可以包括第三设备,其中第一设备3100为第三方设备,第二设备3102和第三设备可以均为UI受限设备,需要通过第一设备3100来协助配置连接,详细配置连接方式可参考上述方法实施例中的实现方式,这里不再赘述。
综上所述,通过实施本发明实施例,对公钥进行运算得到公钥运算值,在连接过程的交互信息中用公钥运算值替代完整公钥,可以减少交互信息的内容,提高连接双方设备的带外信道利用率,并可提高连接过程的安全性;在通过扫描多维码来进行网络连接时,可大大减少多维码编码内容,降低了多维码的显示、扫描以及解码的要求,并适用性高,连接效率得到了很大的提高,大大提升了用户的连接体验;另外可通过公钥运算值结合随机密码信息进行连接,大大提高连接过程的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。