原创
IC卡安全操作基本命令-密码解锁(PIN UNBLOCK)
2008-10-20 13:33
7930
11
11
分类:
软件与OS
1、命令功能描述
验证密码命令用以解锁个人密码,是PIN维护的一个重要命令。
每一个PIN记录都含有一个尝试次数计数器,在校验PIN的过程中,如果PIN校验失败的话,尝试计数器的值减一,如果连续多次失败的话,尝试计数器的值可能减为0,这时PIN记录被锁定,将无法再进行校验操作,也就是无法使用了。这时需要对PIN记录进行解锁操作。
解锁操作主要是将PIN记录的尝试计数器复位。
2、命令报文格式
命令的APDU内容如下所示:
代码 值
CLA 0x84
INS 0x24
P1 PIN ID
P2 0x01
Lc 0x04
Data MAC
Le 不存在
其中:
* P1指定要解锁PIN的ID号,如果P1为0x00表示对PIN文件的第一条记录进行解锁,否则根据P1指定的PIN ID进行查找。
* 为了进行安全控制,命令数据域带MAC,MAC用对应DF的主控密钥计算。
3、响应报文数据
响应报文数据域不存在。
4、响应报文状态码
此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:
SW1 SW2 含义
0x65 0x81 存储区错误
0x67 0x00 Lc错误
0x69 0x81 PIN文件没有找到
0x69 0x82 安全条件不满足
0x69 0x84 随机数无效
0x69 0x85 命令执行条件不满足
0x69 0x87 MAC丢失
0x69 0x88 MAC错误
0x6A 0x86 P1、P2不正确
0x6D 0x00 INS错误
0x6E 0x00 CLA错误
5、命令实现的其他要求
根据COS提供的功能不同,该命令的功能可以用应用中定义的重装个人密码(RELOAD PIN)命令代替。
6、命令实现设计
在执行该命令前,应用必须先发一条取随机数命令,卡片存在4Byte有效随机数。
7、命令使用示例
(1)预设环境
假设PIN文件支持多个PIN记录,要解锁的PIN示例对应的为添加命令示例中添加的PIN。
(2)命令报文
解锁PIN记录的APDU:
84 24 01 01 04 11 22 33 44
其中:
* 84 表示PIN UNBLOCK命令的CLA。
* 24 表示PIN UNBLOCK命令的INS。
* 01 表示PIN UNBLOCK命令的P1,即要解锁的PIN的ID。
* 01 表示PIN UNBLOCK命令的P2。
* 04 表示PIN UNBLOCK命令的Lc,即数据域的长度。
* 11223344 表示PIN UNBLOCK命令的MAC。
(3)PIN UNBLOCK 响应报文
卡片处理以后,PIN UNBLOCK 没有响应报文。
文章评论(0条评论)
登录后参与讨论