设备的双向认证方法、双向认证装置及双向认证系统与流程

文档序号:34022392发布日期:2023-05-05 02:55阅读:253来源:国知局
设备的双向认证方法、双向认证装置及双向认证系统与流程

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


背景技术:

1、目前,mifare是nxp(next experience semiconductors,恩智浦半导体公司)推出的存储卡芯片产品,其中mifareclassic属于逻辑加密芯片,被广泛用于交通卡、门禁卡、校园卡等系统中。mifare1的安全性主要指卡中数据的安全性,要求卡中的数据不能被非法修改或窃听,由于mifareclassic得到广泛使用,其mifare1的安全性非常重要。数据的安全性主要使用加密技术来保证,加密技术有两个关键因素:加密算法和密钥。

2、mifare1(nxp拥有的一系列非接触式智能卡和近傍型卡技术的注册商标)在存储模块中存放本存储模块使用的两个密钥(keya,keyb),且每个存储块都有各自的秘钥,密钥长度都为6字节。

3、mifare1中使用了一种称为“crypto1”的加密算法,支持iso/iecdis9798-2三次传送双向认证体制,认证成功才能进行对存储卡的读、写、加值、减值等后续操作,这些操作使用“crypto1”加密流。

4、但是,自2007年以来,mifare classic芯片逐步被破解。2007年12月,k.nohl和h.plotz在柏林举行的ccc会议上介绍了对mifare classic 芯片进行逆向工程和安全的部分结果,公开了mifareclassic卡用于认证过程的随机数产生方法和算法,并指出其中的48bitcrypto1流密码已经被还原。2008年10月,荷兰奈梅亨raboud大学(nru)f.d.garcia教授在西班牙esorics2008会发表他们研究小组还原了crypto1算法和认证方法。目前,网上已经有“crypto1”的原理图及相关破解源代码。

5、为了实现两个设备(第一设备和第二设备)之间的安全通信,可通过如下步骤进行双向认证: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对发送和接收的数据进行加密和解密,直至完成此次会话。

6、在实现本技术实施例的过程中,发现相关技术中至少存在如下问题:

7、利用两个验证字段的hash值作为会话密钥sekey,再利用确认消息的验证方式,来确保两个设备均有相同的会话密钥sekey,使两个设备之间实现正常通信。在这个过程中,“a确认消息”或“b确认消息”均为一个预先设置的正确消息,那么,a确认消息和b确认消息一旦泄露,就容易通过逆向工程破解该会话密钥,导致该双向认证方式仍存在一定的安全风险。

8、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领普通技术人员已知的现有技术的信息。


技术实现思路

1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

2、本技术实施例提供了一种设备的双向认证方法、双向认证装置及双向认证系统,以提高设备双向认证的安全性,提高两个设备之间的通信安全。

3、在一些实施例中,设备的双向认证方法应用于第一设备,所述双向认证方法包括:

4、获得协商传输密钥以及第一验证字段;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;

5、生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;

6、利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,并将所述第一加密流发送至第二设备;使所述第二设备利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;获得第二验证字段并生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段,所述第二明文数据包括所述第二验证字段和所述第一解密特征字段;利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流;

7、接收所述第二设备发送的第二加密流;

8、通过所述协商传输密钥对所述第二加密流进行解密,以获得所述第二明文数据对应的第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;

9、在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;

10、生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流,并向所述第二设备发送所述第三加密流,所述第三明文数据包括所述第二解密特征字段;使所述第二设备根据所述协商传输密钥解密所述第三加密流,以获得所述第三明文数据对应的第三解密明文数据,以及所述第三解密明文数据中的第二解密特征字段,并在所述第二解密特征字段与所述第二特征字段相同的情况下,确认认证通过;

11、根据所述第一明文数据和所述第二解密明文数据生成临时双向认证密钥;所述临时双向认证密钥用于在所述第一设备与所述第二设备之间完成认证通过后,所述第一设备对二者后续的通信数据进行加密或解密。

12、可选地,所述第一明文数据还包括所述协商传输加密算法对应的协商传输算法特征码;利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,包括:利用所述协商传输密钥和所述协商传输加密算法对所述第一明文数据进行加密处理,以获得所述第一加密流。

13、可选地,通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段,包括:通过预设数据处理方法对所述第一验证字段和所述协商传输算法特征码二者构成的整体进行处理,获得所述第一验证字段和所述协商传输算法特征码二者构成的整体对应的所述第一特征字段。

14、可选地,所述第二设备通过预设数据处理方法对所述第一解密字段进行处理,获得所述第一解密字段对应的第一解密特征字段,包括:所述第二设备通过预设数据处理方法对所述第一解密字段和所述协商传输算法特征码二者构成的整体进行处理,获得所述第一解密字段和所述协商传输算法特征码二者构成的整体对应的第一解密特征字段。

15、可选地,获得所述第一验证字段,包括:生成第一随机数,将所述第一随机数作为所述第一验证字段。

16、可选地,获得所述第二验证字段,包括:生成第二随机数,将所述第二随机数作为所述第二验证字段。

17、可选地,通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段,包括:在所述第一验证字段中抽取第一预设位置的内容,将所述第一预设位置处抽取的内容作为所述第一特征字段。

18、可选地,通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段,包括:在所述第一解密字段中抽取所述第一预设位置的内容,将所述第一预设位置处抽取的内容作为所述第一解密特征字段。

19、可选地,通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段,包括:在所述第二验证字段中抽取第二预设位置的内容,将所述第二预设位置处抽取的内容作为所述第二特征字段。

20、可选地,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段,包括:在所述第二解密字段中抽取所述第二预设位置的内容,将所述第二预设位置处抽取的内容作为所述第二解密特征字段。

21、可选地,获得所述协商传输密钥,包括:获得非接触式存储卡(integratecircuitcard,icc)的存储区密钥、扇区号以及识别码uid,根据所述存储区密钥、所述扇区号和所述uid,生成所述协商传输密钥;所获得的存储区密钥和扇区号与外部访问条件相关。

22、在一些实施例中,设备的双向认证方法应用于第二设备,所述双向认证方法包括:

23、接收第一设备发送的第一加密流,并获得协商传输密钥;所述第一加密流是所述第一设备通过如下方式获得的:获得协商传输密钥以及第一验证字段;生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;

24、利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;

25、通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;

26、获得第二验证字段;

27、生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,并通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段;所述第二特征字段的长度小于所述第二验证字段的长度;

28、利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流,并将所述第二加密流发送至所述第一设备,使所述第一设备通过所述协商传输密钥对所述第二加密流进行解密,以获得第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流;所述第三明文数据包括所述第二解密特征字段;

29、接收所述第一设备发送的第三加密流,并根据所述协商传输密钥解密所述第三加密流,以获得所述第三明文数据对应的第三解密明文数据,以及所述第三解密明文数据中的第二解密特征字段;

30、在所述第二解密特征字段与所述第二特征字段相同的情况下,确认认证通过;

31、根据所述第一解密明文数据和所述第二明文数据生成临时双向认证密钥;所述临时双向认证密钥用于在所述第一设备与所述第二设备之间完成认证通过后,所述第二设备对二者后续的通信数据进行加密或解密。

32、可选地,利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据,包括:分别通过多种预设加密算法和所述协商传输密钥对所述第一加密流进行解密,获得多个解密流;提取每个解密流中的算法特征码,并获得每个解密流的长度;算法特征码与加密算法对应,所述第一加密流是所述第一设备通过所述协商传输密钥和协商传输算法特征码对应的协商传输加密算法进行加密的;将算法特征码和长度均合法的解密流确定为所述第一解密明文数据;所述第二设备还将所述第一解密明文数据所对应的加密算法作为协商传输加密算法,在与所述第一设备的后续认证过程中,利用所述协商传输加密算法对通信数据进行加密;第二设备还将所述第一解密明文数据中的算法特征码作为协商传输算法特征码,并通过预设数据处理方法对所述第一解密字段和所述协商传输算法特征码二者构成的整体进行处理,获得所述第一解密字段和所述协商传输算法特征码二者构成的整体对应的第一解密特征字段。

33、可选地,获得所述第一验证字段,包括:生成第一随机数,将所述第一随机数作为所述第一验证字段。

34、可选地,获得所述第二验证字段,包括:生成第二随机数,将所述第二随机数作为所述第二验证字段。

35、可选地,通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段,包括:在所述第一验证字段中抽取第一预设位置的内容,将所述第一预设位置处抽取的内容作为所述第一特征字段。

36、可选地,通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段,包括:在所述第一解密字段中抽取所述第一预设位置的内容,将所述第一预设位置处抽取的内容作为所述第一解密特征字段。

37、可选地,通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段,包括:在所述第二验证字段中抽取第二预设位置的内容,将所述第二预设位置处抽取的内容作为所述第二特征字段。

38、可选地,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段,包括:在所述第二解密字段中抽取所述第二预设位置的内容,将所述第二预设位置处抽取的内容作为所述第二解密特征字段。

39、可选地,所述第一设备获得所述协商传输密钥,包括:获得icc的存储区密钥、扇区号以及uid,根据所述存储区密钥、所述扇区号和所述uid,生成所述协商传输密钥;所获得的存储区密钥和扇区号与外部访问条件相关。

40、在一些实施例中,双向认证系统包括第一设备和第二设备;

41、所述第一设备获得协商传输密钥以及第一验证字段;所述第一设备预存多组协商传输密钥,所获得的一组协商传输密钥与外部访问条件相关;

42、所述第一设备生成包含所述第一验证字段的第一明文数据,并通过预设数据处理方法对所述第一验证字段进行处理,以获得所述第一验证字段对应的第一特征字段;所述第一特征字段的长度小于所述第一验证字段的长度;

43、所述第一设备利用所述协商传输密钥对所述第一明文数据进行加密处理,以获得第一加密流,并将所述第一加密流发送至所述第二设备;

44、所述第二设备获得所述协商传输密钥;

45、所述第二设备利用所述协商传输密钥对所述第一加密流进行解密,以获得所述第一明文数据对应的第一解密明文数据以及所述第一验证字段对应的第一解密字段;

46、所述第二设备通过预设数据处理方法对所述第一解密字段进行处理,以获得所述第一解密字段对应的第一解密特征字段;

47、所述第二设备获得第二验证字段;

48、所述第二设备生成包含所述第二验证字段和所述第一解密特征字段的第二明文数据,并通过预设数据处理方法对所述第二验证字段进行处理,以获得所述第二验证字段对应的第二特征字段;所述第二特征字段的长度小于所述第二验证字段的长度;

49、所述第二设备利用所述协商传输密钥对所述第二明文数据进行加密处理,以获得第二加密流,并将所述第二加密流发送至所述第一设备;

50、所述第一设备通过所述协商传输密钥对所述第二加密流进行解密,以获得所述第二明文数据对应的第二解密明文数据以及所述第二解密明文数据中的第一解密特征字段;

51、所述第一设备在所述第一解密特征字段与所述第一特征字段相同的情况下,通过预设数据处理方法对所述第二加密流中的第二解密字段进行处理,以获得所述第二解密字段对应的第二解密特征字段;所述第二解密特征字段的长度小于所述第二解密字段的长度;

52、所述第一设备生成第三明文数据,利用所述协商传输密钥加密所述第三明文数据,以获得第三加密流,并向所述第二设备发送所述第三加密流,所述第三明文数据包括所述第二解密特征字段;

53、所述第二设备根据所述协商传输密钥解密所述第三加密流,以获得所述第三明文数据对应的第三解密明文数据,以及所述第三解密明文数据中的第二解密特征字段;

54、所述第二设备在所述第二解密特征字段与所述第二特征字段相同的情况下,确认认证通过;

55、所述第一设备根据所述第一明文数据和所述第二解密明文数据生成临时双向认证密钥,用于在所述第一设备与所述第二设备之间完成认证通过后,所述第一设备对二者后续的通信数据进行加密或解密;

56、所述第二设备根据所述第一解密明文数据和所述第二明文数据生成临时双向认证密钥,用于在所述第一设备与所述第二设备之间完成认证通过后,所述第二设备对二者后续的通信数据进行加密或解密。

57、在一些实施例中,设备的双向认证装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的双向认证方法。

58、本技术实施例提供的设备的双向认证方法、双向认证装置及双向认证系统,可以实现以下技术效果:

59、第一设备通过第一明文数据和第二解密明文数据生成临时双向认证密钥,用于在第一设备与第二设备之间完成认证通过后,第一设备对二者后续的通信数据进行加密或解密;而第二设备通过第一解密明文数据和第二明文数据生成临时双向认证密钥,用于在第一设备与第二设备之间完成认证通过后,第二设备对二者后续的通信数据进行加密或解密。在这个过程中,第一设备通过第一特征字段和第一解密特征字段的比对,确认第二设备所获得的第一解密明文数据与第一设备的第一明文数据是相同的;第二设备通过第二特征字段和第二解密特征字段的比对,确认第一设备所获得第二解密字段与第二设备的第二明文数据是相同的,通过这种确认方式,确认了第一设备和第二设备具备相同的用于生成临时双向认证密钥的基础数据,之后第一设备和第二设备可利用该临时双向认证密钥直接进行数据通信,而无需再次的对该临时双向认证密钥进行验证,降低通过逆向工程破解该临时双向认证密钥的风险,提高了两个设备之间双向认证的安全性,提高了两个设备之间的通信安全。

60、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1