一种安全认证的方法、设备及系统的制作方法

文档序号:7995183阅读:195来源:国知局
一种安全认证的方法、设备及系统的制作方法
【专利摘要】本发明公开了一种安全认证的方法、设备和系统,所述第一设备与所述第二设备通过使用第一映射密钥和第二映射密钥进行安全认证,其中,所述第一映射密钥根据所述第一设备的初始密钥和第一预定算法生成,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成。本发明实施例的设备通过使用映射后的初始密钥进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
【专利说明】一种安全认证的方法、设备及系统
【技术领域】
[0001]本发明涉及通信【技术领域】,具体涉及一种安全认证的方法、设备及系统。
【背景技术】
[0002]现有网络安全建立,尤其是无线网络安全建立(WiFi protected setup,WPS)的主要操作包括:1、建立初始无线网络;2、在该无线网络中增添新的设备。WPS的架构由3个组成部分:应用终端(在WPS中称为enrollee),认证设备(registrar),接入点(AP, AccessPoint) ;AP是无线局域网的基础设施,即:支持802.11协议的接入点;认证设备是管理网络建立、添加/删除应用终端的设备,认证设备可以和接入点集成在一起,也可以由手机、计算机这样的外部设备来充当。
[0003]现有技术中,应用终端和认证设备执行发现过程完成后,认证设备在获得应用终端密钥后与应用终端进行密钥交换协商,例如,终端或认证设备使用个人身份号(personalidentifier number, PIN)作为密钥,进行密钥转换后发送给对方进行验证。
[0004]本发明的发明人发现,现有技术的密钥协商,直接使用PIN的一半来认证,当攻击者假冒成上述应用终端或认证设备的时候,在获得密钥消息后容易暴力攻击出密钥,假如密钥的位数(十进制)是N,计算量为10~(N/2)次,而不是最大的计算量10~N次,反而降低了计算次数,这影响无线网络连接的安全性或可靠性。

【发明内容】

[0005]本发明实施例提供安全认证的方法、设备及系统,可以提高攻击者获取密钥的难度,将暴力攻击出密钥的计算次数提高,一定程度上又起到了动态的效果,从而提高无线网络连接的安全。
[0006]第一方面,提供一种安全认证方法,所述方法包括:第一设备向第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0007]所述第一设备接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述第一设备根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0008]所述第一设备向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥根据所述第一设备的初始密钥和第一预定算法生成;
[0009]所述第一设备接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,则确定回复消息五给所述第二设备;
[0010]所述第一设备向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备;
[0011]所述第一设备接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,则确定回复消息七给所述第二设备;
[0012]所述第一设备向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
[0013]在第一方面的第一种可能的实现方式中,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。
[0014]结合第一方面或上述任一可能的实现方式,在第二种可能的实现方式中,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述第一设备根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,则确定回复消息五给所述第二设备。
[0015]结合第一方面或上述任一可能的实现方式,在第三种可能的实现方式中,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述第一设备根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,则确定回复消息七给所述第二设备。
[0016]结合第一方面或上述任一可能的实现方式,在第四种可能的实现方式中,所述第一设备向第二设备发送消息一的步骤之前,还包括:所述第一设备生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
[0017]结合第一方面或上述任一可能的实现方式,在第五种可能的实现方式中,所述第一设备与所述第二设备互换,使所述第二设备执行所述第一设备的步骤,所述第一设备执行所述第二设备的步骤。
[0018]第二方面,提供一种安全认证的系统,所述系统应用于第一设备和第二设备,第一设备向第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0019]所述第一设备接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述第一设备根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0020]所述第一设备向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥根据所述第一设备的初始密钥和第一预定算法生成;
[0021]所述第一设备接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,则确定回复消息五给所述第二设备;
[0022]所述第一设备向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备;
[0023]所述第一设备接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,则确定回复消息七给所述第二设备;
[0024]所述第一设备向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
[0025]在第二方面的第一种可能的实现方式中,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。
[0026]结合第二方面或第二方面的上述任一可能的实现方式,在第二种可能的实现方式中,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述第一设备根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,则确定回复消息五给所述第二设备。
[0027]结合第二方面或上述任一可能的实现方式,在第三种可能的实现方式中,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述第一设备根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,则确定回复消息七给所述第二设备。
[0028]结合第二方面或上述任一可能的实现方式,在第四种可能的实现方式中,所述第一设备向第二设备发送消息一的步骤之前,还包括:所述第一设备生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
[0029]结合第二方面或上述任一可能的实现方式,在第五种可能的实现方式中,所述第一设备与所述第二设备互换,使所述第二设备执行所述第一设备的步骤,所述第一设备执行所述第二设备的步骤。
[0030]第三方面,提供一种安全认证的第一设备,用于与第二设备进行安全认证,所述第一设备包括通信模块、认证模块、密钥生成模块和控制模块,
[0031]所述通信模块向所述第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0032]所述通信模块接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述密钥生成模块根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0033]所述通信模块向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥由所述密钥生成模块根据所述第一设备的初始密钥和第一预定算法生成;
[0034]所述通信模块接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成,所述认证模块根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,所述控制模块则确定回复消息五给所述第二设备;
[0035]所述通信模块向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备;
[0036]所述通信模块接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述认证模块根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,所述控制模块则确定回复消息七给所述第二设备;
[0037]所述通信模块向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
[0038]在第三方面的第一种可能的实现方式中,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。[0039]结合第三方面或上述任一可能的实现方式,在第二种可能的实现方式中,所述认证模块根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述认证模块根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,所述控制模块则确定回复消息五给所述第二设备。
[0040]结合第三方面或上述任一可能的实现方式,在第三种可能的实现方式中,所述认证模块根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述认证模块根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,所述控制模块则确定回复消息七给所述第二设备。
[0041]结合第三方面或上述任一可能的实现方式,在第四种可能的实现方式中,所述通信模块向第二设备发送消息一之前,所述密钥生成模块生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
[0042]结合第三方面或上述任一可能的实现方式,在第五种可能的实现方式中,所述第一设备与所述第二设备互换,使所述第二设备具有所述通信模块、所述认证模块、所述密钥生成模块和所述控制模块,并具有所述第一设备的功能。
[0043]本发明实施例提供的安全认证的方法、设备及系统,通过使用映射后的初始密钥与另一设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
【专利附图】

【附图说明】
[0044]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1是本发明实施例提供的安全认证的应用场景图;
[0046]图2是本发明第一实施例提供的安全认证的方法的示意图;
[0047]图3是本发明第二实施例提供的安全认证的系统示意图;
[0048]图4是本发明第三实施例提供的安全认证的第一设备示意图;
[0049]图5是本发明第四实施例提供的安全认证的第一设备示意图。
【具体实施方式】
[0050]本发明实施例提供一种网络通信安全认证的方法,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。以下分别进行详细说明。
[0051]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]本发明实施例的安全认证方法应用于网络300中第一设备与第二设备之间进行通信的认证,图1为本发明实施例提供的安全认证的应用场景图。
[0053]该应用为第一设备与第二设备进行安全认证,该第一设备与第二设备可以是具有相同通信功能的设备,例如:该第一设备可以是接入点、路由器、调制解调器,注册器等;该第二设备可以是终端设备,或者集成于具有通信功能的手机、电脑、PAD等电子设备。可以理解的,该第一设备与该第二设备也可以互换,本发明实施例中的该第一设备可以具有该第二设备的功能,该第二设备也可以具有该第一设备的功能。
[0054]需要说明的是,本发明实施例中的该第一设备与该第二设备可以直接通信,例如:可以通过近距离无线方式,该近距离无线方式通信可以为近场通信(Near fieldcommunication,简称,NFC)方式通信,还可以为通过无线保真(Wireless Fidelity,简称,WiFi)方式或蓝牙等方式进行通信,该第一设备与该第二设备还可以通过该第一设备或该第二设备所在网络的接入点与另一设备通信,从而进行安全认证。
[0055]参阅图2,本发明第一实施例提供的安全认证的方法的示意图。
[0056]该安全认证的方法包括:
[0057]10、第一设备向第二设备发送消息一,该消息一包含第一密钥信息,使得该第二设备接收该消息一后,根据该第一密钥信息执行动态密钥交换算法生成至少一个加密密钥。
[0058]20、该第一设备接收该第二设备回复给该第一设备的消息二,该消息二包含第二密钥信息,该第一设备根据该第二密钥信息执行动态密钥交换算法生成至少一个加密密钥。
[0059]其中,步骤10和步骤20中的该动态密钥交换算法至少是DH算法,RSA算法,EIGamal 算法的其中之一,DH 是 Diffie-Hellman algorithm 的简写;RSA 是 Ron Rivest、Adi Shamirh和LenAdleman的简写;EIGamal算法是EIGamal密钥交换算法;DH密钥交换算法计算可以得出加密密钥:DH key, KDK, AuthKey, KeyffrapKey, EMSK等。
[0060]可以理解的,每次该第一设备与该第二设备进行安全认证时,该第一密钥信息和该第二密钥信息可以变化,并且可以共享给该第一设备和该第二设备。
[0061]30、该第一设备向该第二设备发送消息三,该消息三包含第一设备哈希值一和第一设备哈希值二,该第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,该第一设备哈希值二是根据第一设备随机数二和该第一映射密钥的第二部分生成,以使该第二设备接收该消息三后确定回复消息四给该第一设备,该第一映射密钥根据该第一设备的初始密钥和第一预定算法生成。
[0062]40、该第一设备接收该第二设备发送的该消息四,该消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,该第二设备哈希值一是根据该第二设备随机数一和第二映射密钥的第一部分生成,该第二设备哈希值二是根据第二设备随机数二和该第二映射密钥的第二部分生成,该加密的第二设备随机数一是利用该加密密钥对该第二设备随机数一加密,该第二映射密钥根据该第二设备的初始密钥和该第一预定算法生成,该第一设备根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,如果正确,则确定回复消息五给该第二设备。
[0063]其中,该第一设备根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,包括:该第一设备根据该第二设备随机数一和该第一映射密钥重构出第二设备哈希值三,比对该第二设备哈希值三与该消息四中的该第二设备哈希值一,如果相同,则确定回复消息五给该第二设备。
[0064]50、该第一设备向该第二设备发送消息五,该消息五包含利用该加密密钥加密后的该第一设备随机数一,使得该第二设备根据该第一设备随机数一和该第二映射密钥对该第一设备哈希值一进行认证,如果正确,则确定回复消息六给该第一设备。
[0065]6O、该第一设备接收该消息六,该消息六包含利用该加密密钥加密后的该第二设备随机数二,该第一设备根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,如果正确,表示该第一设备对该第二设备认证成功,则确定回复消息七给该第二设备。
[0066]其中,该第一设备根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,包括,该第一设备根据该第二设备随机数二和该第一映射密钥重构出第二设备哈希值四,比对该第二设备哈希值四与该消息四中的该第二设备哈希值二,如果相同,则确定回复消息七给该第二设备。
[0067]70、该第一设备向该第二设备发送该消息七,该消息七包含利用该加密密钥加密后的该第一设备随机数二,使得该第二设备根据该第一设备随机数二和该第二映射密钥对该第一设备哈希值二进行认证,如果正确,表示该第二设备对该第一设备认证成功。
[0068]可以理解的是,该第一设备向该第二设备发送消息一的步骤之前,还包括:该第一设备生成并存储映射密钥列表,以使该第一设备按预定规则在该映射密钥列表中选择该第一映射密钥。
[0069]还可以理解的是,该第一映射密钥的第一部分可以是该第一映射密钥的前一半或前三分之一等,该第一映射密钥的其余部分为该第一映射密钥的第二部分,此处对该第一映射密钥的第一部分和第二部分的大小并不限定。
[0070]还可以理解的,该消息一中的第一密钥信息可以为第一设备的公钥或第一设备产生的随机数,或其他设定数值;该消息二包含的第二密钥信息,可以为该第二设备公钥或该第二设备产生的随机数,或其他设定的数值。
[0071]本发明另一实施例中,该第一设备与该第二设备可以互换,使该第二设备执行该第一设备的步骤,该第一设备执行该第二设备的步骤。
[0072]可以理解的,本发明实施例中的密钥也可以是密码,如:设备的PIN(personlidentifer number)码。
[0073]本发明实施例中,上述该第一映射密钥的生成方法可以为:
[0074]该第一设备可以对该第一设备的初始密钥和随机数根据预定算法生成随机值,进一步可以对该随机值进行取模运算得到该第一映射密钥,其中,该第一映射密钥的位数可以与该第一设备的初始密钥的位数相同或不同。
[0075]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0076]例如,该第一设备的初始密码是4321,该随机数(假如:DHkey)是1234,相乘后得到的随机值为=4321*1234 = 5332114 ;也可以相加后得到的随机值=4321+1234 = 5555 ;也可以按一定规则拆分(如:各取一半)后相加得到的随机值:(43+12) + (21+34) = 110 ;也可以按一定规则拆分(如:各取一半)后相乘得到的随机值:(43*12) + (21*34) = 924。本实施例中该第一设备的初始密码和该随机数相乘为例计算。
[0077]进一步的,可以对该随机值进行取模运算得到第一映射密钥,S卩,随机值为4321*1234 = 5332114,模数(10~4_1 = 9999),第一映射密钥=5332114mod(9999) = 2647。
[0078]可选的,该第一映射密钥的生成方法还可以为:
[0079]该第一设备还可以将该第一设备的初始密钥结合第一随机数根据预定算法生成第一随机值,将该第一设备的初始密钥结合第二随机数根据该预定算法生成第二随机值;
[0080]该第一设备可以分别对该第一和第二随机值进行取模运算得到第一值和第二值,该第一值和第二值构成该第一映射密钥,其中,该第一值和第二值的任意一个的位数可以是该第一设备的初始密钥位数的一半,如,该第一设备的初始密钥位数为N,该第一值和第二值的任意一个的位数是N/2。
[0081]其中,该第一和第二随机数可以是该第一设备与该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0082]可以理解的是,该第一预定算法并不限定于本实施例中所列举的算法,可以匹配该第一设备和该第二设备之间的认证难度选择适当的算法,都不脱离本发明实施例的保护范围。
[0083]还可以理解的是,该第一设备在步骤10之前,可以预先生成映射密钥列表并存储于该第一设备,该映射密钥列表包括至少一个第一映射密钥,该第一设备可以根据预定规则在该映射密钥列表中选择该第一映射密钥。
[0084]其中,该预定规则可以通过该第一设备共享给该第二设备,该预定规则可以是上述的第一预定算法,也可以是其他函数算法,本发明实施例对此并不限定。
[0085]该第二映射密钥的生成方法可以为:该第二设备可以对该第二设备的初始密钥和随机数根据预定算法生成随机值,进一步对该随机值进行取模运算得到该第二映射密钥,其中,该第二映射密钥的位数可以与该第二设备的初始密钥的位数相同或不同。
[0086]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出并发送给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0087]可选的,该第二映射密钥的生成方法还可以为:
[0088]该第二设备还可以将该第二设备的初始密钥结合第二设备第一随机数根据预定算法生成第二设备第一随机值,将该第二设备的初始密钥结合第二设备第二随机数根据该预定算法生成该第二设备第二随机值。
[0089]该第二设备可以分别对该第二设备的第一和第二随机值进行取模运算得到该第二设备第一值和第二值,该第二设备第一值和第二值构成该第二映射密钥,其中,该第二设备第一值和第二值的任意一个的位数可以是该第二设备的初始密钥位数的一半。
[0090]其中,该第二设备第一和第二随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出发送的给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0091]可以理解的是,该第一映射密钥也可以由该第二设备生成,该第二映射密钥也可以由该第一设备生成,本发明实施例对此不作限定。
[0092]还可以理解的是,上述该第一设备和该第二设备相互认证过程,仅为本发明的一个较佳实施例,对上述认证过程中各步骤的执行顺序并不限定,或者可以同步执行,只要通过本发明实施例的认证方法进行设备之间的相互认证,都可以应用于本发明实施例。
[0093]本发明实施例中安全认证的方法,该第一设备通过使用映射后的初始密钥与该第二设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
[0094]图3为本发明第二实施例提供的安全认证的系统示意图。
[0095]该系统应用于第一设备和第二设备,用于该第一设备和第二设备间进行安全认证。
[0096]10a、该第一设备向该第二设备发送消息一,该消息一包含第一密钥信息,使得该第二设备接收该消息一后,根据该第一密钥信息执行动态密钥交换算法生成至少一个加密密钥。
[0097]20a、该第一设备接收该第二设备回复给该第一设备的消息二,该消息二包含第二密钥信息,该第一设备根据该第二密钥信息执行动态密钥交换算法生成至少一个加密密钥。
[0098]其中,步骤IOa和步骤20a中的该动态密钥交换算法至少是DH算法,RSA算法,EIGamal 算法的其中之一,DH 是 Diffie-Hellman algorithm 的简写;RSA 是 Ron Rivest、Adi Shamirh和LenAdleman的简写;EIGamal算法是EIGamal密钥交换算法;DH密钥交换算法计算可以得出加密密钥:DH key, KDK, AuthKey, KeyffrapKey, EMSK等。
[0099]可以理解的,每次该第一设备与该第二设备进行安全认证时,该第一密钥信息和该第二密钥信息可以变化,并且可以共享给该第一设备和该第二设备。
[0100]30a、该第一设备向该第二设备发送消息三,该消息三包含第一设备哈希值一和第一设备哈希值二,该第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,该第一设备哈希值二是根据第一设备随机数二和该第一映射密钥的第二部分生成,以使该第二设备接收该消息三后确定回复消息四给该第一设备,该第一映射密钥根据该第一设备的初始密钥和第一预定算法生成。
[0101]40a、该第一设备接收该第二设备发送的该消息四,该消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,该第二设备哈希值一是根据该第二设备随机数一和第二映射密钥的第一部分生成,该第二设备哈希值二是根据第二设备随机数二和该第二映射密钥的第二部分生成,该加密的第二设备随机数一是利用该加密密钥对该第二设备随机数一加密,该第二映射密钥根据该第二设备的初始密钥和该第一预定算法生成,该第一设备根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,如果正确,则确定回复消息五给该第二设备。
[0102]其中,该第一设备根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,包括:该第一设备根据该第二设备随机数一和该第一映射密钥重构出第二设备哈希值三,比对该第二设备哈希值三与该消息四中的该第二设备哈希值一,如果相同,则确定回复消息五给该第二设备。
[0103]50a、该第一设备向该第二设备发送消息五,该消息五包含利用该加密密钥加密后的该第一设备随机数一,使得该第二设备根据该第一设备随机数一和该第二映射密钥对该第一设备哈希值一进行认证,如果正确,则确定回复消息六给该第一设备。
[0104]60a、该第一设备接收该消息六,该消息六包含利用该加密密钥加密后的该第二设备随机数二,该第一设备根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,如果正确,表示该第一设备对该第二设备认证成功,则确定回复消息七给该第二设备。
[0105]其中,该第一设备根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,包括,该第一设备根据该第二设备随机数二和该第一映射密钥重构出第二设备哈希值四,比对该第二设备哈希值四与该消息四中的该第二设备哈希值二,如果相同,则确定回复消息七给该第二设备。
[0106]70a、该第一设备向该第二设备发送该消息七,该消息七包含利用该加密密钥加密后的该第一设备随机数二,使得该第二设备根据该第一设备随机数二和该第二映射密钥对该第一设备哈希值二进行认证,如果正确,表示该第二设备对该第一设备认证成功。
[0107]可以理解的是,该第一设备向该第二设备发送消息一的步骤之前,还包括:该第一设备生成并存储映射密钥列表,以使该第一设备按预定规则在该映射密钥列表中选择该第一映射密钥。
[0108]还可以理解的是,该第一映射密钥的第一部分可以是该第一映射密钥的前一半或前三分之一等,该第一映射密钥的其余部分为该第一映射密钥的第二部分,此处对该第一映射密钥的第一部分和第二部分的大小并不限定。
[0109]还可以理解的,该消息一中的第一密钥信息可以为第一设备的公钥或第一设备产生的随机数,或其他设定数值;该消息二包含的第二密钥信息,可以为该第二设备公钥或该第二设备产生的随机数,或其他设定的数值。
[0110]本发明另一实施例中,该第一设备与该第二设备可以互换,使该第二设备执行该第一设备的步骤,该第一设备执行该第二设备的步骤。
[0111]可以理解的,本发明实施例中的密钥也可以是密码’如:设备的PIN (personlidentifer number)码。
[0112]本发明实施例中,上述该第一映射密钥的生成方法可以为:
[0113]该第一设备可以对该第一设备的初始密钥和随机数根据预定算法生成随机值,进一步可以对该随机值进行取模运算得到该第一映射密钥,其中,该第一映射密钥的位数可以与该第一设备的初始密钥的位数相同或不同。
[0114]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0115]例如,该第一设备的初始密码是4321,该随机数(假如:DHkey)是1234,相乘后得到的随机值为=4321*1234 = 5332114 ;也可以相加后得到的随机值=4321+1234 = 5555 ;也可以按一定规则拆分(如:各取一半)后相加得到的随机值:(43+12) + (21+34) = 110 ;也可以按一定规则拆分(如:各取一半)后相乘得到的随机值:(43*12) + (21*34) = 924。本实施例中该第一设备的初始密码和该随机数相乘为例计算。
[0116]进一步的,可以对该随机值进行取模运算得到第一映射密钥,S卩,随机值为4321*1234 = 5332114,模数(10~4_1 = 9999),第一映射密钥=5332114mod(9999) = 2647。
[0117]可选的,该第一映射密钥的生成方法还可以为:
[0118]该第一设备还可以将该第一设备的初始密钥结合第一随机数根据预定算法生成第一随机值,将该第一设备的初始密钥结合第二随机数根据该预定算法生成第二随机值;
[0119]该第一设备可以分别对该第一和第二随机值进行取模运算得到第一值和第二值,该第一值和第二值构成该第一映射密钥,其中,该第一值和第二值的任意一个的位数可以是该第一设备的初始密钥位数的一半,如,该第一设备的初始密钥位数为N,该第一值和第二值的任意一个的位数是N/2。
[0120]其中,该第一和第二随机数可以是该第一设备与该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0121]可以理解的是,该第一预定算法并不限定于本实施例中所列举的算法,可以匹配该第一设备和该第二设备之间的认证难度选择适当的算法,都不脱离本发明实施例的保护范围。
[0122]还可以理解的是,该第一设备在步骤IOa之前,可以预先生成映射密钥列表并存储于该第一设备,该映射密钥列表包括至少一个第一映射密钥,该第一设备可以根据预定规则在该映射密钥列表中选择该第一映射密钥。
[0123]其中,该预定规则可以通过该第一设备共享给该第二设备,该预定规则可以是上述的第一预定算法,也可以是其他函数算法,本发明实施例对此并不限定。
[0124]该第二映射密钥的生成方法可以为:该第二设备可以对该第二设备的初始密钥和随机数根据预定算法生成随机值,进一步对该随机值进行取模运算得到该第二映射密钥,其中,该第二映射密钥的位数可以与该第二设备的初始密钥的位数相同或不同。
[0125]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出并发送给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0126]可选的,该第二映射密钥的生成方法还可以为:
[0127]该第二设备还可以将该第二设备的初始密钥结合第二设备第一随机数根据预定算法生成第二设备第一随机值,将该第二设备的初始密钥结合第二设备第二随机数根据该预定算法生成该第二设备第二随机值。
[0128]该第二设备可以分别对该第二设备的第一和第二随机值进行取模运算得到该第二设备第一值和第二值,该第二设备第一值和第二值构成该第二映射密钥,其中,该第二设备第一值和第二值的任意一个的位数可以是该第二设备的初始密钥位数的一半。
[0129]其中,该第二设备第一和第二随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出发送的给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0130]可以理解的是,该第一映射密钥也可以由该第二设备生成,该第二映射密钥也可以由该第一设备生成,本发明实施例对此不作限定。
[0131]还可以理解的是,上述该第一设备和该第二设备相互认证过程,仅为本发明的一个较佳实施例,对上述认证过程中各步骤的执行顺序并不限定,或者可以同步执行,只要通过本发明实施例的认证方法进行设备之间的相互认证,都可以应用于本发明实施例。
[0132]本发明实施例中安全认证的系统,该第一设备通过使用映射后的初始密钥与该第二设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
[0133]图4为本发明第三实施例提供的安全认证的第一设备100示意图。
[0134]该第一设备100,用于与第二设备进行安全认证,该第一设备100包括通信模块10、认证模块20、密钥生成模块30和控制模块40,
[0135]该通信模块10向该第二设备发送消息一,该消息一包含第一密钥信息,使得该第二设备接收该消息一后,根据该第一密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0136]该通信模块10接收该第二设备回复给该第一设备100的消息二,该消息二包含第二密钥信息,该密钥生成模块30根据该第二密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0137]该通信模块10向该第二设备发送消息三,该消息三包含第一设备哈希值一和第一设备哈希值二,该第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,该第一设备哈希值二是根据第一设备随机数二和该第一映射密钥的第二部分生成,以使该第二设备接收该消息三后确定回复消息四给该第一设备100,该第一映射密钥由该密钥生成模块30根据该第一设备100的初始密钥和第一预定算法生成;
[0138]该通信模块10接收该第二设备发送的该消息四,该消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,该第二设备哈希值一是根据该第二设备随机数一和第二映射密钥的第一部分生成,该第二设备哈希值二是根据第二设备随机数二和该第二映射密钥的第二部分生成,该加密的第二设备随机数一是利用该加密密钥对该第二设备随机数一加密,该第二映射密钥根据该第二设备的初始密钥和该第一预定算法生成,该认证模块20根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,如果正确,该控制模块40则确定回复消息五给该第二设备;
[0139]该通信模块10向该第二设备发送消息五,该消息五包含利用该加密密钥加密后的该第一设备随机数一,使得该第二设备根据该第一设备随机数一和该第二映射密钥对该第一设备哈希值一进行认证,如果正确,则确定回复消息六给该第一设备100 ;
[0140]该通信模块10接收该消息六,该消息六包含利用该加密密钥加密后的该第二设备随机数二,该认证模块20根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,如果正确,表示该第一设备100对该第二设备认证成功,该控制模块40则确定回复消息七给该第二设备;[0141]该通信模块10向该第二设备发送该消息七,该消息七包含利用该加密密钥加密后的该第一设备随机数二,使得该第二设备根据该第一设备随机数二和该第二映射密钥对该第一设备哈希值二进行认证,如果正确,表示该第二设备对该第一设备100认证成功。
[0142]其中,该动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一,DH 是 Diffie-Hellman algorithm 的简写;RSA 是 Ron Rivest、AdiShamirh 和 LenAdleman的简写;EIGamal算法是EIGamal密钥交换算法;DH密钥交换算法计算可以得出加密密钥:DH key, KDK, AuthKey, KeyffrapKey, EMSK 等。
[0143]可以理解的,每次该第一设备与该第二设备进行安全认证时,该第一密钥信息和该第二密钥信息可以变化,并且可以共享给该第一设备和该第二设备。
[0144]其中,该认证模块20根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,包括:该认证模块20根据该第二设备随机数一和该第一映射密钥重构出第二设备哈希值三,比对该第二设备哈希值三与该消息四中的该第二设备哈希值一,如果相同,该控制模块40则确定回复消息五给该第二设备;该认证模块20根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,包括,该认证模块20根据该第二设备随机数二和该第一映射密钥重构出第二设备哈希值四,比对该第二设备哈希值四与该消息四中的该第二设备哈希值二,如果相同,该控制模块40则确定回复消息七给该第二设备。
[0145]可以理解的,该通信模块10向第二设备发送消息一之前,该密钥生成模块30生成并存储映射密钥列表,以使该第一设备按预定规则在该映射密钥列表中选择该第一映射密钥。
[0146]还可以理解的是,该第一映射密钥的第一部分可以是该第一映射密钥的前一半或前三分之一等,该第一映射密钥的其余部分为该第一映射密钥的第二部分,此处对该第一映射密钥的第一部分和第二部分的大小并不限定。
[0147]还可以理解的,该消息一中的第一密钥信息可以为第一设备的公钥或第一设备产生的随机数,或其他设定数值;该消息二包含的第二密钥信息,可以为该第二设备公钥或该第二设备产生的随机数,或其他设定的数值。
[0148]本发明另一实施例中,该第一设备100可以与该第二设备互换,使该第二设备具有该通信模块、该认证模块、该密钥生成模块和该控制模块,并具有该第一设备100的功倉泛。
[0149]可以理解的,本发明实施例中的密钥也可以是密码’如:设备的PIN (personlidentifer number)码。
[0150]本发明实施例中,上述该第一映射密钥的生成方法可以为:
[0151]该密钥生成模块30可以对该第一设备的初始密钥和随机数根据预定算法生成随机值,进一步可以对该随机值进行取模运算得到该第一映射密钥,其中,该第一映射密钥的位数可以与该第一设备的初始密钥的位数相同或不同。
[0152]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。[0153]例如,该第一设备的初始密码是4321,该随机数(假如:DHkey)是1234,相乘后得到的随机值为=4321*1234 = 5332114 ;也可以相加后得到的随机值=4321+1234 = 5555 ;也可以按一定规则拆分(如:各取一半)后相加得到的随机值:(43+12) + (21+34) = 110 ;也可以按一定规则拆分(如:各取一半)后相乘得到的随机值:(43*12) + (21*34) = 924。本实施例中该第一设备的初始密码和该随机数相乘为例计算。
[0154]进一步的,可以对该随机值进行取模运算得到第一映射密钥,S卩,随机值为4321*1234 = 5332114,模数(10~4_1 = 9999),第一映射密钥=5332114mod(9999) = 2647。
[0155]可选的,该第一映射密钥的生成方法还可以为:
[0156]该密钥生成模块30还可以将该第一设备的初始密钥结合第一随机数根据预定算法生成第一随机值,将该第一设备的初始密钥结合第二随机数根据该预定算法生成第二随机值。
[0157]该密钥生成模块30可以分别对该第一和第二随机值进行取模运算得到第一值和第二值,该第一值和第二值构成该第一映射密钥,其中,该第一值和第二值的任意一个的位数可以是该第一设备的初始密钥位数的一半,如,该第一设备的初始密钥位数为N,该第一值和第二值的任意一个的位数是N/2。
[0158]其中,该第一和第二随机数可以是该第一设备与该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0159]可以理解的是,该第一预定算法并不限定于本实施例中所列举的算法,可以匹配该第一设备和该第二设备之间的认证难度选择适当的算法,都不脱离本发明实施例的保护范围。
[0160]该第二映射密钥的生成方法可以为:该第二设备可以对该第二设备的初始密钥和随机数根据预定算法生成随机值,进一步对该随机值进行取模运算得到该第二映射密钥,其中,该第二映射密钥的位数可以与该第二设备的初始密钥的位数相同或不同。
[0161]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出并发送给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0162]可选的,该第二映射密钥的生成方法还可以为:
[0163]该第二设备还可以将该第二设备的初始密钥结合第二设备第一随机数根据预定算法生成第二设备第一随机值,将该第二设备的初始密钥结合第二设备第二随机数根据该预定算法生成该第二设备第二随机值。
[0164]该第二设备可以分别对该第二设备的第一和第二随机值进行取模运算得到该第二设备第一值和第二值,该第二设备第一值和第二值构成该第二映射密钥,其中,该第二设备第一值和第二值的任意一个的位数可以是该第二设备的初始密钥位数的一半。
[0165]其中,该第二设备第一和第二随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出发送的给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0166]可以理解的是,该第一映射密钥也可以由该第二设备生成,该第二映射密钥也可以由该第一设备生成,本发明实施例对此不作限定。
[0167]本发明实施例中安全认证的第一设备,通过使用映射后的初始密钥与该第二设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
[0168]图5为本发明第四实施例提供的安全认证的第一设备200示意图。
[0169]该第一设备200用于与第二设备进行安全认证,该第一设备200包括收发器201和处理器202,该收发器201向该第二设备发送消息一,该消息一包含第一密钥信息,使得该第二设备接收该消息一后,根据该第一密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0170]该收发器201接收该第二设备回复给该第一设备200的消息二,该消息二包含第二密钥信息,该处理器202根据该第二密钥信息执行动态密钥交换算法生成至少一个加密密钥;
[0171]该收发器201向该第二设备发送消息三,该消息三包含第一设备哈希值一和第一设备哈希值二,该第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,该第一设备哈希值二是根据第一设备随机数二和该第一映射密钥的第二部分生成,以使该第二设备接收该消息三后确定回复消息四给该第一设备200,该第一映射密钥由该处理器202根据该第一设备200的初始密钥和第一预定算法生成;
[0172]该收发器201接收该第二设备发送的该消息四,该消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,该第二设备哈希值一是根据该第二设备随机数一和第二映射密钥的第一部分生成,该第二设备哈希值二是根据第二设备随机数二和该第二映射密钥的第二部分生成,该加密的第二设备随机数一是利用该加密密钥对该第二设备随机数一加密,该第二映射密钥根据该第二设备的初始密钥和该第一预定算法生成,该处理器202根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,如果正确,则确定回复消息五给该第二设备;
[0173]该收发器201向该第二设备发送消息五,该消息五包含利用该加密密钥加密后的该第一设备随机数一,使得该第二设备根据该第一设备随机数一和该第二映射密钥对该第一设备哈希值一进行认证,如果正确,则确定回复消息六给该第一设备200 ;
[0174]该收发器201接收该消息六,该消息六包含利用该加密密钥加密后的该第二设备随机数二,该处理器202根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,如果正确,表示该第一设备200对该第二设备认证成功,该处理器202则确定回复消息七给该第二设备;
[0175]该收发器201向该第二设备发送该消息七,该消息七包含利用该加密密钥加密后的该第一设备随机数二,使得该第二设备根据该第一设备随机数二和该第二映射密钥对该第一设备哈希值二进行认证,如果正确,表示该第二设备对该第一设备200认证成功。
[0176]其中,该动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一,DH 是 Diffie-Hellman algorithm 的简写;RSA 是 Ron Rivest、AdiShamirh 和 LenAdleman的简写;EIGamal算法是EIGamal密钥交换算法;DH密钥交换算法计算可以得出加密密钥:DH key, KDK, AuthKey, KeyffrapKey, EMSK 等。
[0177]可以理解的,每次该第一设备与该第二设备进行安全认证时,该第一密钥信息和该第二密钥信息可以变化,并且可以共享给该第一设备和该第二设备。
[0178]其中,该处理器202根据该第二设备随机数一和该第一映射密钥对该第二设备哈希值一进行认证,包括:该处理器202根据该第二设备随机数一和该第一映射密钥重构出第二设备哈希值三,比对该第二设备哈希值三与该消息四中的该第二设备哈希值一,如果相同,该处理器202则确定回复消息五给该第二设备;
[0179]该处理器202根据该第二设备随机数二和该第一映射密钥对该第二设备哈希值二进行认证,包括,该处理器202根据该第二设备随机数二和该第一映射密钥重构出第二设备哈希值四,比对该第二设备哈希值四与该消息四中的该第二设备哈希值二,如果相同,该处理器202则确定回复消息七给该第二设备。
[0180]可以理解的,该第一设备200还包括存储器203,该收发器201向第二设备发送消息一之前,该处理器202生成映射密钥列表,并存储该映射密钥列表到该存储器203,以使该第一设备按预定规则在该映射密钥列表中选择该第一映射密钥。
[0181]还可以理解的是,该第一映射密钥的第一部分可以是该第一映射密钥的前一半或前三分之一等,该第一映射密钥的其余部分为该第一映射密钥的第二部分,此处对该第一映射密钥的第一部分和第二部分的大小并不限定。
[0182]还可以理解的,该消息一中的第一密钥信息可以为第一设备的公钥或第一设备产生的随机数,或其他设定数值;该消息二包含的第二密钥信息,可以为该第二设备公钥或该第二设备产生的随机数,或其他设定的数值。
[0183]本发明另一实施例中,该第一设备200可以与该第二设备互换,使该第二设备具有该收发器201、该处理器202和该存储器203,并具有该第一设备200的功能。
[0184]可以理解的,本发明实施例中的密钥也可以是密码’如:设备的PIN (personlidentifer number)码。
[0185]本发明实施例中,上述该第一映射密钥的生成方法可以为:
[0186]该处理器202可以对该第一设备的初始密钥和随机数根据预定算法生成随机值,进一步可以对该随机值进行取模运算得到该第一映射密钥,其中,该第一映射密钥的位数可以与该第一设备的初始密钥的位数相同或不同。
[0187]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0188]例如,该第一设备的初始密码是4321,该随机数(假如:DHkey)是1234,相乘后得到的随机值为=4321*1234 = 5332114 ;也可以相加后得到的随机值=4321+1234 = 5555 ;也可以按一定规则拆分(如:各取一半)后相加得到的随机值:(43+12) + (21+34) = 110 ;也可以按一定规则拆分(如:各取一半)后相乘得到的随机值:(43*12) + (21*34) = 924。本实施例中该第一设备的初始密码和该随机数相乘为例计算。
[0189]进一步的,可以对该随机值进行取模运算得到第一映射密钥,S卩,随机值为4321*1234 = 5332114,模数(10~4_1 = 9999),第一映射密钥=5332114mod(9999) = 2647。[0190]可选的,该第一映射密钥的生成方法还可以为:
[0191]该处理器202还可以将该第一设备的初始密钥结合第一随机数根据预定算法生成第一随机值,将该第一设备的初始密钥结合第二随机数根据该预定算法生成第二随机值;
[0192]该处理器202可以分别对该第一和第二随机值进行取模运算得到第一值和第二值,该第一值和第二值构成该第一映射密钥,其中,该第一值和第二值的任意一个的位数可以是该第一设备的初始密钥位数的一半。
[0193]其中,该第一和第二随机数可以是该第一设备与该第二设备执行密钥交换算法得出的加密密钥,也可以是该第一设备接收该第二设备发送的参数,或者该第一设备执行交换算法得出并发送给该第二设备的参数。该预定算法可以是将该第一设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0194]可以理解的是,该第一预定算法并不限定于本实施例中所列举的算法,可以匹配该第一设备和该第二设备之间的认证难度选择适当的算法,都不脱离本发明实施例的保护范围。
[0195]该第二映射密钥的生成方法可以为:该第二设备可以对该第二设备的初始密钥和随机数根据预定算法生成随机值,进一步对该随机值进行取模运算得到该第二映射密钥,其中,该第二映射密钥的位数可以与该第二设备的初始密钥的位数相同或不同。
[0196]其中,该随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出并发送给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0197]可选的,该第二映射密钥的生成方法还可以为:
[0198]该第二设备还可以将该第二设备的初始密钥结合第二设备第一随机数根据预定算法生成第二设备第一随机值,将该第二设备的初始密钥结合第二设备第二随机数根据该预定算法生成该第二设备第二随机值。
[0199]该第二设备可以分别对该第二设备的第一和第二随机值进行取模运算得到该第二设备第一值和第二值,该第二设备第一值和第二值构成该第二映射密钥,其中,该第二设备第一值和第二值的任意一个的位数可以是该第二设备的初始密钥位数的一半。
[0200]其中,该第二设备第一和第二随机数可以是该第一设备和该第二设备执行密钥交换算法得出的加密密钥,也可以是接收该第一设备执行交换算法得出发送的给该第二设备的参数,或者该第二设备执行交换算法得出并发送给该第一设备的参数。该预定算法可以是将该第二设备的初始密钥和随机数相加、相乘、或按照一定规则拆分后相加或相乘等算法。
[0201]可以理解的是,该第一映射密钥也可以由该第二设备生成,该第二映射密钥也可以由该第一设备生成,本发明实施例对此不作限定。
[0202]本发明实施例中安全认证的第一设备,通过使用映射后的初始密钥与该第二设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。
[0203]本发明实施例中的安全认证的第一设备,通过使用映射后的初始密钥与该第二设备进行安全认证,可以提高攻击者获取密钥的难度,从而提高无线网络连接的安全。[0204]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
[0205]以上对本发明实施例所提供的安全认证的方法、设备以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上该,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种安全认证的方法,所述方法包括: 第一设备向第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述第一设备接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述第一设备根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述第一设备向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥根据所述第一设备的初始密钥和第一预定算法生成; 所述第一设备接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生 成,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,则确定回复消息五给所述第二设备; 所述第一设备向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备; 所述第一设备接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,则确定回复消息七给所述第二设备; 所述第一设备向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
2.根据权利要求1所述的方法,其特征在于,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。
3.根据权利要求1或2所述的方法,其特征在于,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述第一设备根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,则确定回复消息五给所述第二设备。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述第一设备根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,则确定回复消息七给所述第二设备。
5.根据权利要求1-4任一所述的方法,其特征在于,所述第一设备向第二设备发送消息一的步骤之前,还包括:所述第一设备生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第一设备与所述第二设备互换,使所述第二设备执行所述第一设备的步骤,所述第一设备执行所述第二设备的步骤。
7.根据权利要求1-6任一所述的方法,其特征在于,所述第一密钥信息为所述第一设备的公钥,或所述第一设备产生的随机数;所述第二密钥信息为所述第二设备的公钥,或所述第二设备产生的随机数。
8.一种安全认证的系统,所述系统应用于第一设备和第二设备,第一设备向第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述第一设备接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述第一设备根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述第一设备向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥根据所述第一设备的初始密钥和第一预定算法生成; 所述第一设备接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,则确定回复消息五给所述第二设备; 所述第一设备向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备; 所述第一设备接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,则确定回复消息七给所述第二设备; 所述第一设备向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
9.根据权利要求8所述的系统,其特征在于,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。
10.根据权利要求8或9所述的系统,其特征在于,所述第一设备根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述第一设备根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,则确定回复消息五给所述第二设备。
11.根据权利要求8-10任一所述的系统,其特征在于,所述第一设备根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述第一设备根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,则确定回复消息七给所述第二设备。
12.根据权利要求8-11任一所述的系统,其特征在于,所述第一设备向第二设备发送消息一的步骤之前,还包括:所述第一设备生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
13.根据权利要求8-12任一所述的系统,其特征在于,所述第一设备与所述第二设备互换,使所述第二设备执行所述第一设备的步骤。
14.根据权利要求8-13任一所述的系统,其特征在于,所述第一密钥信息为所述第一设备的公钥,或所述 第一设备产生的随机数;所述第二密钥信息为所述第二设备的公钥,或所述第二设备产生的随机数。
15.一种安全认证的第一设备,用于与第二设备进行安全认证,所述第一设备包括通信模块、认证模块、密钥生成模块和控制模块, 所述通信模块向所述第二设备发送消息一,所述消息一包含第一密钥信息,使得所述第二设备接收所述消息一后,根据所述第一密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述通信模块接收所述第二设备回复给所述第一设备的消息二,所述消息二包含第二密钥信息,所述密钥生成模块根据所述第二密钥信息执行动态密钥交换算法生成至少一个加密密钥; 所述通信模块向所述第二设备发送消息三,所述消息三包含第一设备哈希值一和第一设备哈希值二,所述第一设备哈希值一是根据第一设备随机数一和第一映射密钥的第一部分生成,所述第一设备哈希值二是根据第一设备随机数二和所述第一映射密钥的第二部分生成,以使所述第二设备接收所述消息三后确定回复消息四给所述第一设备,所述第一映射密钥由所述密钥生成模块根据所述第一设备的初始密钥和第一预定算法生成; 所述通信模块接收所述第二设备发送的所述消息四,所述消息四包含第二设备哈希值一、第二设备哈希值二和加密的第二设备随机数一,所述第二设备哈希值一是根据所述第二设备随机数一和第二映射密钥的第一部分生成,所述第二设备哈希值二是根据第二设备随机数二和所述第二映射密钥的第二部分生成,所述加密的第二设备随机数一是利用所述加密密钥对所述第二设备随机数一加密,所述第二映射密钥根据所述第二设备的初始密钥和所述第一预定算法生成,所述认证模块根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,如果正确,所述控制模块则确定回复消息五给所述第二设备; 所述通信模块向所述第二设备发送消息五,所述消息五包含利用所述加密密钥加密后的所述第一设备随机数一,使得所述第二设备根据所述第一设备随机数一和所述第二映射密钥对所述第一设备哈希值一进行认证,如果正确,则确定回复消息六给所述第一设备; 所述通信模块接收所述消息六,所述消息六包含利用所述加密密钥加密后的所述第二设备随机数二,所述认证模块根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,如果正确,表示所述第一设备对所述第二设备认证成功,所述控制模块则确定回复消息七给所述第二设备; 所述通信模块向所述第二设备发送所述消息七,所述消息七包含利用所述加密密钥加密后的所述第一设备随机数二,使得所述第二设备根据所述第一设备随机数二和所述第二映射密钥对所述第一设备哈希值二进行认证,如果正确,表示所述第二设备对所述第一设备认证成功。
16.根据权利要求15所述的第一设备,其特征在于,所述动态密钥交换算法至少是DH算法,RSA算法,EIGamal算法的其中之一。
17.根据权利要求15或16所述的第一设备,其特征在于,所述认证模块根据所述第二设备随机数一和所述第一映射密钥对所述第二设备哈希值一进行认证,包括:所述认证模块根据所述第二设备随机数一和所述第一映射密钥重构出第二设备哈希值三,比对所述第二设备哈希值三与所述消息四中的所述第二设备哈希值一,如果相同,所述控制模块则确定回复消息五给所述第二设备。
18.根据权利要求15-17任一所述的第一设备,其特征在于,所述认证模块根据所述第二设备随机数二和所述第一映射密钥对所述第二设备哈希值二进行认证,包括,所述认证模块根据所述第二设备随机数二和所述第一映射密钥重构出第二设备哈希值四,比对所述第二设备哈希值四与所述消息四中的所述第二设备哈希值二,如果相同,所述控制模块则确定回复消息七给所述第二设备。
19.根据权利要求15-18任一所述的第一设备,其特征在于,所述通信模块向第二设备发送消息一之前,所述密钥生成模块生成并存储映射密钥列表,以使所述第一设备按预定规则在所述映射密钥列表中选择所述第一映射密钥。
20.根据权利要求15-19任一所述的第一设备,其特征在于,所述第一设备与所述第二设备互换,使所述第二设备具有所述通信模块、所述认证模块、所述密钥生成模块和所述控制模块,并具有所述第一设备的功能。
21.根据权利要求15-19任一所述的第一设备,其特征在于,所述第一密钥信息为所述第一设备的公钥,或所述第一设备产生的随机数;所述第二密钥信息为所述第二设备的公钥,或所述第二设备产生的随机数。
【文档编号】H04W12/06GK103916851SQ201310003687
【公开日】2014年7月9日 申请日期:2013年1月6日 优先权日:2013年1月6日
【发明者】庞高昆, 丁志明 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1