原创 应用锁定命令(APPLICATION BLOCK)

2008-10-20 13:36 4984 2 2 分类: 软件与OS
1、命令功能描述

    该命令的成功执行将使得当前选择的应用失效。

    当应用成功执行本命令以后,再次用SELECT命令选择时,将回送状态码0x6283。

    对于其他的命令根据不同命令的情况决定是否能够执行。

    对应用的锁定操作可以分为临时锁定和永久锁定两种,被临时锁定的命令可以用APPLICATION UNBLOCK命令解除锁定,如果是永久锁定的话,是一个不可逆操作,应用将无法恢复原来的状态,处于待删除状态。


  2、命令报文格式

    命令的APDU内容如下所示:

      代码              值
       CLA                 0x84
       INS                 0x1E
       P1                  0x00
       P2                  锁定类型
       Lc                  04
       Data                MAC
       Le                  不存在

    其中:

    * P2是锁定操作的类型指示符,如果P2为0x00的话表示临时锁定应用,应用还可以用对应的APPLICATION UNBLOCK命令解锁;如果P2是0x01的话,表示是永久锁定应用,将无法恢复。

    * 本命令数据域不包含任何数据。

    * 在数据域中包含有报文鉴别码MAC,MAC的计算通常用应用DF的主控密钥或者专用的密钥计算得到。

  3、响应报文数据

    响应报文数据域不存在。

  4、响应报文状态码

    此命令执行成功的状态码为0x9000。

    对于异常情况,IC卡可能回送的错误码如下所示:

       SW1     SW2      含义
       0x64     0x00        标志状态位没有改变
       0x65     0x81        存储空间错误
       0x67     0x00        Lc错误
       0x69     0x87        MAC丢失
       0x69     0x88        MAC错误
       0x6A     0x86        P1、P2不正确
       0x6D     0x00        INS错误
       0x6E     0x00        CLA错误

  5、命令实现的其他要求

    对应用的锁定操作是由终端发起的一个显式的操作过程,一般是在卡片与终端的交易过程中,卡片的响应连续多次异常或者持卡人可能身份不符等,为了防止可能出现的卡片的意外损失,终端可以临时锁定应用,使得应用暂时失效,持卡人必须持有效证件等到指定的网点进行应用解锁定操作,以确保应用的安全性。

    应用的永久锁定一般发生在应用销毁前,持卡人注销该应用,应用进入等待删除阶段。对于有些不支持应用删除的卡片,应用的永久锁定也是卡片上应用逻辑删除的替代操作。

  6、命令实现设计

    对应用的锁定操作只要在MAC校验成功之后就可以执行,通常在DF的文件描述块中将状态字置为临时锁定或者永久锁定。

    同时,需要修改当前应用的状态标志,后续的所有命令将根据命令情况决定是否能够执行。

  7、命令使用示例

   (1)预设环境

    假设已经选定要锁定的应用为当前应用。

   (2)命令报文

    临时锁定当前应用的APDU:

    84 1E 00 00 04 11 22 33 44

    其中:

    * 84 表示APPLICATION BLOCK命令的CLA。
    * 1E 表示APPLICATION BLOCK命令的INS。
    * 00 表示APPLICATION BLOCK命令的P1。
    * 00 表示APPLICATION BLOCK命令的P2,即临时锁定应用。
    * 04 表示APPLICATION BLOCK命令的Lc,即数据域的长度。
    * 11223344 表示APPLICATION BLOCK命令的MAC。

    永久锁定当前应用的APDU:

    84 1E 00 01 04 11 22 33 44

    其中:

    * 84 表示APPLICATION BLOCK命令的CLA。
    * 1E 表示APPLICATION BLOCK命令的INS。
    * 00 表示APPLICATION BLOCK命令的P1。
    * 01 表示APPLICATION BLOCK命令的P2,即永久锁定应用。
    * 04 表示APPLICATION BLOCK命令的Lc,即数据域的长度。
    * 11223344 表示APPLICATION BLOCK命令的MAC。

   (3)APPLICATION BLOCK 响应报文

    卡片处理以后,APPLICATION BLOCK 没有响应报文。


文章评论0条评论)

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