基于共享密钥的双向认证方法及系统、终端技术方案

技术编号:23674676 阅读:87 留言:0更新日期:2020-04-04 19:38
本发明专利技术提供一种基于共享密钥的双向认证方法及系统、终端,第一终端发送认证请求至第二终端,第二终端发送认证请求响应至第一终端,第一终端生成第二随机数,发送包括根据所选择的算法套件和第一共享密钥索引对第一随机数和第二随机数进行加密的第一加密结果和第一共享密钥索引的验证请求至第二终端;第二终端发送包括第二加密结果和第二共享密钥索引的验证请求响应至第一终端,并对第一加密结果进行解密,若解密结果与第一随机数一致,则认证第一终端为合法用户;第一终端对第二加密结果进行解密,若解密结果与第二随机数一致,则认证第二终端为合法用户。本发明专利技术的基于共享密钥的双向认证方法及系统、终端实现用户间的双向认证,安全性高。

Two way authentication method, system and terminal based on shared key

【技术实现步骤摘要】
基于共享密钥的双向认证方法及系统、终端
本专利技术涉及网络认证的
,特别是涉及一种基于共享密钥的双向认证方法及系统、终端。
技术介绍
现有技术中,在网络服务接入时最广泛使用的认证方式是基于公开密钥加密算法的身份验证。通信双方分别持有一对公钥和私钥,其中一方采用私钥对特定数据进行加密,而对方采用公开密钥对数据进行解密;如果解密成功,则认为用户是合法用户,如SSL、数字签名等。在实践中,用户通常拥有一份电子证书文件,此文件包含了公钥信息、用户主体以及数字证书认证机构对这份文件的数字签名。而其他用户通过核实证书内容,包括证书有否过期、数字签名是否有效、颁发机构是否可信等来判断证书是否可信。如果证书可信,则凭公钥与该证书用户进行可靠的通信。然而,现有的用户认证方式具有以下不足:(1)基于公钥的认证方式依赖于公钥的基础建设,如数字证书认证机构,导致配置复杂,要求较高;(2)相较于对称密钥算法,现有的公钥算法的运算速度较慢。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于共享密钥的双向认证方法及系统、终端,通过共享密钥来实现用户之间的双向认证,架构简单,安全性高。为实现上述目的及其他相关目的,本专利技术提供一种基于共享密钥的双向认证方法,应用于第一终端,所述第一终端和第二终端配置有共享密钥,所述双向认证方法包括以下步骤:发送认证请求至第二终端,所述认证请求中包含所述第一终端所支持的至少一个算法套件;接收所述第二终端发送来的认证请求响应,所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;生成第二随机数,发送验证请求至所述第二终端,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密的第一加密结果和第一共享密钥索引;接收所述第二终端发送来的验证请求响应,所述验证请求响应包括第二加密结果和第二共享密钥索引;并基于所述所选择的算法套件和所述第二共享密钥索引对所述第二加密结果进行解密,若解密得到的第二随机数与本地记录的所述第二随机数一致,则认证所述第二终端为合法用户。于本专利技术一实施例中,所述算法套件包括散列算法和加密算法。于本专利技术一实施例中,根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密时,将与所述第一共享密钥索引对应的第一共享密钥和所述第一随机数进行哈希计算,将所述哈希计算结果作为加密密钥对所述第一随机数和所述第二随机数进行加密;或者采用与所述第一共享密钥索引对应的第一共享密钥对所述第一随机数和所述第二随机数进行加密。于本专利技术一实施例中,所述验证请求响应还包括时间戳信息和/或消息摘要,以根据所述时间戳信息避免重放攻击,根据所述消息摘要验证所述验证请求响应的完整性。对应地,本专利技术提供一种基于共享密钥的双向认证系统,应用于第一终端,所述第一终端和第二终端配置有共享密钥,所述双向认证系统包括发送模块、接收模块、生成发送模块和接收认证模块;所述发送模块用于发送认证请求至第二终端,所述认证请求中包含所述第一终端所支持的至少一个算法套件;所述接收模块用于接收所述第二终端发送来的认证请求响应,所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;所述生成发送模块用于生成第二随机数,发送验证请求至所述第二终端,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密的第一加密结果和第一共享密钥索引;所述接收认证模块用于接收所述第二终端发送来的验证请求响应,所述验证请求响应包括第二加密结果和第二共享密钥索引;并基于所述所选择的算法套件和所述第二共享密钥索引对所述第二加密结果进行解密,若解密得到的第二随机数与本地记录的所述第二随机数一致,则认证所述第二终端为合法用户。本专利技术提供一种第一终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述第一终端执行上述的基于共享密钥的双向认证方法。本专利技术提供一种基于共享密钥的双向认证方法,应用于第二终端,第一终端和所述第二终端配置有共享密钥,所述双向认证方法包括以下步骤:接收所述第一终端发送来的认证请求,并在所述认证请求中包含的所述第一终端所支持的至少一个算法套件中选择一个算法套件作为所选择的算法套件;生成第一随机数,发送认证请求响应至所述第一终端;所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;接收所述第一终端发送来的验证请求,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和第二随机数进行加密的第一加密结果和第一共享密钥索引;基于所述所选择的算法套件和所述第一共享密钥索引对所述第一加密结果进行解密,若解密得到的第一随机数与本地记录的所述第一随机数一致,则认证所述第一终端为合法用户;并基于所述所选择的算法套件和第二共享密钥索引对解密得到的第二随机数进行加密得到第二加密结果,将包括所述第二加密结果和所述第二共享密钥索引的验证请求响应发送至所述第一终端。于本专利技术一实施例中,所述算法套件包括散列算法和加密算法。于本专利技术一实施例中,所述验证请求还包括时间戳信息和/或消息摘要,以根据所述时间戳信息避免重放攻击,根据所述消息摘要验证所述验证请求的完整性。于本专利技术一实施例中,所述验证请求响应还包括基于所述所选择的算法套件和所述第二共享密钥索引加密后的随机会话密钥,所述随机会话密钥用作所述第一终端和所述第二终端的通信密钥。对应地,本专利技术提供一种基于共享密钥的双向认证系统,应用于第二终端,第一终端和所述第二终端配置有共享密钥,所述双向认证系统包括第一接收模块、生成发送模块、第二接收模块和发送认证模块;所述第一接收模块用于接收所述第一终端发送来的认证请求,并在所述认证请求中包含的所述第一终端所支持的至少一个算法套件中选择一个算法套件作为所选择的算法套件;所述生成发送模块用于生成第一随机数,发送认证请求响应至所述第一终端;所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;所述第二接收模块用于接收所述第一终端发送来的验证请求,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和第二随机数进行加密的第一加密结果和第一共享密钥索引;所述发送认证模块用于基于所述所选择的算法套件和所述第一共享密钥索引对所述第一加密结果进行解密,若解密得到的第一随机数与本地记录的所述第一随机数一致,则认证所述第一终端为合法用户;并基于所述所选择的算法套件和第二共享密钥索引对解密得到的第二随机数进行加密得到第二加密结果,将包括所述第二加密结果和所述第二共享密钥索引的验证请求响应发送至所述第一终端。本专利技术提供一种第二终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于本文档来自技高网...

【技术保护点】
1.一种基于共享密钥的双向认证方法,应用于第一终端,其特征在于,所述第一终端和第二终端配置有共享密钥,所述双向认证方法包括以下步骤:/n发送认证请求至第二终端,所述认证请求中包含所述第一终端所支持的至少一个算法套件;/n接收所述第二终端发送来的认证请求响应,所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;/n生成第二随机数,发送验证请求至所述第二终端,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密的第一加密结果和第一共享密钥索引;/n接收所述第二终端发送来的验证请求响应,所述验证请求响应包括第二加密结果和第二共享密钥索引;并基于所述所选择的算法套件和所述第二共享密钥索引对所述第二加密结果进行解密,若解密得到的第二随机数与本地记录的所述第二随机数一致,则认证所述第二终端为合法用户。/n

【技术特征摘要】
1.一种基于共享密钥的双向认证方法,应用于第一终端,其特征在于,所述第一终端和第二终端配置有共享密钥,所述双向认证方法包括以下步骤:
发送认证请求至第二终端,所述认证请求中包含所述第一终端所支持的至少一个算法套件;
接收所述第二终端发送来的认证请求响应,所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;
生成第二随机数,发送验证请求至所述第二终端,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密的第一加密结果和第一共享密钥索引;
接收所述第二终端发送来的验证请求响应,所述验证请求响应包括第二加密结果和第二共享密钥索引;并基于所述所选择的算法套件和所述第二共享密钥索引对所述第二加密结果进行解密,若解密得到的第二随机数与本地记录的所述第二随机数一致,则认证所述第二终端为合法用户。


2.根据权利要求1所述的基于共享密钥的双向认证方法,其特征在于,所述算法套件包括散列算法和加密算法。


3.根据权利要求1所述的基于共享密钥的双向认证方法,其特征在于,根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密时,将与所述第一共享密钥索引对应的第一共享密钥和所述第一随机数进行哈希计算,将所述哈希计算结果作为加密密钥对所述第一随机数和所述第二随机数进行加密;或者采用与所述第一共享密钥索引对应的第一共享密钥对所述第一随机数和所述第二随机数进行加密。


4.根据权利要求1至3中任一项所述的基于共享密钥的双向认证方法,其特征在于,所述验证请求响应还包括时间戳信息和/或消息摘要,以根据所述时间戳信息避免重放攻击,根据所述消息摘要验证所述验证请求响应的完整性。


5.一种基于共享密钥的双向认证系统,应用于第一终端,其特征在于,所述第一终端和第二终端配置有共享密钥,所述双向认证系统包括发送模块、接收模块、生成发送模块和接收认证模块;
所述发送模块用于发送认证请求至第二终端,所述认证请求中包含所述第一终端所支持的至少一个算法套件;
所述接收模块用于接收所述第二终端发送来的认证请求响应,所述认证请求响应包括第一随机数、所选择的算法套件和第一共享密钥索引;
所述生成发送模块用于生成第二随机数,发送验证请求至所述第二终端,所述验证请求包括根据所述所选择的算法套件和所述第一共享密钥索引对所述第一随机数和所述第二随机数进行加密的第一加密结果和第一共享密钥索引;
所述接收认证模块用于接收所述第二终端发送来的验证请求响应,所述验证请求响应包括第二加密结果和第二共享密钥索引;并基于所述所选择的算法套件和所述第二共享密钥索引对所述第二加密结果进行解密,若解密得到的第二随机数与本地记录的所述第二随机数一致,则认证所述第二终端为合法用户。


6.一种第一终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述第一终端执行权利要求1至4中任一项所述的基于共享密钥的双向认证方法。


7.一种基于共享密钥的双向认证方法,应用于第二终端,其特征在于,第一终端和所述第二终端配置有共享密钥,所述双向认证方法包括以下步骤:
接收所述第一终端发送来的认证请求,并在所述认证请求中包含的所述第一终端所支持的至少一个算法套件中选择一个算法套件作为...

【专利技术属性】
技术研发人员:詹俊锐梁少峰陈洁容游耀祥
申请(专利权)人:广东国盾量子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1