原创
IC卡安全操作基本命令-添加密码(ADD PIN)
2008-10-20 13:31
5780
5
5
分类:
软件与OS
1、命令功能描述
添加密码命令是向当前文件下的PIN文件中添加一条新的PIN记录。
添加PIN的过程应用必须给出PIN的内容和PIN的相关属性,具体的格式定义可以参考PIN文件记录的数据结构。
2、命令报文格式
命令的APDU内容如下所示:
代码 值
CLA 0x84
INS 0xFC
P1 0x00
P2 0x00
Lc DATA域的长度
Data PIN记录+MAC
Le 不存在
其中:
* DATA域中PIN记录的具体内容和相应的格式定义可以参考PIN文件的记录格式。
* 为了保证PIN记录的完整性,命令需要带安全报文。
3、响应报文数据。
响应报文数据域为空。
4、响应报文状态码
此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:
SW1 SW2 含义
0x65 0x81 存储空间错误
0x67 0x00 Lc错误
0x69 0x81 PIN文件没有找到
0x69 0x82 安全条件不满足
0x69 0x86 命令执行条件不满足
0x69 0x87 MAC丢失
0x69 0x88 MAC错误
0x6A 0x80 数据域参数不正确
0x6A 0x84 文件中存储空间不足
0x6A 0x86 P1、P2不正确
0x6A 0x88 密钥查找失败
0x6D 0x00 INS错误
0x6E 0x00 CLA错误
5、命令实现的其他要求
在PIN文件的文件描述块中通常包含了文件写操作的控制标识符,执行添加个人密码命令以前要求对应安全状态满足条件。
命令MAC用对应DF文件的主控密钥计算。
6、命令实现设计
在修改PIN文件之前需要依次检查MAC、命令格式、PIN记录格式、PIN文件、安全状态和PIN文件空闲空间等等。
7、命令使用示例
(1)预设环境
假设PIN文件支持多个PIN记录。
(2)命令报文
添加PIN记录的APDU:
84 FC 00 00 0E 01 0F 08 04 33 12 34 FF FF FF 11 22 33 44
其中:
* 84 表示ADD PIN命令的CLA。
* FC 表示ADD PIN命令的INS。
* 00 表示ADD PIN命令的P1。
* 00 表示ADD PIN命令的P2。
* 0E 表示ADD PIN命令的Lc,即PIN记录的长度。
* 01 表示ADD PIN命令的ID。
* 0F 表示PIN命令的使用安全条件。
* 08 表示PIN验证成功之后的安全状态。
* 04 表示PIN的最短长度4位。
* 33 表示PIN的计数器,第一个3表示允许尝试的最大次数,第二个3表示剩余的尝试次数。
* 1234 表示PIN的值。
* FFFFFF表示PIN值填充的内容。
* 11223344表示ADD PIN命令的MAC。
(3)ADD PIN响应报文
卡片处理以后,ADD PIN没有响应报文。
文章评论(0条评论)
登录后参与讨论