原创
卡片锁定命令(CARD BLOCK)
2008-10-20 13:37
3511
6
6
分类:
软件与OS
1、命令功能描述
本命令的成功执行将锁定卡片,使得卡片的所有应用永久失效。
卡片失效后,将不能执行任何命令,对所有后续命令均返回状态码6A81(功能不支持)。
2、命令报文格式
命令的APDU内容如下所示:
代码 值
CLA 0x84
INS 0x16
P1 0x00
P2 0x00
Lc 0x04
Data MAC
Le 不存在
其中:
* 本命令数据域不包含任何数据。
* 在数据域中包含有报文鉴别码MAC,MAC的计算通常用MF的主控密钥或者专用的密钥计算得到。
3、响应报文数据
响应报文数据域不存在。
4、响应报文状态码
此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:
SW1 SW2 含义
0x64 0x00 标志状态位没有改变
0x65 0x81 存储空间错误
0x67 0x00 Lc错误
0x69 0x87 MAC丢失
0x69 0x88 MAC错误
0x6A 0x80 数据域参数不正确
0x6A 0x86 P1、P2不正确
0x6D 0x00 INS错误
0x6E 0x00 CLA错误
5、命令实现的其他要求
卡片的永久锁定操作是不可逆操作,一般用于退卡或者卡片部分损坏更改过程中的卡片报废流程,使得卡片的所有功能全部丢失。
该命令是卡片生命周期中一个很关键的操作命令,命令的安全性受MF下的密钥的保护(通常是MF的主控密钥)。
6、命令实现设计
命令执行前需要验证MAC的有效性。
在卡片锁定的执行过程中,一般的操作是将MF的文件描述块中的状态字改为永久锁定状态,同时自动选择MF,丢失当前所有的数据,后续命令将无法执行。
7、命令使用示例
(1)预设环境
卡片锁定命令没有特殊的环境设置要求。
(2)命令报文
锁定卡片的APDU:
84 16 00 00 04 11 22 33 44
其中:
* 84 表示CARD BLOCK命令的CLA。
* 16 表示CARD BLOCK命令的INS。
* 00 表示CARD BLOCK命令的P1。
* 00 表示CARD BLOCK命令的P2。
* 04 表示CARD BLOCK命令的Lc,即数据域的长度。
* 11223344 表示CARD BLOCK命令的MAC。
(3)CARD BLOCK 响应报文
卡片处理以后,CARD BLOCK 没有响应报文。
文章评论(0条评论)
登录后参与讨论