原创
IC卡安全操作基本命令-验证密码(VERIFY)
2008-10-20 13:32
7594
10
10
分类:
软件与OS
1、命令功能描述
验证密码命令用以校验个人密码,是卡片安全控制的一个重要手段。
如果卡片支持多个PIN记录的话,需要支持选择PIN的校验。
PIN的校验结果会影响对应的卡片安全状态。如果PIN校验成功以后,将对应的安全状态修改为PIN记录中指定的值,同时PIN的尝试计数器复位;如果PIN校验失败以后,对应的安全状态不改变,PIN的尝试计数器减一,制止减为0将PIN锁定再也不能进行该PIN的校验为止。
2、命令报文格式。
命令的APDU内容如下所示:
代码 值
CLA 0x00
INS 0x20
P1 0x00
P2 PIN ID
Lc DATA域的长度
Data PIN的内容
Le 不存在
其中:
* P1指定要验证的ID号,如果P1为0x00表示对PIN文件的第一条记录进行校验,否则根据P1指定的PIN ID进行查找。
* DATA域包含的是要校验的PIN的内容,和PIN文件的格式一样,用BCD编码方式,不足字节用0xFF补齐。
3、响应报文数据
响应报文数据域不存在。
4、响应报文状态码
此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:
SW1 SW2 含义
0x63 0xCX 旧密码校验失败,X表示剩余的尝试次数
0x65 0x81 存储区错误
0x67 0x00 Lc错误
0x69 0x81 PIN文件没有找到
0x69 0x82 安全条件不满足
0x69 0x83 PIN记录被锁定
0x69 0x85 命令执行条件不满足
0x6A 0x80 数据域参数不正确
0x6A 0x86 P1、P2不正确
0x6D 0x00 INS错误
0x6E 0x00 CLA错误
5、命令实现的其他要求
命令实现无特殊要求。
6、命令实现设计
在实现过程中需要注意PIN记录状态和卡片安全状态的检查与相应的维护。
7、命令使用示例
(1)预设环境
假设PIN文件支持多个PIN记录,验证PIN示例对应的为添加命令示例中添加的PIN。
(2)命令报文
验证PIN记录的APDU:
00 20 00 01 02 12 34
其中:
* 00 表示VERIFY命令的CLA。
* 20 表示VERIFY命令的INS。
* 00 表示VERIFY命令的P1。
* 01 表示VERIFY命令的P2,即要验证的PIN的ID。
* 02 表示VERIFY命令的Lc,即数据域的长度。
* 1234 表示要验证的PIN值。
(3)VERIFY响应报文
卡片处理以后,VERIFY没有响应报文。
文章评论(0条评论)
登录后参与讨论