原创 卡片锁定命令(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条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条