以下缩略语和符号表示适用于本规范。
表3-1缩略语和符号列表
缩略语
| 中文名
| 英文名
|
‘0’-‘9’ ‘A’-‘F’
| 十六进制数字
| |
AID
| 应用标识符
| Application Identifier
|
An
| 字母数字型
| Alphanumeric
|
Ans
| 特殊字母数字型
| Alphanumeric Special
|
B
| 二进制
| Binary
|
CBC
| 密码块链接
| Cipher Block Chaining
|
CLA
| 命令报文的类别字节
| Class Byte of Command Message
|
Cn
| 压缩数字
| Compressed Numeric
|
COS
| 芯片操作系统
| Card Operating System
|
CPU
| 中央处理器
| Central Processing Unit
|
CVN
| 卡安全码
| Card Verification Number
|
DDF
| 目录定义文件
| Directory Definition File
|
DF
| 专用文件
| Dedicated File
|
EF
| 基本文件
| Elementary File
|
FCI
| 文件控制信息
| File Control Information
|
FID
| 文件标识符
| File Identifier
|
IC
| 集成电路
| Integrated Circuit
|
IEC
| 国际电工委员会
| International Electrotechnical Commission
|
INS
| 命令报文的指令字节
| Instruction Byte of Command Message
|
ISO
| 国际标准化组织
| International Organization for Standardization
|
M
| 必选型
| Mandatory
|
MAC
| 报文鉴别代码
| Message Authentication Code
|
MF
| 主控文件
| Master File
|
O
| 可选型
| Optional
|
PIX
| 专用应用标识符扩展码
| Proprietary Application Identifier Extension
|
SAM
| 安全存取模块
| Secure Access Module
|
PVC
| 聚氯乙烯
| Polyvinyl Chloride
|
RID
| 已注册的应用提供者标识
| Registered Application Provider Identifier
|
RS232
| 串行通信接口
| |
USB
| 通用串行总线
| Universal Serial BUS
|
Xx
| 任意值
| |
4 复位应答
复位应答中历史字节的前8个字节固定为芯片提供机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片制造机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片序列号(4字节)。
5 命令
在卡片读写过程中,卡片总是处于以下状态之一,在一种状态下,只有某些命令能够被执行。卡片具有的状态如下:
(1)空闲状态:此时卡片没有获得读写权限;
(2)安全状态:此时卡片获得了一定的读写授权,可以进行读写操作。
卡片上不同应用之间通过“防火墙”以防止跨过应用进行非法访问,在选择其它应用后,所获得的安全状态消失。卡片通过EXTERNAL AUTHENTICATION命令获得一定的读写授权,当卡片从终端接收到一条命令时,它必须首先检查当前状态是否允许执行该命令。在命令执行成功后,卡片将如表5- 1所示进入另一个状态(或同一个)。
表5-1说明了命令执行成功后的状态变化。第一行表示命令发出时卡片的当前状态,第一列表示发出的命令,整张表给出的是在当前状态下某个命令执行成功后的状态。
阴影部分表示在卡片处于相应状态时发出此命令是无效的。在这种情况下,卡片不执行该命令。
表5-1命令执行成功后的状态变化
命令
| 空闲
| 安全
|
SELECT(选择当前应用)
| 空闲
| 安全
|
SELECT(选择其它应用)
| 空闲
| 空闲
|
EXTERNAL AUTHENTICATION
| 安全
| 安全
|
SELECT(选择文件或记录)
| 空闲
| 安全
|
READ BINARY(一般二进制文件)
| 空闲
| 安全
|
READ RECORD(一般记录文件)
| 空闲
| 安全
|
READ BINARY(限制二进制文件)
| N/A
| 安全
|
READ RECORD(限制记录文件)
| N/A
| 安全
|
ERASE RECORD
| N/A
| 安全
|
WRITE RECORD
| N/A
| 安全
|
5.1 命令APDU格式
命令APDU的格式如表5-2所示
表5-2命令APDU的结构
CLA
| INS
| P1
| P2
| Lc
| Data
| Le
|
¬-------必备头-------®
| ¬----条件体----®
|
命令APDU中发送的数据字节数用Lc(命令数据域的长度)表示。
响应APDU中期望返回的数据字节数用Le(期望数据长度)表示。当Le存在且值为0时,表示需要最大字节数(256字节)。
命令APDU报文的内容见表5-3:
表5-3命令APDU的内容
代码
| 描 述
| 长度
|
CLA
| 命令类别
| 1
|
INS
| 指令代码
| 1
|
P1
| 指令参数1
| 1
|
P2
| 指令参数2
| 1
|
Lc
| 命令数据域中存在的字节数
| 0或1
|
Data
| 命令发送的数据字节串(=Lc)
| 变长
|
Le
| 响应数据域中期望的最大数据字节数
| 0或1
|
5.2 响应APDU格式
响应APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见表5-4:
表5-4 响应APDU的结构
Data
| SW1
| SW2
|
¬--条件体--®
| ¬--尾--®
|
响应APDU的内容见表5- 5:
表5- 5 响应APDU的内容
代码
| 描 述
| 长度
|
Data
| 响应中接收的数据字节串(=Le)
| 变长
|
SW1
| 命令处理状态
| 1
|
SW2
| 命令处理限定
| 1
|
5.3 基本命令
5.3.1 APPLICATION BLOCK命令
5.3.1.1 定义和范围
APPLICATION BLOCK命令使当前选择的应用失效。
当APPLICATION BLOCK命令成功地完成后,用SELECT命令选择已临时锁定的应用时,将回送状态码 ‘6283’(选择文件无效),同时返回FCI。
对其他命令的影响根据不同应用而定。
5.3.1.2 命令报文
APPLICATION BLOCK命令报文编码见表5-6
表5-6 APPLICATION BLOCK命令报文
代码
| 值
|
CLA
| ‘84’
|
INS
| ‘1E’
|
P1
| ‘00’,其他值保留为将来使用
|
P2
| ‘00’,临时锁定应用,锁定后可用APPLICATION_UNBLOCK解锁
|
‘01’,永久锁定应用
|
Lc
| ‘04’
|
Data
| 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。
|
Le
| 不存在
|