设备的双向认证方法、双向认证装置及双向认证系统制造方法及图纸

技术编号:37435170 阅读:10 留言:0更新日期:2023-05-06 09:07
本申请涉及通信数据安全技术领域,公开了一种设备的双向认证方法。该方法包括:第一设备根据第一验证字段生成第一特征字段和第一明文数据,再生成第一加密流;第二设备根据第二验证字段生成第二特征字段,提取第一加密流的第一解密明文数据,再生成第二加密流;第一设备提取第二加密流的第一解密特征字段和第二解密明文数据,若第一解密特征字段和第一特征字段相同,利用第二解密明文数据的第二解密特征字段生成第三加密流;若第二解密特征字段和第二特征字段相同,认证通过;同时,两个设备根据第一明文数据和第二明文数据生成临时双向认证密钥。该方法可提高认证安全性。本申请还公开一种设备的双向认证装置和双向认证系统。统。统。

【技术实现步骤摘要】
设备的双向认证方法、双向认证装置及双向认证系统


[0001]本申请涉及通信数据安全
,例如涉及一种设备的双向认证方法、双向认证装置及双向认证系统。

技术介绍

[0002]目前,MIFARE是NXP(Next Experience Semiconductors,恩智浦半导体公司)推出的存储卡芯片产品,其中MIFAREClassic属于逻辑加密芯片,被广泛用于交通卡、门禁卡、校园卡等系统中。Mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听,由于MIFAREClassic得到广泛使用,其Mifare1的安全性非常重要。数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥。
[0003]Mifare1(NXP拥有的一系列非接触式智能卡和近傍型卡技术的注册商标)在存储模块中存放本存储模块使用的两个密钥(KeyA,KeyB),且每个存储块都有各自的秘钥,密钥长度都为6字节。
[0004]Mifare1中使用了一种称为“Crypto1”的加密算法,支持ISO/IECDIS9798

2三次传送双向认证体制,认证成功才能进行对存储卡的读、写、加值、减值等后续操作,这些操作使用“Crypto1”加密流。
[0005]但是,自2007年以来,Mifare Classic芯片逐步被破解。2007年12月,K.Nohl和H.Plotz在柏林举行的CCC会议上介绍了对Mifare Classic 芯片进行逆向工程和安全的部分结果,公开了MifareClassic卡用于认证过程的随机数产生方法和算法,并指出其中的48bitcrypto1流密码已经被还原。2008年10月,荷兰奈梅亨Raboud大学(NRU)F.D.Garcia教授在西班牙ESORICS2008会发表他们研究小组还原了crypto1算法和认证方法。目前,网上已经有“Crypto1”的原理图及相关破解源代码。
[0006]为了实现两个设备(第一设备和第二设备)之间的安全通信,可通过如下步骤进行双向认证:S1、第一设备和第二设备获取对称密钥KeyS;S2、第一设备生成验证字段RA并将其发送至第二设备;S3、第二设备接收验证字段RA,并生成一个验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,得到的Hash值作为会话密钥SeKey;S4、第二设备使用对称加密算法、会话密钥SeKey对预先规定的“B确认消息”进行加密,得到密文BData,第二设备将密文BData和验证字段RB一起发送至第一设备;S5、第一设备接收第二设备发送的密文BData和验证字段RB,使用对称加密算法、对称密钥KeyS加密“验证字段RA和验证字段RB”,得到密文,将得到的密文使用Hash算法计算Hash值,从而得到会话密钥SeKey;S6、第一设备使用对称加密算法、会话密钥SeKey对接收到的密文BData进行解密,如果解密成功且得到第二设备发送的“B确认消息”,则第一设备验证第二设备成功,执行步骤S7,否则,验证失败,终止第一设备和第二设备之间的会话;S7、第一设备使用对称加密算法、会话密钥SeKey对预先规定的“A确认消息”进行加密,得到密文AData,第一设备将密文AData发送至第二设备;S8、第二设备接收第一设备发送的密文AData,并使用对称加密算法、会话密钥SeKey对接收到的密文
AData进行解密,如果解密成功且得到第一设备发送的“A确认消息”,则第二设备验证第一设备成功,执行步骤S9,否则,验证失败,终止第一设备和第二设备之间的会话;S9、第一设备和第二设备开始正常通信,通信过程中使用对称加密算法、会话密钥SeKey对发送和接收的数据进行加密和解密,直至完成此次会话。
[0007]在实现本申请实施例的过程中,发现相关技术中至少存在如下问题:
[0008]利用两个验证字段的hash值作为会话密钥SeKey,再利用确认消息的验证方式,来确保两个设备均有相同的会话密钥SeKey,使两个设备之间实现正常通信。在这个过程中,“A确认消息”或“B确认消息”均为一个预先设置的正确消息,那么,A确认消息和B确认消息一旦泄露,就容易通过逆向工程破解该会话密钥,导致该双向认证方式仍存在一定的安全风险。
[0009]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领普通技术人员已知的现有技术的信息。

技术实现思路

[0010]为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
[0011]本申请实施例提供了一种设备的双向认证方法、双向认证装置及双向认证系统,以提高设备双向认证的安全性,提高两个设备之间的通信安全。
[0012]在一些实施例中,设备的双向认证方法应用于第一设备,所述双向认证方法包括:
[0013]获得协商传输密钥以及第一验证字段;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;
[0014]生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;
[0015]利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,并将所述第一加密流发送至第二设备;使所述第二设备利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;获得第二验证字段并生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段,所述第二明文数据包括所述第二验证字段和所述第一解密特征字段;利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流;
[0016]接收所述第二设备发送的第二加密流;
[0017]通过所述协商传输密钥对所述第二加密流进行解密,以获得所述第二明文数据对应的第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;
[0018]在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二
解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;
[0019]生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流,并向所述第二设备发送所述第三加密流,所述第三明文数据包括所述第二解密特征字段;使所述第二设备根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种设备的双向认证方法,其特征在于,应用于第一设备,所述双向认证方法包括:获得协商传输密钥以及第一验证字段;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,并将所述第一加密流发送至第二设备;使所述第二设备利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;获得第二验证字段并生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段;利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流;接收所述第二设备发送的第二加密流;通过所述协商传输密钥对所述第二加密流进行解密,以获得所述第二明文数据对应的第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流,并向所述第二设备发送所述第三加密流,所述第三明文数据包括所述第二解密特征字段;使所述第二设备根据所述协商传输密钥解密所述第三加密流,以获得所述第三明文数据对应的第三解密明文数据,以及所述第三解密明文数据中的第二解密特征字段,并在所述第二解密特征字段与所述第二特征字段相同的情况下,确认认证通过;根据所述第一明文数据和所述第二解密明文数据生成临时双向认证密钥;所述临时双向认证密钥用于在所述第一设备与所述第二设备之间完成认证通过后,所述第一设备对二者后续的通信数据进行加密或解密。2.根据权利要求1所述的双向认证方法,其特征在于,所述第一明文数据还包括协商传输加密算法对应的协商传输算法特征码;利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,包括:利用所述协商传输密钥和所述协商传输加密算法对所述第一明文数据进行加密处理,以获得所述第一加密流。3.根据权利要求2所述的双向认证方法,其特征在于,通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段,包括:通过预设数据处理方法对所述第一验证字段和所述协商传输算法特征码二者构成的整体进行处理,获得所述第一验证字段和所述协商传输算法特征码二者构成的整体对应的所述第一特征字段;所述第二设备通过预设数据处理方法对所述第一解密字段进行处理,获得所述第一解
密字段对应的第一解密特征字段,包括:所述第二设备通过预设数据处理方法对所述第一解密字段和所述协商传输算法特征码二者构成的整体进行处理,获得所述第一解密字段和所述协商传输算法特征码二者构成的整体对应的第一解密特征字段。4.根据权利要求1至3任一项所述的双向认证方法,其特征在于,所述第一设备获得所述协商传输密钥,包括:获得非接触式存储卡ICC的存储区密钥、扇区号以及识别码UID,根据所述存储区密钥、所述扇区号和所述UID,生成所述协商传输密钥;所获得的存储区密钥和扇区号与外部访问条件相关。5.一种设备的双向认证方法,其特征在于,应用于第二设备,所述双向认证方法包括:接收第一设备发送的第一加密流,并获得协商传输密钥;所述第一加密流是所述第一设备通过如下方式获得的:获得协商传输密钥以及第一验证字段;生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;获得第二验证字段;生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,并通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段;所述第二特征字段的长度小于所述第二验证字段的长度;利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流,并将所述第二加密流发送至所述第一设备,使所述第一设备通过所述协商传输密钥对所述第二加密流进行解密,以获得第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流;所述第三明文数据包括所述...

【专利技术属性】
技术研发人员:杨宇陈雅慧马迁
申请(专利权)人:紫光同芯微电子有限公司
类型:发明
国别省市:

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

1