PSAM卡操作命令详解

上传人:飞*** 文档编号:35886741 上传时间:2018-03-22 格式:DOCX 页数:40 大小:68.65KB
返回 下载 相关 举报
PSAM卡操作命令详解_第1页
第1页 / 共40页
PSAM卡操作命令详解_第2页
第2页 / 共40页
PSAM卡操作命令详解_第3页
第3页 / 共40页
PSAM卡操作命令详解_第4页
第4页 / 共40页
PSAM卡操作命令详解_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《PSAM卡操作命令详解》由会员分享,可在线阅读,更多相关《PSAM卡操作命令详解(40页珍藏版)》请在金锄头文库上搜索。

1、一、一、 外部认证外部认证 EXTERNALEXTERNAL AUTHENTICATIONAUTHENTICATION 命令命令1、命令功能描述外部认证命令提供了利用卡片产生随机数,外部利用密钥设备对该数据进行计算完成对终端的数据认证功能,也就是卡片认证终端合法性的过程。外部认证成功以后,将修改对应的安全状态为内部认证结果的安全状态,并且复位卡片内对应密钥的尝试计数器到初值。如果验证失败,将对应密钥的尝试计数器值减一,直至减为 0 将密钥锁定不能再进行外部认证操作为止。由于外部认证过程中需要卡片产生的随机数,所以,在外部认证命令执行前终端必须向卡片发送一条随机数命令。2、命令报文格式命令的 A

2、PDU 内容如下所示:代码代码 值值CLA 0x00INS 0x82P1 0x00P2 0x00Lc 0x10Data 认证数据Le 不存在其中:DATA 域长度为 16Byte,前 8Byte 是外部计算后的认证结果,也就是需要卡片验证的数据,后8Byte 是外部给出的分散向量,用来计算认证过程密钥。3、响应报文数据响应报文数据域不存在。4、响应报文状态码此命令执行成功的状态码为 0x9000。对于异常情况,IC 卡可能回送的错误码如下所示:SW1 SW2 含义含义0x63 0xCX 认证失败,X 表示对应密钥还能够尝试的次数0x65 0x81 存储空间错误0x67 0x00 Lc 错误0x

3、69 0x83 对应密钥锁定0x69 0x84 随机数无效0x69 0x85 不满足密钥使用条件0x6A 0x80 数据域参数不正确0x6A 0x86 P1、P2 不正确0x6A 0x88 密钥查找失败0x6D 0x00 INS 错误0x6E 0x00 CLA 错误 5、命令实现的其他要求外部认证命令是卡片认证终端过程,不同的应用可能会有不同的规定,如果要支持特殊应用的话,需要参与相关的应用需求,明确命令的数据的具体格式和计算方法。6、命令实现设计对认证数据的处理包括了如下几个步骤:* 随机数有效性检查。在数据处理前需要检查卡内是否事先存在 4Byte 有效的随机数。如果随机数有效的话,在随机

4、数后补 4Byte 的 0x00。* 密码的查找。外部认证需要专门的密钥,是对称密钥,通常是 3DES 密钥,在当前文件的对称密钥文件中查找,查找条件包括密钥用途、密钥版本和密钥索引等,可以使用单一条件,也可以使用组合条件。密钥找到以后需要检查相应的使用条件是否满足,密钥是否有效等等。* 过程密钥生成。利用找到的认证密钥对命令数据域中后 8Byte 分散向量做 3DES 加密计算,结果为8Byte,即为此次外部认证的过程密钥。* 卡内认证结果计算。将得到的过程密钥对补充 0x00 以后的随机数做 DES 加密计算,得到 8Byte 的卡片计算结果。* 将卡内计算结果和命令数据域前 8Byte

5、的终端认证数据做比较,如果一致的话表示认证成功,将对应密钥的尝试计数器复位,同时修改对应的安全状态;如果数据不一致的话,表示认证失败,将对应密钥的尝试计数器减一,对应的安全状态不变。* 最后返回相应的结果。7、命令使用示例(1)预设环境假设已经在卡片取得 4Byte 随机数。(2)命令报文进行外部认证的 APDU:00 82 00 00 10 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10其中:* 00 表示 EXTERNAL AUTHENTICATION 命令的 CLA。* 82 表示 EXTERNAL AUTHENTICATION 命令的 I

6、NS。* 00 表示 EXTERNAL AUTHENTICATION 命令的 P1。* 00 表示 EXTERNAL AUTHENTICATION 命令的 P2。* 10 表示 EXTERNAL AUTHENTICATION 命令的 Lc,待验证数据和分散数据。* 0102030405060708 表示 EXTERNAL AUTHENTICATION 命令的 DATA 前半部分,是终端计算得到的 8Byte 待验证数据。* 090A0B0C0D0E0F10 表示 EXTERNAL AUTHENTICATION 命令的 DATA 后半部分,是终端产生的过程密钥分散数据。(3)EXTERNAL A

7、UTHENTICATION 响应报文卡片处理以后,EXTERNAL AUTHENTICATION 没有响应报文。二、验证密码二、验证密码 VERIFYVERIFY 命令命令1、命令功能描述验证密码命令用以校验个人密码,是卡片安全控制的一个重要手段。如果卡片支持多个 PIN 记录的话,需要支持选择 PIN 的校验。PIN 的校验结果会影响对应的卡片安全状态。如果 PIN 校验成功以后,将对应的安全状态修改为 PIN记录中指定的值,同时 PIN 的尝试计数器复位;如果 PIN 校验失败以后,对应的安全状态不改变,PIN的尝试计数器减一,制止减为 0 将 PIN 锁定再也不能进行该 PIN 的校验为

8、止。2、命令报文格式。命令的 APDU 内容如下所示:代码代码 值值CLA 0x00INS 0x20P1 0x00P2 PIN IDLc DATA 域的长度Data PIN 的内容Le 不存在 其中:* P1 指定要验证的 ID 号,如果 P1 为 0x00 表示对 PIN 文件的第一条记录进行校验,否则根据 P1 指定的 PIN ID 进行查找。* DATA 域包含的是要校验的 PIN 的内容,和 PIN 文件的格式一样,用 BCD 编码方式,不足字节用0xFF 补齐。3、响应报文数据响应报文数据域不存在。4、响应报文状态码此命令执行成功的状态码为 0x9000。对于异常情况,IC 卡可能回

9、送的错误码如下所示:SW1 SW2 含义含义0x63 0xCX 旧密码校验失败,X 表示剩余的尝试次数0x65 0x81 存储区错误0x67 0x00 Lc 错误0x69 0x81 PIN 文件没有找到0x69 0x82 安全条件不满足0x69 0x83 PIN 记录被锁定0x69 0x85 命令执行条件不满足0x6A 0x80 数据域参数不正确0x6A 0x86 P1、P2 不正确0x6D 0x00 INS 错误0x6E 0x00 CLA 错误 5、命令实现的其他要求命令实现无特殊要求。6、命令实现设计在实现过程中需要注意 PIN 记录状态和卡片安全状态的检查与相应的维护。7、命令使用示例(

10、1)预设环境假设 PIN 文件支持多个 PIN 记录,验证 PIN 示例对应的为添加命令示例中添加的 PIN。(2)命令报文验证 PIN 记录的 APDU:00 20 00 01 02 12 34其中:* 00 表示 VERIFY 命令的 CLA。* 20 表示 VERIFY 命令的 INS。* 00 表示 VERIFY 命令的 P1。* 01 表示 VERIFY 命令的 P2,即要验证的 PIN 的 ID。* 02 表示 VERIFY 命令的 Lc,即数据域的长度。* 1234 表示要验证的 PIN 值。(3)VERIFY 响应报文卡片处理以后,VERIFY 没有响应报文。三、修改密码三、修

11、改密码CHANGE PIN 命令命令1、命令功能描述修改密码命令将 PIN 文件中指定的一条 PIN 内容替换为新的 PIN 内容。修改 PIN 之前要求验证旧的 PIN,而且只能够修改 PIN 的内容,不包括 PIN 的属性。由于 PIN 记录空间的限制,新的 PIN 长度有一定的限制。新 PIN 添加成功以后,需要将原 PIN 的尝试计数器复位。2、命令报文格式命令的 APDU 内容如下所示:代码代码 值值CLA 0x80INS 0x5EP1 0x01P2 PIN IDLc DATA 域的长度Data 旧 PIN |0xFF| 新 PINLe 不存在 其中:* P1 指定要修改的 ID 号

12、,如果 P1 为 0x00 表示对 PIN 文件的第一条记录进行修改,否则根据 P1 指定的 PIN ID 进行查找。* DATA 域包含的新旧 PIN 为 PIN 的内容,和 PIN 文件的格式一样,用 BCD 编码方式,不足字节用0xFF 补齐。3、响应报文数据响应报文数据域不存在。4、响应报文状态码此命令执行成功的状态码为 0x9000。对于异常情况,IC 卡可能回送的错误码如下所示:SW1 SW2 含义含义0x63 0xCX 旧密码校验失败,X 表示剩余的尝试次数0x65 0x81 存储区错误0x67 0x00 Lc 错误0x69 0x81 PIN 文件没有找到0x69 0x82 安全

13、条件不满足0x69 0x83 PIN 记录被锁定0x69 0x85 命令执行条件不满足0x6A 0x80 数据域参数不正确0x6A 0x86 P1、P2 不正确0x6D 0x00 INS 错误0x6E 0x00 CLA 错误 5、命令实现的其他要求修改密码命令在不同的应用中可能有不同的定义,这里给出的是一个通用的实现过程,具体的实现还可以参考相关的应用规范。6、命令实现设计修改密码操作的条件检查包括:命令格式的检查、PIN 文件的查找、PIN 记录的查找、PIN 记录的使用条件检查、旧 PIN 的校验等。新 PIN 写入过程中要特别注意的是,如果新 PIN 内容比旧 PIN 短的话,需要写入多

14、个 0xFF,以覆盖旧PIN 多余的内容。7、命令使用示例(1)预设环境假设 PIN 文件支持多个 PIN 记录,修改 PIN 示例对应的为添加命令示例中添加的 PIN。(2)命令报文修改 PIN 记录的 APDU:80 5E 01 01 05 12 34 FF 56 78其中:* 80 表示 CHANGE PIN 命令的 CLA。* 5E 表示 CHANGE PIN 命令的 INS。* 01 表示 CHANGE PIN 命令的 P1。* 01 表示 CHANGE PIN 命令的 P2,即要修改的 PIN 的 ID。* 05 表示 CHANGE PIN 命令的 Lc,即数据域的长度。* 1234 表示要修改的 PIN 的旧值。* FF

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号