防止重放攻击的口令鉴别方法与流程

文档序号:12467734阅读:2836来源:国知局
防止重放攻击的口令鉴别方法与流程

本发明涉及智能卡数据安全技术领域,尤其涉及一种防止重放攻击的口令鉴别方法。



背景技术:

电子技术的快速发展推动了智能卡的发展,而智能卡的片内操作系统COS(Chip Operating System)自然成为了关注的焦点,它是根据所服务的智能卡的特点而研发的。COS的主要功能是控制智能卡与外部读写设备进行信息交换,管理智能卡内部的存储器,并在智能卡的内部进行各种命令的处理。

外部读写设备与智能卡进行信息交换前需要进行鉴别(Verify),也称为口令鉴别,是智能卡对其持有者合法性的验证,用来减少被非法冒用的可能。通常情况下,用户通过外部读写设备向智能卡发送8位口令,智能卡对发送的口令进行鉴别,鉴别通过后,开始进行信息交换。如果连续鉴别失败的次数超过了规定的次数,COS自动锁定智能卡,不允许外部读写设备再进行鉴别和信息交换。

这种方法比较简单,也可以满足一般使用,但是存在明显的弊端:智能卡与外部读写设备在进行通信时,可能会受到攻击者的监听,如果攻击者监听到了智能卡和外部设备鉴别过程的通信数据包,那么攻击者只要向智能卡发送监听到的数据包即可通过智能卡的安全鉴别,这种攻击方式就是重放攻击(Replay Attacks)。为了防止重放攻击,必须提出一种更好的口令鉴别设计方法。



技术实现要素:

本发明的目的在于提供一种防止重放攻击的操作系统口令鉴别的方法,用于解决上述技术问题。

本发明一种防止重放攻击的操作系统口令鉴别的方法包括:智能卡产生指定字节数量的随机数,并将随机数传给外部设备;外部设备根据随机数将外部输入的口令进行加密;当该智能卡接收到包含经该随机数加密的口令的信息后,进行解密,对解密后口令进行口令鉴别,如果通过,则允许外部设备与该智能卡进行信息交换。

根据本发明的防止重放攻击的操作系统口令鉴别的方法的一实施例,其中,还包括:当该智能卡接收到包含经该随机数加密的口令的信息后,进行解密,将解密后的随机数与智能卡产生的随机数进行比对,如果相同,则通过认证。

根据本发明的防止重放攻击的操作系统口令鉴别的方法的一实施例,其中,还包括:该智能卡对解密后口令进行口令鉴别,如果未通过,则进行错误计数,当错误计数的次数超过一阈值,则将卡片锁定,禁止该外部设备访问该智能卡。

根据本发明的防止重放攻击的操作系统口令鉴别的方法的一实施例,其中,还包括:当该智能卡接收到包含经该随机数加密的口令的信息后,先判断是否有外部设备请求过随机数,如果有,则进行解密,如果没有,则报错。

本发明的防止重放攻击的操作系统口令鉴别的方法与现有的技术相比,可以有效防止攻击者进行重放攻击,提高智能卡的数据稳定性,降低用户使用过程中的风险。

附图说明

图1是本发明防止重放攻击的口令鉴别方法的流程图;

图2是本发明防止重放攻击的口令鉴别方法的另一实施例的流程图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本发明提出了一种使用动态随机数将密码加密然后再进行鉴别的方法。使用动态随机数将密码加密然后再进行鉴别的方法的主要是在口令鉴别前增加了请求随机数的过程。具体原理是:

鉴别开始前,外部设备首先需要向智能卡请求随机数,然后利用随机数作为密钥对用户输入的口令数据进行加密,最后再发送给智能卡,智能卡在收到数据后,利用之前的随机数作为密钥对数据进行解密,然后再进行口令鉴别。如果双方使用相同的随机数和加密算法,那么只要用户输入的口令正确就可以通过智能卡的口令鉴别。此时如果攻击者监听到了鉴别过程的数据包,使用重放攻击就无法通过智能卡的口令鉴别,而是收到智能卡返回的要求请求随机数再进行鉴别的错误报告。

图1是本发明防止重放攻击的口令鉴别方法的流程图,如图1所示,本专利提出的防止重放攻击的智能卡操作系统口令鉴别过程包括:

S1、智能卡操作系统进行初始化;

S2、外部设备向智能卡操作系统发送请求鉴别的命令,智能卡接收外部设备发来的鉴别命令;

S3、智能卡操作系统收到请求鉴别的命令后,判断是否有外部设备请求过随机数,如果有,执行S4,如果没有则报错;

S4、智能卡操作系统根据请求的随机数,对外部设备发送的随机数加密的口令进行解密;

S5、智能卡操作系统对解密后口令进行口令鉴别,如果通过,则允许外部设备进行信息交换.

图2是本发明防止重放攻击的口令鉴别方法的另一实施例的流程图,本实施例在上一实施例的基础上,进一步包括:

S6、同时将错误计数器的次数置0,否则增加错误计数器的次数;

S7、判断错误计数器的次数是否超过规定的次数,如超过,则将卡片锁定,否则禁止外部设备继续鉴别。

对于再一实施例,其中在S2之前,智能卡操作系统还接收外部设备发送的命令,该命令要求智能卡产生指定字节数量的随机数,并将随机数回传给外部设备;同时,外部设备根据指定字节数量的随机数将外部输入的口令进行加密;外部设备向智能卡操作系统发送请求鉴别的命令中包含使用之前产生的随机数加密的口令。

综上,本发明防止重放攻击的口令鉴别方法的关键点是在鉴别之前增加了随机数的请求过程,外部设备必须使用刚刚请求的随机数对用户输入的口令进行加密,由于每次请求的随机数都是动态生成的,因此外部设备所发送的鉴别数据每次都不相同,攻击者无法通过重放攻击通过智能卡COS的口令鉴别。

与现有的技术相比,本发明提出的防止重放攻击的口令鉴别方法鉴别过程更加安全可靠,可以有效防止攻击者进行重放攻击,提高智能卡的数据稳定性,降低用户使用过程中的风险。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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