TF卡扩展接口命令.docx
- 文档编号:18043753
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:16
- 大小:20.43KB
TF卡扩展接口命令.docx
《TF卡扩展接口命令.docx》由会员分享,可在线阅读,更多相关《TF卡扩展接口命令.docx(16页珍藏版)》请在冰点文库上搜索。
TF卡扩展接口命令
TF卡扩展接口命令
1extend_authentication_1(扩展认证1)
1.1定义与范围
extend_authentication_1命令是将母密钥对机器指纹进行加密运算的结果作为认证密钥的认证方式。
认证成功后通过对当前后续状态的判断开放存储区相应的权限。
1.2注意事项
1.母密钥为扩展的密钥类型,定为0xAA,在个人化时写入。
1.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
F0
-
P1
1
XX
母密钥版本
P2
1
XX
母密钥标识
Lc
1
0x18
Data
0x18
XX…XX
机器指纹+认证数据
Le
-
-
不存在
1.4命令报文数据域
命令报文数据的内容是16字节机器指纹+8字节认证数据。
1.5响应报文数据域
响应报文数据的内容是相关认证数据,即运算的结果。
1.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
61
XX
正确执行
XX表示响应数据长度,可用GetResponse命令取回响应数据(仅用于T=0)
67
00
长度错误
94
03
未找到密钥
62
81
回送的数据可能有错
1.7扩展认证1过程
说明:
1.终端从卡片取随机数RND;
2.终端用相应的密钥对RND进行DES加密运算,产生鉴别数据D1;
3.终端向卡片发出该命令,送入D1到卡片内;
00F000Kid18机器指纹+D1
4.卡片收到机器指纹后,用卡内的母密钥对机器指纹进行DES加密运算(ECB模式),其运算结果为K1;
4.用K1对RND进行DES加密得到D2;
5.在卡片比较RND和D2;
◆若一致则表示认证通过,置安全状态为该密钥规定的后续状态值,错误计数器恢复成初始值;然后判断当前后续状态具备的对存储区操作的权限。
◆若不一致则认证失败,可再试错误数减一,且不改变安全状态值。
2extend_authentication_2(扩展认证2)
2.1定义与范围
extend_authentication_2命令是将母密钥作为认证密钥的认证方式。
认证成功后直接返回0x9000,不改变当前后续状态,也不作存储区操作权限的判断。
2.2注意事项
母密钥为扩展密钥,密钥类型定义为0xAA,在个人化时写入。
2.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
F1
-
P1
1
XX
母密钥版本
P2
1
XX
母密钥标识
Lc
1
0x08
Data
0x08
XX…XX
认证数据
Le
-
-
不存在
2.4命令报文数据域
命令报文数据为加密后的随机数。
2.5响应报文数据域
响应报文数据不存在。
2.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
63
Cx
还剩x次错误机会
67
00
长度错误
69
84
引用数据无效
94
03
未找到密钥
69
83
外部认证密钥锁定
2.7扩展认证2过程
说明:
1.终端从卡片取随机数RND;
2.终端用相应的密钥对RND进行DES加密运算,产生鉴别数据D1;
3.终端向卡片发出外部认证命令,送入D1到卡片内;
00F000Kid08D1
4.卡片收到机器指纹后,用卡内的母密钥对对RND进行DES加密得到D2;
5.在卡片比较RND和D2;
◆若一致则表示认证通过,直接返回0x9000,不改变当前后续状态。
◆若不一致则认证失败,可再试错误数减一,且不改变安全状态值。
3binding_machine_finger(绑定机器指纹命令)
3.1定义与范围
binding_machine_finger命令是将机器指纹与TF卡当前存储的机器指纹进行比较,若不同则替换,并且重新产生存储区的加解密密钥。
3.2注意事项
1.执行该命令时,需对当前安全状态进行判断,当前安全状态由认证获得。
2.若机器指纹被替换,则重新产生存储区的加解密密钥,使得读取存储取数据为乱数据,则提示设备需格式化。
3.替换密钥后改变后续状态,并且用当前后续状态进行判断是否开放存储区相应的权限。
3.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
F2
-
P1
1
00
-
P2
1
00
-
Lc
1
0x10
Data
0x10
XX…XX
机器指纹
Le
-
-
不存在
3.4命令报文数据域
命令报文数据的内容是16字节机器指纹。
3.5响应报文数据域
无响应报文数据域。
3.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
67
00
长度错误
94
03
未找到密钥
62
81
回送的数据可能有错
3.7绑定机器指纹命令过程
说明:
1.终端传入机器指纹给TF卡设备;
2.在设备内部比较设备之前绑定的机器指纹是否与当前传入的一致;
◆若一致则表示认证通过,置后续状态值,错误计数器恢复成初始值;然后判断当前后续状态具备的对存储区操作的权限。
◆若不一致则认证失败,则用当前机器指纹替换设备之前绑定的机器指纹,且置安全状态值。
并用当前安全状态值进行判断是否开放存储区相应权限。
4Card_Forbid(禁止卡片使用)
4.1定义与范围
Card_Forbid命令用于禁止TF卡使用。
4.2注意事项
1.执行该命令后,执行除内部命令外的其他命令都将返回0x6F00,表示该命令被禁止使用。
2.拔插TF卡后,该状态被清除,TF卡可正常使用。
3.认证成功后才能正确执行该命令。
4.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
F3
-
P1
1
00
-外部认证密钥版本
P2
1
XX
外部认证密钥标识
Lc
1
0x08
认证数据长度
Data
0x08
XX…XX
认证数据
Le
-
-
不存在
4.4命令报文数据域
命令报文数据的内容是8字节认证数据。
4.5响应报文数据域
无响应报文数据域。
4.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
67
00
长度错误
94
03
未找到密钥
62
81
回送的数据可能有错
63
Cx
认证错误
4.7绑定机器指纹命令过程
说明:
1.终端从卡片取随机数RND;
2.终端用外部认证密钥对RND进行加密得到D1;
3.将终端计算的D1发送给设备。
4.在设备内部用外部认证密钥对RND进行加密得到D2。
5.比较D1是否等于D2。
◆若一致则表示认证成功,不改变当前后续状态。
在执行除内部命令外的其他命令将被禁止,直接返回0x6F00。
◆若不一致则表示认证失败,可再试错误数减一,且不改变安全状态值。
5Get_State(获取当前状态)
5.1定义与范围
Get_State命令用于获取当前状态。
5.2注意事项
5.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
F4
-
P1
1
00
-
P2
1
00
-
Lc
1
0x01
Data
-
-
-
Le
-
-
-
5.4命令报文数据域
无命令报文数据。
5.5响应报文数据域
响应报文数据为一个字节的当前状态。
5.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
6A
86
长度错误
67
00
未找到密钥
6InternalAuthentication(内部认证)
6.1定义与范围
InternalAuthentication命令提供了利用接口设备发出的随机数和自身存储的相关密钥进行数据认证的功能。
6.2注意事项
1.在满足该密钥的使用条件时才能执行此命令。
2.内部认证与外部认证命令执行流程和以前完全一样,只是添加了通过参数来传递密钥版本属性。
6.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
88
-
P1
1
XX
见说明
P2
1
XX
内部认证密钥标识
Lc
1
08/10
认证数据长度
Data
08/10
XX…XX
认证数据
Le
-
-
不存在
说明:
P1参数最高位表示运算方式:
加密或者解密,低7位表示密钥版本。
具体
如下表描述:
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
0/1
XXXXXXX
注:
1.Bit7为0时,表示加密;Bit7为1时,表示解密
2.Bit0~Bit6表示密钥版本
6.4命令报文数据域
命令报文数据的内容是应用专用的认证数据。
6.5响应报文数据域
响应报文数据的内容是相关认证数据,即运算的结果。
6.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
61
XX
正确执行
XX表示响应数据长度,可用GetResponse命令取回响应数据(仅用于T=0)
67
00
长度错误
94
03
未找到密钥
62
81
回送的数据可能有错
6.7内部认证过程
说明:
1.终端自己产生或从PSAM卡申请1个8字节随机数RND;
2.终端向卡片发送内部认证命令,送入RND到卡片内:
008800KID08RND
3.卡片收到RND后,用卡内的相应密钥对随机数RND进行DES加密运算,产生8字节鉴别数据D1;
4.卡片送鉴别数据D1到卡外;
5.终端接收到卡片送出的鉴别数据D1后,用相应密钥对随机数RND进行DES加密运算,产生8字节鉴别数据D2;
5.终端比较D1和D2,若一致则认证通过,不一致认证失败。
内部认证是机具对卡片的认证,认证过程如下图所示:
终端
方向
卡片
产生随机数RND
送RND作内部认证
——>
〈——
卡片用指定的DES(或其他对称密钥)密钥对随机数RND进行加密运算,产D1。
即:
D1=DES(KID,RND)
送D1
用与卡片DES加密密钥相同的密钥Cardkey对RND进行DES加密运算,产生鉴别数据D2。
即:
(1)D2=DES(Cardkey,RND)
(2)D1?
=D2
7ExternalAuthentication(外部认证)
7.1定义与范围
ExternalAuthentication命令要求IC卡中的应用验证密码。
7.2注意事项
在满足该外部认证密钥的使用权限且该密钥未被锁死才可执行该命令。
7.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
00
-
INS
1
82
-
P1
1
XX
外部认证密钥版本
P2
1
XX
外部认证密钥标识
Lc
1
08/10
-
Data
08/10
XX…XX
加密后随机数
Le
-
-
不存在
7.4命令报文数据域
命令报文数据为加密后的随机数。
7.5响应报文数据域
响应报文数据不存在。
7.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
63
Cx
还剩x次错误机会
67
00
长度错误
69
84
引用数据无效
94
03
未找到密钥
69
83
外部认证密钥锁定
7.7外部认证过程
说明:
1.终端从卡片区随机数RND;
2.终端用相应的密钥对RND进行DES(或其他对称算法)加密运算,产生鉴别数据D1;
3.终端向卡片发出外部认证命令,送入D1到卡片内;
008200Kid08D1
4.卡片收到D1后,用卡内的相应的密钥对D1进行DES解密运算,产生8字节鉴别数据D2;
5.卡片比较RND和D2;
◆若一致则表示认证通过,置安全状态为该密钥规定的后续状态值,错误计数器恢复成初始值;
◆若不一致则认证失败,可再试错误数减一,且不改变安全状态值。
外部认证是卡片对机具的认证,认证流程如下图所示:
终端
方向
卡片
取8字节随机数
——>
〈——
卡片内部产生随机数RND
送随机数RND
用与卡片认证密钥相同的密钥Cardkey对RND进行加密运算,产生鉴别数据D1。
即:
D1=DES(Cardkey,RND);
送鉴别数据D1作外部认证。
——>
〈——
卡片用指定的外部认证密钥对D1进行解密运算,产生鉴别数据D2,后比较D2和RND。
即:
(1)D2=DES(-1)(KID,D1)
(2)D2?
=RND
送比较结果(即SW1SW2),若比较正确则置安全状态为该密钥后续状态。
8config_block_or_destroy(配置卡片锁定或者自毁功能)
8.1定义与范围
config_block_or_destroy命令是用于配置卡片认证或者校验PIN达到最大错误次数后是进行锁定卡片,还是销毁卡片。
8.2注意事项
1.销毁卡片,即格式COS存储空间DataFlash和TF存储空间NandFlash。
2.该命令只有在达到管理员权限后,方可执行成功。
8.3命令报文
代码
长度(byte)
值(Hex)
描述
CLA
1
80
-
INS
1
F5
-
P1
1
00
-
P2
1
00
配置为锁定状态
01
配置为销毁状态
Lc
1
00
-
Data
-
-
-
Le
-
-
-
8.4命令报文数据域
无。
8.5响应报文数据域
无。
8.6响应报文状态码
IC卡可能回送是状态如下所示
SW1
SW2
意义
90
00
正确执行
67
00
长度错误
6A
86
P1P2参数错误
69
82
安全状态不满足
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TF 扩展 接口 命令