原创 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条评论)

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