一种基于对称秘钥的离线设备双向认证方法和系统

文档序号:1864731 发布日期:2021-11-19 浏览:1次 >En<

阅读说明:本技术 一种基于对称秘钥的离线设备双向认证方法和系统 (Off-line equipment bidirectional authentication method and system based on symmetric key ) 是由 邹飞 李子男 利文浩 于 2021-07-13 设计创作,主要内容包括:本发明涉及一种基于对称秘钥的离线设备双向认证方法和系统,方法包括:设备A生成验证字段,设备B生成验证字段,设备A与设备B交换验证字段,基于两个交换字段和对称密钥得到会话密钥,使用会话密钥加密设备A和设备B的确认消息,进行设备A和设备B的验证,验证通过后设备A和设备B使用会话密钥进行通信。与现有技术相比,本发明基于设备A与设备B的验证字段和预先确定的对称密钥生成会话密钥,身份认证速度快,经过双向的确认信息验证后,设备A与设备B验证成功并通信,每次会话的会话密钥是基于验证字段和对称密钥一起生成的,减少了密钥泄漏的风险,而且设备A与设备B通信时使用的是对称加密算法,加密解密效率高。(The invention relates to a method and a system for bidirectional authentication of offline equipment based on a symmetric key, wherein the method comprises the following steps: the method comprises the steps that equipment A generates a verification field, equipment B generates a verification field, the equipment A and the equipment B exchange the verification field, a session key is obtained based on the two exchange fields and a symmetric key, confirmation messages of the equipment A and the equipment B are encrypted by using the session key, the equipment A and the equipment B are verified, and the equipment A and the equipment B communicate by using the session key after the verification is passed. Compared with the prior art, the method and the device have the advantages that the session key is generated based on the verification fields of the device A and the device B and the predetermined symmetric key, the identity authentication speed is high, the device A and the device B are successfully verified and communicate after the two-way confirmation information verification, the session key of each session is generated based on the verification fields and the symmetric key, the risk of key leakage is reduced, and the symmetric encryption algorithm is used when the device A and the device B communicate, so that the encryption and decryption efficiency is high.)

一种基于对称秘钥的离线设备双向认证方法和系统

技术领域

本发明涉及数据通信的信息安全技术领域,尤其是涉及一种基于对称秘钥的离线设备双向认证方法和系统。

背景技术

密钥是与加密算法一起用于加密某些输入(称为明文)的值,将明文使用密钥和加密算法加密后的输出称为密文。密钥本质上是非常非常大的数,密钥的尺寸用位(bit)来衡量,1024位密钥代表的数是非常巨大的。在公开密钥加密方法中,密钥的尺寸越大,密文就越安全。

对称密钥加密,又称私钥加密,即信息的发送方和接收方用同一个密钥去加密和解密数据,它的最大优势是加/解密速度快,适合于对大数据量进行加密。使用对称加密技术将简化加密过程和解密过程,通信中的每个参与方都不必彼此研究和交换其加密算法,所有的通信参与方使用相同的对称密钥和相同的加密算法,信息发送方将信息使用密钥加密后,信息接收方使用相同的密钥进行解密。如果通信双方能够确保双方共用的密钥在密钥交换阶段未曾泄露,那么就可以保证信息的机密性。

对称密钥加密的密钥管理困难,由于网络环境的不可靠性,存在着多种多样的攻击方式,如身份冒充、旧消息重放等,一旦密钥泄漏,则通信不再可靠。因此,现有技术中不少设备进行通信时依靠非对称加密算法进行通信。但是,非对称加密算法依赖数字证书服务器,数字证书服务器需要管理大规模的数字证书,提供证书的签发、查询、吊销等管理服务,在认证过程中依赖数字证书服务器校验证书的合法性,性能低,成本高,认证过程需要使用非对称加密算法进行签名、验签,非对称算法的性能慢,非对称加密算法对计算性能要求高,需要更高的cpu性能才能保证计算效率,导致成本偏高。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于对称秘钥的离线设备双向认证方法和系统,基于设备A与设备B的验证字段和预先确定的对称密钥生成会话密钥,身份认证速度快,经过双向的确认信息验证后,设备A与设备B验证成功并通信,每次会话的会话密钥是基于验证字段和对称密钥一起生成的,减少了密钥泄漏的风险,而且设备A与设备B通信时使用的仍是对称加密算法,加密解密效率高。

本发明的目的可以通过以下技术方案来实现:

一种基于对称秘钥的离线设备双向认证方法,用于实现设备A和设备B之间的安全通信,包括以下步骤:

S1、设备A和设备B获取对称密钥KeyS,设备A与设备B通信,需要具体相同的对称密钥,其他设备与设备A、设备B不具有通信绑定关系,则其他设备使用不一样的对称密钥;

S2、设备A生成验证字段RA并将其发送至设备B;

S3、设备B接收验证字段RA,并生成一个验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey;

S4、设备B使用对称加密算法、会话密钥SeKey对预先规定的“B确认消息”进行加密,得到密文BData,设备B将密文BData和验证字段RB一起发送至设备A;

S5、设备A接收设备B发送的密文BData和验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,从而得到会话密钥SeKey,这样设备A和设备B中都得到了相同的会话密钥SeKey;

S6、设备A使用对称加密算法、会话密钥SeKey对接收到的密文BData进行解密,如果解密成功且得到设备B发送的“B确认消息”,则设备A验证设备B成功,执行步骤S7,否则,验证失败,终止设备A和设备B之间的会话;

S7、设备A使用对称加密算法、会话密钥SeKey对预先规定的“A确认消息”进行加密,得到密文AData,设备A将密文AData发送至设备B;

S8、设备B接收设备A发送的密文AData,并使用对称加密算法、会话密钥SeKey对接收到的密文AData进行解密,如果解密成功且得到设备A发送的“A确认消息”,则设备B验证设备A成功,执行步骤S9,否则,验证失败,终止设备A和设备B之间的会话;

S9、设备A和设备B开始正常通信,通信过程中使用对称加密算法、会话密钥SeKey对发送和接收的数据进行加密和解密,直至完成此次会话。

优选的,验证字段RA和验证字段RB是随机数。

优选的,B确认消息和A确认消息的内容预先存储在设备A中,B确认消息和A确认消息的内容预先存储在设备B中,可以是“success”、“认证成功”等,B确认消息和A确认消息可以相同也可以不同。

优选的,在步骤S1中,如果设备A和设备B中保留了上一次会话时的会话密钥,则将上一次会话时的会话密钥作为此次会话的对称密钥,这样每次会话时使用的对称密钥都是上一次会话的会话密钥,保证了通信的前向安全性;如果设备A和设备B中没有上一次会话的会话密钥,则由密钥管理系统生成对称密钥并将其发送至设备A和设备B。

优选的,所述密钥管理系统中存储有永久有效的系统根密钥RootKey,密钥管理系统生成的对称密钥是基于系统根密钥RootKey以及设备A和设备B的绑定关系唯一确定的。

优选的,所述密钥管理系统使用加密算法、系统根密钥RootKey对“设备A唯一的设备号IDA和/或设备B唯一的设备号IDB”进行加密,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为对称密钥KeyS。

优选的,所述密钥管理系统布置在云端服务器。

优选的,设备A和设备B中使用的对称加密算法相同,是预先集成在设备A和设备B中的,如AES等算法。

一种基于对称秘钥的离线设备双向认证系统,包括通信连接的设备A和设备B;

所述设备A包括收发单元、存储单元、会话密钥生成单元、加密单元和解密单元,所述设备B包括收发单元、存储单元、会话密钥生成单元、加密单元和解密单元;

所述收发单元用于接收和发送信息;所述存储单元用于存储对称密钥KeyS和此次会话的会话密钥SeKey;所述会话密钥生成单元基于对称密钥KeyS、验证字段RA和验证字段RB得到会话密钥SeKey;所述加密单元使用对称加密算法、会话密钥SeKey对发送的消息进行加密;所述解密单元使用对称加密算法、会话密钥SeKey对接收的消息进行解密。

优选的,会话密钥单元生成会话密钥具体为:使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey。

优选的,所述离线设备双向认证系统还包括密钥管理系统;

如果设备A和设备B中保留了上一次会话的会话密钥,则此次会话的对称密钥KeyS为上一次会话时的会话密钥,如果设备A和设备B中没有上一次会话的会话密钥,则由密钥管理系统生成对称密钥并将其发送至设备A和设备B;

所述密钥管理系统中存储有永久有效的系统根密钥RootKey,密钥管理系统生成的对称密钥是基于系统根密钥RootKey以及设备A和设备B的绑定关系唯一确定的。

与现有技术相比,本发明具有以下有益效果:

(1)基于设备A与设备B的验证字段和预先确定的对称密钥生成会话密钥,身份认证速度快,经过双向的确认信息验证后,设备A与设备B验证成功并通信,每次会话的会话密钥是基于验证字段和对称密钥一起生成的,减少了密钥泄漏的风险,而且设备A与设备B通信时使用的仍是对称加密算法,加密解密效率高。

(2)在密钥管理系统中使用系统根密钥进行对称密钥的生成,对不同设备的信息使用系统根密钥进行加密,再计算Hash值得到对称密钥,不需要进行大规模的密钥存储、管理,降低了云端的密钥管理成本。

(3)除了第一次会话时使用密钥管理系统生成对称密钥外,后续每次会话的对称密钥都是上一次会话的会话密钥,变化的对称密钥进一步保证了通信的安全,降低了密钥泄漏的风险,而且省去了生成和下发对称密钥的步骤,认证效率更高。

附图说明

图1为离线设备双向认证方法的流程示意图;

图2为离线设备双向认证系统的结构示意图;

图3为对称密钥生成与下发的流程示意图;

图4为对称密钥生成与下发的流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1:

一种基于对称秘钥的离线设备双向认证方法,用于实现设备A和设备B之间的安全通信,如图1所示,包括以下步骤:

S1、设备A和设备B获取对称密钥KeyS,设备A与设备B通信,需要具体相同的对称密钥,其他设备与设备A、设备B不具有通信绑定关系,则其他设备使用不一样的对称密钥;

S2、设备A生成验证字段RA并将其发送至设备B;

S3、设备B接收验证字段RA,并生成一个验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey;

S4、设备B使用对称加密算法、会话密钥SeKey对预先规定的“B确认消息”进行加密,得到密文BData,设备B将密文BData和验证字段RB一起发送至设备A;

S5、设备A接收设备B发送的密文BData和验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,从而得到会话密钥SeKey,这样设备A和设备B中都得到了相同的会话密钥SeKey;

S6、设备A使用对称加密算法、会话密钥SeKey对接收到的密文BData进行解密,如果解密成功且得到设备B发送的“B确认消息”,则设备A验证设备B成功,执行步骤S7,否则,验证失败,终止设备A和设备B之间的会话;

S7、设备A使用对称加密算法、会话密钥SeKey对预先规定的“A确认消息”进行加密,得到密文AData,设备A将密文AData发送至设备B;

S8、设备B接收设备A发送的密文AData,并使用对称加密算法、会话密钥SeKey对接收到的密文AData进行解密,如果解密成功且得到设备A发送的“A确认消息”,则设备B验证设备A成功,执行步骤S9,否则,验证失败,终止设备A和设备B之间的会话;

S9、设备A和设备B开始正常通信,通信过程中使用对称加密算法、会话密钥SeKey对发送和接收的数据进行加密和解密,直至完成此次会话。

本实施例中,验证字段RA是一个随机数,验证字段RB是一个随机数,在其他实施方式中,可以使用其他方式的生成信息作为验证字段,如生成一段字符、使用当前的世界时间等。

在步骤S1中,如果设备A和设备B中保留了上一次会话时的会话密钥,则将上一次会话时的会话密钥作为此次会话的对称密钥,这样每次会话时使用的对称密钥都是上一次会话的会话密钥,保证了通信的前向安全性;如果设备A和设备B中没有上一次会话的会话密钥,则由密钥管理系统生成对称密钥并将其发送至设备A和设备B。

密钥管理系统中存储有永久有效的系统根密钥RootKey,密钥管理系统生成的对称密钥是基于系统根密钥RootKey以及设备A和设备B的绑定关系唯一确定的。

一种基于对称秘钥的离线设备双向认证系统,如图2所示,包括通信连接的设备A和设备B;

设备A包括收发单元、存储单元、会话密钥生成单元、加密单元和解密单元,设备B包括收发单元、存储单元、会话密钥生成单元、加密单元和解密单元;

收发单元用于接收和发送信息;存储单元用于存储对称密钥KeyS和此次会话的会话密钥SeKey;会话密钥生成单元基于对称密钥KeyS、验证字段RA和验证字段RB得到会话密钥SeKey;加密单元使用对称加密算法、会话密钥SeKey对发送的消息进行加密;解密单元使用对称加密算法、会话密钥SeKey对接收的消息进行解密。

会话密钥单元生成会话密钥具体为:使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey。

离线设备双向认证系统还包括密钥管理系统;如果设备A和设备B中保留了上一次会话的会话密钥,则此次会话的对称密钥KeyS为上一次会话时的会话密钥,如果设备A和设备B中没有上一次会话的会话密钥,则由密钥管理系统3生成对称密钥并将其发送至设备A和设备B;密钥管理系统中存储有永久有效的系统根密钥RootKey,密钥管理系统生成的对称密钥是基于系统根密钥RootKey以及设备A和设备B的绑定关系唯一确定的。

本实施例中,设备A中预先存储了验证字段RA和验证字段RB,设备B中预先存储了验证字段RA和验证字段RB,验证字段RA和验证字段RB可以是相同的,也可以是分别设计的,如“success”、“认证成功”等。

本实施例的应用场景是两台设备(设备A和设备B)第一次使用本申请进行通信:

(一)对称密钥生成和下发

密钥管理系统布置在云端服务器,密钥管理系统中存储有永久有效的系统根密钥RootKey。设备A具有唯一的设备号IDA。

设备A将设备A唯一的设备号IDA上传给密钥管理系统,密钥管理系统使用加密算法、系统根密钥RootKey对设备号IDA进行加密,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为对称密钥KeyS。

如图3所示,由于设备A与设备B第一次连接,密钥管理系统中没有存储设备之间的绑定关系,为了保证设备A与设备B之间的对称密钥相同,由设备A连接密钥管理系统,密钥管理系统将对称密钥KeyS下发至设备A;设备A与设备B绑定连接,设备B可以获得设备A唯一的设备号IDA,设备B将设备A唯一的设备号IDA上传密钥管理系统,密钥管理系统将对称密钥KeyS下发至设备B。

如图4所示,在其他实施方式中,也可以组合设备号IDA和设备号IDB或者其他信息得到对称密钥,再下发给设备A和设备B。

(二)双向身份认证

设备A生成随机数RA并将其发送至设备B;

设备B接收随机数RA,并生成一个随机数RB,使用对称加密算法、对称密钥KeyS加密“随机数RA和随机数RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey;

设备B使用对称加密算法、会话密钥SeKey对预先规定的“B确认消息”进行加密,得到密文BData,设备B将密文BData和随机数RB一起发送至设备A;

设备A接收设备B发送的密文BData和随机数RB,使用对称加密算法、对称密钥KeyS加密“随机数RA和随机数RB”,得到密文,将得到的密文使用Hash算法计算Hash值,从而得到会话密钥SeKey,这样设备A和设备B中都得到了相同的会话密钥SeKey;

设备A使用对称加密算法、会话密钥SeKey对接收到的密文BData进行解密,如果解密成功且得到设备B发送的“B确认消息”,则设备A验证设备B成功;

设备A使用对称加密算法、会话密钥SeKey对预先规定的“A确认消息”进行加密,得到密文AData,设备A将密文AData发送至设备B;

设备B接收设备A发送的密文AData,并使用对称加密算法、会话密钥SeKey对接收到的密文AData进行解密,如果解密成功且得到设备A发送的“A确认消息”,则设备B验证设备A成功;

设备A和设备B开始正常通信,通信过程中使用对称加密算法、会话密钥SeKey对发送和接收的数据进行加密和解密,直至完成此次会话。

实施例2:

本实施例的应用场景是两台设备(设备A和设备B)再一次使用本申请进行通信,其中,对称密钥的生成和下发有所不同。

设备A和设备B在上一次的会话中,使用会话密钥进行加密和解密,会话结束后,会话密钥保存在了设备A和设备B中,此次会话时不再使用密钥管理系统,将设备A和设备B中上一次会话的会话密钥作为此次的对称密钥,也不需要再进行对称密钥的下发,设备A和设备B直接进行双向身份认证即可。

这样,每一次新的会话,都会将前一次会话的会话密钥作为此次会话的对称密钥,每次会话的对称密钥都会更新,进一步减少了密钥泄漏风险,通信更加安全,具有前向安全性,而且每次会话的会话密钥都存储在设备A和设备B内,不需要再进行对称密钥生成和下发过程,简化了安全认证流程。

设备A和设备B中使用的对称加密算法相同,是预先集成在设备A和设备B中的,如AES等算法。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:网络攻击处理方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类