居民健康卡用户卡命令集.docx

上传人:b****4 文档编号:5200561 上传时间:2022-12-13 格式:DOCX 页数:34 大小:27.40KB
下载 相关 举报
居民健康卡用户卡命令集.docx_第1页
第1页 / 共34页
居民健康卡用户卡命令集.docx_第2页
第2页 / 共34页
居民健康卡用户卡命令集.docx_第3页
第3页 / 共34页
居民健康卡用户卡命令集.docx_第4页
第4页 / 共34页
居民健康卡用户卡命令集.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

居民健康卡用户卡命令集.docx

《居民健康卡用户卡命令集.docx》由会员分享,可在线阅读,更多相关《居民健康卡用户卡命令集.docx(34页珍藏版)》请在冰豆网上搜索。

居民健康卡用户卡命令集.docx

居民健康卡用户卡命令集

 

居民健康卡用户卡命令集

V1.0

 

中华人民共和国卫生部

2011年11月

 

1适用范围1

2规范性引用文件2

3定义和缩略语3

3.1定义3

3.2缩略语4

4复位应答7

5命令8

5.1命令APDU格式9

5.2响应APDU格式9

5.3基本命令10

5.4应用命令26

1适用范围

本规范规定了居民健康卡用户卡应支持的功能、复位应答的格式以及卡片的命令与响应列表。

本规范适用于所有制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、持卡人和生产企业。

2规范性引用文件

下列文件中的条款通过本部分的引用而成为本部分的条款。

凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究可使用这些文件的最新版本。

凡是不注日期的引用文件,其最新版本适用于本部分。

GB/T16649.4—2010识别卡带触点的集成电路卡第4部分

GB/T16649.5—2002识别卡带触点的集成电路卡第5部分

ISO/IEC14443识别卡非接触式集成电路卡接近式卡

JR/T0025—2010中国金融集成电路(IC)卡规范

卫生部《居民健康卡技术规范》(卫办发〔2011〕60号)

3定义和缩略语

3.3定义

3.3.2居民健康卡(ResidentsHealthCard)

居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。

3.3.3CPU卡(CentralProcessingUnitCard)

带有中央处理器(CPU)、存储单元以及卡片操作系统的集成电路卡。

3.3.4芯片(Chip)

本规范中特指居民健康卡中用于完成数据处理和存储功能的集成电路器件。

3.3.5芯片操作系统(COS,CardOperatingSystem)

CPU卡芯片中存储和可运行的,以保护应用数据和程序的机密性和完整性,控制CPU卡芯片与外界信息交换为目的的嵌入式软件。

3.3.6加密算法(CryptographicAlgorithm)

为了隐藏或显现数据信息内容的变换算法。

3.3.7对称加密算法(SymmetricCryptographicAlgorithm)

加密密钥可以从解密密钥中推算出来,反过来也成立,在大多数算法中加/解密密钥是相同的。

3.3.8非对称加密算法(AsymmetricCryptographicAlgorithm)

加密算法的加密密钥和解密密钥是不一样的,不能由一个密钥推导出另一个密钥。

3.3.9密钥(Key)

加密转换中控制操作的符号序列。

3.3.10对称密钥(SymmetricKey)

在对称加密算法中使用的密钥。

3.3.11非对称密钥(AsymmetricKey)

在非对称加密算法中使用的密钥,包括公钥和私钥。

3.3.12公钥(PublicKey)

在一个实体使用的非对称密钥对中可以被公众使用的密钥。

在数字签名方案中,公钥用于验证。

3.3.13私钥(PrivateKey)

在一个实体使用的非对称密钥对中仅被该实体使用的密钥。

在数字签名方案中,私钥用于签名。

3.3.14数字签名(DigitalSignature)

对数据的一种非对称加密变换。

该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。

3.3.15生物标识(Biomarker)

人的某种特异性的生物学特征,具有遗传性和终身携带性,如血型。

3.3.16医学警示(MedicalAlert)

患者在就医、急诊或抢救时需要特别提醒医生注意的信息,包括疾病史、体内装置、药物过敏史、对某些物质的不耐受史等。

3.4缩略语

以下缩略语和符号表示适用于本规范。

表3-1缩略语和符号列表

缩略语

中文名

英文名

‘0’-‘9’‘A’-‘F’

十六进制数字

AID

应用标识符

ApplicationIdentifier

An

字母数字型

Alphanumeric

Ans

特殊字母数字型

AlphanumericSpecial

B

二进制

Binary

CBC

密码块链接

CipherBlockChaining

CLA

命令报文的类别字节

ClassByteofCommandMessage

Cn

压缩数字

CompressedNumeric

COS

芯片操作系统

CardOperatingSystem

CPU

中央处理器

CentralProcessingUnit

CVN

卡安全码

CardVerificationNumber

DDF

目录定义文件

DirectoryDefinitionFile

DF

专用文件

DedicatedFile

EF

基本文件

ElementaryFile

FCI

文件控制信息

FileControlInformation

FID

文件标识符

FileIdentifier

IC

集成电路

IntegratedCircuit

IEC

国际电工委员会

InternationalElectrotechnicalCommission

INS

命令报文的指令字节

InstructionByteofCommandMessage

ISO

国际标准化组织

InternationalOrganizationforStandardization

M

必选型

Mandatory

MAC

报文鉴别代码

MessageAuthenticationCode

MF

主控文件

MasterFile

O

可选型

Optional

PIX

专用应用标识符扩展码

ProprietaryApplicationIdentifierExtension

SAM

安全存取模块

SecureAccessModule

PVC

聚氯乙烯

PolyvinylChloride

RID

已注册的应用提供者标识

RegisteredApplicationProviderIdentifier

RS232

串行通信接口

USB

通用串行总线

UniversalSerialBUS

Xx

任意值

4复位应答

复位应答中历史字节的前8个字节固定为芯片提供机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片制造机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片序列号(4字节)。

5命令

在卡片读写过程中,卡片总是处于以下状态之一,在一种状态下,只有某些命令能够被执行。

卡片具有的状态如下:

(1)空闲状态:

此时卡片没有获得读写权限;

(2)安全状态:

此时卡片获得了一定的读写授权,可以进行读写操作。

卡片上不同应用之间通过“防火墙”以防止跨过应用进行非法访问,在选择其它应用后,所获得的安全状态消失。

卡片通过EXTERNALAUTHENTICATION命令获得一定的读写授权,当卡片从终端接收到一条命令时,它必须首先检查当前状态是否允许执行该命令。

在命令执行成功后,卡片将如表5-1所示进入另一个状态(或同一个)。

表5-1说明了命令执行成功后的状态变化。

第一行表示命令发出时卡片的当前状态,第一列表示发出的命令,整张表给出的是在当前状态下某个命令执行成功后的状态。

阴影部分表示在卡片处于相应状态时发出此命令是无效的。

在这种情况下,卡片不执行该命令。

表5-1命令执行成功后的状态变化

命令

空闲

安全

SELECT(选择当前应用)

空闲

安全

SELECT(选择其它应用)

空闲

空闲

EXTERNALAUTHENTICATION

安全

安全

SELECT(选择文件或记录)

空闲

安全

READBINARY(一般二进制文件)

空闲

安全

READRECORD(一般记录文件)

空闲

安全

READBINARY(限制二进制文件)

N/A

安全

READRECORD(限制记录文件)

N/A

安全

ERASERECORD

N/A

安全

WRITERECORD

N/A

安全

5.3命令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.4响应APDU格式

响应APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见表5-4:

表5-4响应APDU的结构

Data

SW1

SW2

——条件体——

——尾——

响应APDU的内容见表5-5:

表5-5响应APDU的内容

代码

描  述

长度

Data

响应中接收的数据字节串(=Le)

变长

SW1

命令处理状态

1

SW2

命令处理限定

1

5.5基本命令

5.5.2APPLICATIONBLOCK命令

5.5.2.1定义和范围

APPLICATIONBLOCK命令使当前选择的应用失效。

当APPLICATIONBLOCK命令成功地完成后,用SELECT命令选择已临时锁定的应用时,将回送状态码‘6283’(选择文件无效),同时返回FCI。

对其他命令的影响根据不同应用而定。

5.5.2.2命令报文

APPLICATIONBLOCK命令报文编码见表5-6

表5-6APPLICATIONBLOCK命令报文

代码

CLA

‘84’

INS

‘1E’

P1

‘00’,其他值保留为将来使用

P2

‘00’,临时锁定应用,锁定后可用APPLICATION_UNBLOCK解锁

‘01’,永久锁定应用

Lc

‘04’

Data

报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。

Le

不存在

5.5.2.3命令报文数据域

命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码

(MAC)数据元。

5.5.2.4响应报文数据域

响应报文数据域不存在。

5.5.2.5响应报文状态码

无论应用是否已经失效,此命令执行成功的状态码是‘9000’。

IC卡可能回送的错误状态码如表5-7所示:

表5-7APPLICATIONBLOCK错误状态

SW1

SW2

含  义

‘65’

‘81’

内存失败

‘67’

‘00’

Lc长度错误

‘69’

‘82’

不满足安全状态

‘69’

‘84’

引用数据无效

‘69’

‘85’

使用条件不满足

‘69’

‘87’

安全报文数据项丢失

‘69’

‘88’

安全报文数据项不正确

‘6A’

‘86’

参数P1P2不正确

‘6A’

‘88’

未找到引用数据

5.5.3APPLICATIONUNBLOCK命令

5.5.3.1定义和范围

APPLICATIONUNBLOCK命令可以对临时锁定的应用解锁,当APPLICATIONUNBLOCK命令成功地完成后,用SELECT命令可以正确选择此应用,应用功能同时被恢复。

5.5.3.2命令报文

APPLICATIONUNBLOCK命令报文编码见表5-8:

表5-8APPLICATIONUNBLOCK命令报文

代码

数值

CLA

‘84’

INS

‘18’

P1

‘00’

P2

‘00’

Lc

‘04’

DATA

报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。

Le

不存在

5.5.3.3命令报文数据域

命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。

5.5.3.4响应报文数据域

响应报文数据域不存在。

5.5.3.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的错误状态码如表5-9所示:

表5-9APPLICATIONUNBLOCK错误状态

SW1

SW2

含  义

‘65’

‘81’

内存失败

‘67’

‘00’

Lc长度错误

‘69’

‘82’

不满足安全状态

‘69’

‘84’

引用数据无效

‘69’

‘85’

使用条件不满足

‘69’

‘87’

安全报文数据项丢失

‘69’

‘88’

安全报文数据项不正确

‘6A’

‘86’

参数P1P2不正确

‘6A’

‘88’

未找到引用数据

5.5.4CARDBLOCK命令

5.5.4.1定义和范围

CARDBLOCK命令使卡中所有应用永久失效。

当CARDBLOCK命令成功地完成后,所有后续的命令都将回送状态码“不支持此功能”(SW1SW2=‘6A81’),且不执行任何其他操作。

5.5.4.2命令报文

CARDBLOCK命令报文编码见表5-10:

表5-10CARDBLOCK命令报文

代码

CLA

‘84’

INS

‘16’

P1

‘00’,其他值保留为将来使用

P2

‘00’,其他值保留为将来使用

Lc

‘04’

Data

报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码

Le

不存在

5.5.4.3命令报文数据域

命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别代码(MAC)数据元。

5.5.4.4响应报文数据域

响应报文数据域不存在。

5.5.4.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的错误状态码如表5-11所示:

表5-11CARDBLOCK错误状态

SW1

SW2

含  义

‘65’

‘81’

内存失败

‘67’

‘00’

Lc长度错误

‘69’

‘82’

不满足安全状态

‘69’

‘84’

引用数据无效

‘69’

‘85’

使用条件不满足

‘69’

‘87’

安全报文数据项丢失

‘69’

‘88’

安全报文数据项不正确

‘6A’

‘86’

参数P1或/和P2错误

‘6A’

‘88’

未找到引用数据

5.5.5EXTERNALAUTHENTICATION命令

5.5.5.1定义和范围

EXTERNALAUTHENTICATION命令要求IC卡中的应用验证接口设备中保密模块的有效性,以使接口设备获得某种授权。

IC卡的响应包括命令处理状态的回送。

5.5.5.2命令报文

EXTERNALAUTHENTICATION命令报文编码见表5-12:

表5-12EXTERNALAUTHENTICATION命令报文

代码

CLA

‘00’

INS

‘82’

P1

‘00’

P2

密钥标识符(见表5-12表5-13)

Lc

‘11’

Data

鉴别用数据

Le

不存在

表5-13定义了命令报文中的密钥标识符:

表5-13密钥标识符的结构

b8

b7

b6

b5

b4

b3

b2

b1

含  义

0

0

0

0

0

0

0

0

默认密钥

0

全局参考数据

1

专用参考数据

x

x

x

x

密钥号

EXTERNALAUTHENTICATION命令使用的算法参考值(P1)编码为‘00’表示无信息。

算法参考值在命令发出之前是已知的。

5.5.5.3命令报文数据域

命令报文数据域中包含17个字节的数据:

——第1至第8个字节为鉴别数据;

——第9至第16个字节是鉴别所需的原始信息;

——第17个字节表示密钥版本。

其中,鉴别数据根据《居民健康卡技术规范》第9.7.3章中的规定进行编码。

5.5.5.4响应报文数据域

响应报文数据域不存在。

5.5.5.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的警告状态码如表5-14所示:

表5-14EXTERNALAUTHENTICATION警告状态

SW1

SW2

含  义

‘63’

‘Cx’

鉴别失败,x表示允许继续尝试的次数(‘0’-‘F’)

IC卡可能回送的错误状态码如表5-15所示:

表5-15EXTERNALAUTHENTICATION错误状态

SW1

SW2

含  义

‘67’

‘00’

Lc不正确

‘69’

‘83’

鉴别方法锁定

‘69’

‘84’

引用数据无效

‘69’

‘85’

使用条件不满足

‘6A’

‘86’

参数P1P2不正确

‘6A’

‘88’

密钥未找到

5.5.6GETCHALLENGE命令

5.5.6.1定义和范围

GETCHALLENGE命令请求一个用于安全相关过程(例如:

安全报文、安全鉴别)的随机数。

随机数在使用后失效,不能被下一个命令再次使用。

5.5.6.2命令报文

GETCHALLENGE命令报文编码见表5-16:

表5-16GETCHALLENGE命令报文

代码

CLA

‘00’

INS

‘84’

P1

‘00’

P2

‘00’

Lc

不存在

Data

不存在

Le

‘08’

5.5.6.3命令报文数据域

命令报文数据域不存在。

5.5.6.4响应报文数据域

响应报文数据域包括随机数,长度为8字节。

5.5.6.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的错误状态码如表5-17所示:

表5-17GETCHALLENGE错误状态

SW1

SW2

含  义

‘67’

‘00’

Le长度错

‘6A’

‘81’

不支持此功能

‘6A’

‘86’

参数P1P2不正确

5.5.7INTERNALAUTHENTICATION命令

5.5.7.1定义和范围

INTERNALAUTHENTICATION命令提供了利用接口设备发来的随机数和自身存储的相关密钥进行数据鉴别的功能。

5.5.7.2命令报文

INTERNALAUTHENTICATION命令报文编码见表5-18:

表5-18INTERNALAUTHENTICATION命令报文

代码

CLA

‘00’

INS

‘88’

P1

‘00’

P2

‘00’

Lc

‘11’

Data

鉴别用数据

Le

‘00’

INTERNALAUTHENTICATION命令的参数P1和P2为‘00’表示无信息,它们的值是事先确定的。

5.5.7.3命令报文数据域

命令报文数据域的内容是卡片或应用专用的鉴别数据,包含17个字节的数据:

――第1至第8个字节是过程密钥计算使用的数据,由终端产生;

――第9至第16个字节是鉴别所需的原始信息;

——第17个字节表示密钥版本。

5.5.7.4响应报文数据域

响应报文数据域内容是相关的鉴别数据,其值根据《居民健康卡技术规范》第9.7.3章中的规定进行计算。

5.5.7.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的警告状态码如表5-19所示:

表5-19INTERNALAUTHENTICATION警告状态

SW1

SW2

含  义

‘62’

‘81’

回送的数据可能有错

IC卡可能回送的错误状态码如表5-20所示:

表5-20INTERNALAUTHENTICATION错误状态

SW1

SW2

含  义

‘67’

‘00’

Lc不正确

‘68’

‘82’

不支持安全报文

‘69’

‘85’

不满足使用条件

‘6A’

‘80’

数据域参数不正确

‘6A’

‘86’

参数P1P2不正确

‘6A’

‘88’

密钥未找到

5.5.8READBINARY命令

5.5.8.1定义和范围

READBINARY命令用于读取透明文件的内容(或部分内容)。

5.5.8.2命令报文

READBINARY命令报文编码见表5-21

表5-21READBINARY命令报文

代码

CLA

‘00’

INS

‘B0’

P1

见表5-22

P2

见表5-22

Lc

不存在

Data

不存在

Le

‘00’或要读出的数据的长度

表5-22定义了命令报文中的引用控制参数:

表5-22READBINARY命令引用控制参数

P1

P2

含  义

b8

b7

b6

b5

b4

b3

b2

b1

b8

b7

b6

b5

b4

b3

b2

b1

0

X

X

X

X

X

X

X

Y

Y

Y

Y

Y

Y

Y

Y

P1‘0x100’+P2为要读的首字节距离文件首字节的偏移量。

5.5.8.3命令报文数据域

命令报文数据域不存在。

5.5.8.4响应报文数据域

当Le的值为零时,读出自要读的首字节起的256个字节;如果在读出256个字节前已到达文件最后一个字节,则自要读的首字节起的全部字节将被读出。

5.5.8.5响应报文状态码

此命令执行成功的状态码是‘9000’。

IC卡可能回送的警告状态码如表5-23所示:

表5-23READBINARY警告状态

SW1

SW2

含  义

‘62’

‘81’

部分回送的数据可能有错

IC卡可能回送的错误状态码如表5-24所示:

表5-24READBINARY错误状态

SW1

SW2

含  义

‘69’

‘81’

命令与文件结构不相容

‘69’

‘82’

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1