卫生部办公厅关于印发《居民健康卡生命周期管理办法》、《居民健康卡个人化管理办法》、《居民健康卡密钥管理办法》、《居民健康卡安全存取模块(SAM)卡生命周期管理办法》、《居民健康卡产品检测管理办法》等居民健康卡配套管理办法和技术规范的通知(三)
卫生部办公厅关于印发《居民健康卡生命周期管理办法》、《居民健康卡个人化管理办法》、《居民健康卡密钥管理办法》、《居民健康卡安全存取模块(SAM)卡生命周期管理办法》、《居民健康卡产品检测管理办法》等居民健康卡配套管理办法和技术规范的通知(三)
续(二)
(中华人民共和国卫生部 2011年11月)
1 适用范围
2 规范性引用文件
3 定义和缩略语
3.1 定义
3.2 缩略语
4 文件、数据元、数据对象列表
4.1 文件结构
4.2 应用数据文件(ADF)
4.3 应用基本文件(AEF)
4.4 文件到GB/T 16649.4的文件结构的映射
4.5 文件引用
5 卡操作
5.1 总体操作
5.2 内部认证
5.3 外部认证
5.4 应用锁定
5.5 应用解锁
5.6 卡锁定
5.7 应用维护
6 卡业务应用
6.1 卡识别应用 (对应MF\DDF1数据区)
6.2 身份识别应用(对应DDF1\DF01数据区)
6.3 基础健康信息应用(对应DDF1\DF02数据区)
6.4 管理业务应用(对应DDF1\DF03数据区)
7 数据签名和验证
7.1 数据签名
7.2 数据签名验证 本规范规定了居民健康卡的文件结构、数据元以及数据对象列表,描述了居民健康卡各项操作的流程,明确了在不同应用场景下进行数据交换、信息传输以及数据签名和验证的过程。
本规范适用于所有制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、持卡人和生产企业,以及居民健康卡应用系统的研制、维护等单位和部门。 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。
GB/T 2260-2007 中华人民共和国行政区划代码
GB/T 2261.1-2003 人的性别代码
GB/T 2261.2-2003 婚姻状况代码
GB/T 2312-1980 信息交换用汉字编码字符集--基本集
GB 3304-1991 中国各民族名称的罗马字母拼写法和代码
GB/T 4658-2006 学历代码
GB/T 6565-2009 职业分类与代码
GB 11643-1999 公民身份号码
GB 11714-1997 全国组织机构代码编制规则
GB/T 16649.4-2010 识别卡带触点的集成电路卡第4部分
GB/T 16649.5-2002 识别卡带触点的集成电路卡第5部分
ICD-9-CM 国际疾病分类第九版临床修订
ICD-10 国际疾病与相关健康问题分类代码第十版
ISO/ IEC 14443 识别卡非接触式集成电路卡接近式卡
ISO/IEC 7811/2-2001 识别卡记录技术第2部分
GA 324.1-2001 户口类别代码
WS 363-2011 卫生信息数据元目录
WS 364-2011 卫生信息数据元值域代码
WS 365-2011 城乡居民健康档案基本数据集
JR/T 0025-2010 中国金融集成电路(IC)卡规范
卫生部《居民健康卡技术规范》(卫办发〔2011〕60号)
卫生部《居民健康卡用户卡命令集 V1.0》
卫生部《居民健康卡安全存取模块(SAM)卡技术规范 V1.0》
卫生部《居民健康卡安全存取模块(SAM)卡命令集 V1.0》
1 定义
3.1.1 应用(Application)
IC卡和终端之间的应用协议和相关的数据集。
3.1.2 命令(Command)
终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答。
3.1.3 接口设备(Interface Device)
终端上插入IC卡的部分,包括其中的机械和电气部分。
3.1.4 响应(Response)
IC卡处理完收到的命令报文后,返回给终端的报文。
3.1.5 终端(Terminal)
为完成居民健康卡交易而在交易点安装的设备,用于同IC卡的连接。它包括接口设备,也可包括其它部件和接口,例如与主机通讯的接口。
3.1.6 居民健康卡(Residents Health Card)
居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。
3.1.7 CPU卡(Central Processing Unit Card)
带有中央处理器(CPU)、存储单元以及卡片操作系统的集成电路卡。
3.1.8 卡片操作系统(COS,Card Operating System)
CPU卡芯片中存储和运行的,以保护应用数据和程序的机密性和完整性,控制CPU卡芯片与外界信息交换为目的的嵌入式软件。
3.1.9 加密算法(Cryptographic Algorithm)
为了隐藏或显现数据信息内容的变换算法。
3.1.10 对称加密算法(Symmetric Cryptographic Algorithm)
加密密钥可以从解密密钥中推算出来,反过来也成立,在大多数算法中加/解密密钥是相同的。
3.1.11 非对称加密算法(Asymmetric Cryptographic Algorithm)
加密算法的加密密钥和解密密钥是不一样的,不能由一个密钥推导出另一个密钥。
3.1.12 密钥(Key)
加密转换中控制操作的符号序列。
3.1.13 对称密钥(Symmetric Key)
在对称加密算法中使用的密钥。
3.1.14 非对称密钥(Asymmetric Key)
在非对称加密算法中使用的密钥,包括公钥和私钥。
3.1.15 公钥(Public Key)
在一个实体使用的非对称密钥对中可以被公众使用的密钥。在数字签名方案中,公钥用于验证。
3.1.16 私钥(Private Key)
在一个实体使用的非对称密钥对中仅被该实体使用的密钥。在数字签名方案中,私钥用于签名。
3.1.17 数字签名(Digital Signature)
对数据的一种非对称加密变换。该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。
3.1.18 生物标识(Biomarker)
人的某种生物学特征,具有遗传性和终身携带性,如血型。
3.1.19 医学警示(Medical Alert)
患者在就医、急诊或抢救时需要特别提醒医生注意的信息,包括疾病史、体内装置、药物过敏史、对某些物质的不耐受史等。 2 缩略语
以下缩略语和符号表示适用于本规范:
表3-1 缩略语和符号列表
缩略语 | 中文名 | 英文名 |
‘0’-‘9’ ‘A’-‘F’ | 十六进制数字 | |
AID | 应用标识符 | Application Identifier |
an | 字母数字型 | Alphanumeric |
ans | 特殊字母数字型 | Alphanumeric Special |
b | 二进制 | Binary |
BER | 基本编码规则 | Basic Encoding Rules |
压缩数字 | Compressed Numeric | |
DDF | 目录定义文件 | Directory Definition File |
DF | 专用文件 | Dedicated File |
EF | 基本文件 | Elementary File |
FCI | 文件控制信息 | File Control Information |
FID | 文件标识符 | File Identifier |
IC | 集成电路 | Integrated Circuit |
ISO | 国际标准化组织 | International Organization for Standardization |
MAC | 报文鉴别代码 | Message Authentication Code |
MF | 主控文件 | Master File |
SAM | 安全存取模块 | Secure Access Module |
TLV | 标签、长度、值 | Tag Length Value |
图4-1 居民健康卡文件结构示意图(略)
居民健康卡应用支付环境: FID = ‘DDF1’,AID = ‘WS.SYS.DDF01’。
发卡机构基本数据文件: FID = ‘EF05’,变长记录文件。
持卡人基本信息数据文件: FID = ‘EF06’,变长记录文件。
持卡人照片数据文件: FID = ‘EF07’, 二进制文件。
身份识别数据区ADF: FID = ‘DF01’,AID = ‘915600013200’。
地址信息文件: FID = ‘EF05’,变长记录文件。
联系人信息文件: FID = ‘EF06’,变长记录文件。
职业、婚姻信息文件: FID = ‘EF07’,变长记录文件。
证件记录信息文件: FID = ‘EF08’,变长记录文件。
基础健康信息区ADF: FID = ‘DF02’,AID = ‘915600013201’。
临床基本数据文件: FID = ‘EF05’,变长记录文件。
特殊信息数据文件: FID = ‘EF06’,变长记录文件。
过敏基本数据文件: FID = ‘EF07’,循环记录文件。
免疫基本数据文件: FID = ‘EF08’,循环记录文件。
管理数据区ADF: FID = ‘DF03’,AID = ‘915600013202’。
住院信息索引文件: FID = ‘EF05’,定长记录文件。
门诊信息索引文件: FID = ‘EF06’,定长记录文件。
住院信息文件: FID = ‘EE01’- ‘EE03’,二进制文件。
门诊信息文件: FID = ‘ED01’- ‘ED05’,二进制文件。
注:1、二进制文件:文件数据是通过连续空间中的字节地址进行存取。
2、记录文件:数据以记录为单位进行存取,同一文件内所有记录的长度可以不相等。同一文件内最多可以容纳254条记录。
表4-1 发卡机构基本数据文件
文件标识(FID) | ‘EF05’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读=自由 | 改写=UK1DDF1 | |
标签 | 数据元 | 类型 | 长度 |
01 | 卡的类别 | Ans | 01 |
02 | 规范版本 | Ans | 04 |
03 | 发卡机构名称 | Ans | 30 |
04 | 发卡机构代码 | 11 | |
05 | 发卡机构证书 | B | 180 |
06 | 发卡时间 | 04 | |
07 | 卡有效期 | 04 | |
08 | 卡号 | Ans | 18 |
09 | 安全码 | Ans | 03 |
10 | 芯片序列号 | Ans | 10 |
57 | 应用城市代码 | 03 |
表4-2持卡人基本信息数据文件
文件标识(FID) | ‘EF06’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读 =RK1DDF1 | 改写=UK1DDF1 | |
标签 | 数据元 | 类型 | 长度 |
11 | 姓名 | ans | 30 |
12 | 性别 | b | 01 |
13 | 民族代码 | 01 | |
14 | 出生日期 | 04 | |
15 | 居民身份证号码 | ans | 18 |
16 | 本人电话1 | ans | 20 |
17 | 本人电话2 | ans | 20 |
18 | 医疗费用支付方式 | 01 | |
19 | 医疗费用支付方式 | 01 | |
20 | 医疗费用支付方式 | 01 |
表 4-3持卡人照片数据文件
文件标识(FID) | ‘EF07’ | ||
文件类型 | 二进制文件 | ||
文件存取控制 | 读 =RK1DDF1 | 改写=UK1DDF1 | |
标签 | 数据元 | 类型 | 长度 |
| 照片 | b | 3074 |
注:照片文件存放方式为两字节照片数据长度+照片数据,例如照片数据为2066(0x0812)字节,则文件第一个字节为0x08,第二个字节为0x12,从第三个字节开始为照片数据。
表4-4地址信息文件
文件标识(FID) | ‘EF05’ | ||
文件类型 | 变长记录 | ||
文件大小 |
| ||
文件存取控制 | 读 =RK1DF01 | 改写=UK1DF01 | |
标签 | 数据元 | 类型 | 长度 |
21 | 地址类别1 | 01 | |
22 | 地址1 | ans | 100 |
23 | 地址类别2 | 01 | |
24 | 地址2 | ans | 100 |
表4-5 联系人信息文件
文件标识(FID) | ‘EF06’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读 =RK1DF01 | 改写=UK1DF01 | |
标签 | 数据元 | 类型 | 长度 |
25 | 联系人姓名1 | ans | 30 |
26 | 联系人关系1 | 01 | |
27 | 联系人电话1 | ans | 20 |
28 | 联系人姓名2 | ans | 30 |
29 | 联系人关系2 | 01 | |
30 | 联系人电话2 | ans | 20 |
31 | 联系人姓名3 | ans | 30 |
32 | 联系人关系3 | 01 | |
33 | 联系人电话3 | ans | 20 |
表4-6职业、婚姻信息文件
文件标识(FID) | ‘EF07’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读 =RK1DF01 | 改写=UK1DF01 | |
标签 | 数据元 | 类型 | 长度 |
34 | 文化程度代码 | 01 | |
35 | 婚姻状况代码 | 01 | |
36 | 职业代码 | ans | 03 |
表4-7证件记录信息文件
文件标识(FID) | ‘EF08’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读=RK1DF01 | 改写=UK1DF01 | |
标签 | 数据元 | 类型 | 长度 |
37 | 证件类别 | 01 | |
38 | 证件号码 | ans | 18 |
39 | 健康档案编号 | ans | 17 |
40 | 新农合证(卡)号 | ans | 18 |
表4-8 临床基本数据文件
文件标识(FID) | ‘EF05’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读=自由 | 改写=UK1DF02 | |
标签 | 数据元 | 类型 | 长度 |
41 | ABO血型代码 | b | 01 |
42 | RH血型代码 | 01 | |
43 | 哮喘标志 | b | 01 |
44 | 心脏病标志 | b | 01 |
45 | 心脑血管病标志 | b | 01 |
46 | 癫痫病标志 | b | 01 |
47 | 凝血紊乱标志 | b | 01 |
48 | 糖尿病标志 | b | 01 |
49 | 青光眼标志 | b | 01 |
50 | 透析标志 | b | 01 |
51 | 器官移植标志 | b | 01 |
52 | 器官缺失标志 | b | 01 |
53 | 可装卸的义肢标志 | b | 01 |
54 | 心脏起搏器标志 | b | 01 |
55 | 其他医学警示名称 | ans | 40 |
表4-9 特殊信息数据文件
文件标识(FID) | ‘EF06’ | ||
文件类型 | 变长记录 | ||
文件存取控制 | 读=RK1DF02 | 改写=UK2DF02 | |
标签 | 数据元 | 类型 | 长度 |
56 | 精神病标志 | b | 01 |
表4-10过敏基本数据文件
文件标识(FID) | ‘EF07’ | ||
文件类型 | 循环记录(3条) | ||
文件存取控制 | 读=自由 | 改写=UK3DF02 | |
| 数据元 | 类型 | 长度 |
| 过敏物质名称 | ans | 20 |
| 过敏反应 | ans | 100 |
表4-11 免疫基本数据文件
文件标识(FID) | ‘EF08’ | ||
文件类型 | 循环记录(10条) | ||
文件存取控制 | 读=自由 | 改写=UK3DF02 | |
| 数据元 | 类型 | 长度 |
| 免疫接种名称 | ans | 20 |
| 免疫接种时间 | 04 |
表4-12住院信息索引文件
文件标识(FID) | ‘EF05’ | ||
文件类型 | 定长记录(3条) | ||
文件存取控制 | 读=RK1DF03 | 改写=UK1DF03 擦除=UK2DF03 | |
| 数据元 | 类型 | 长度 |
| 住院记录有效标志 | b | 01 |
表4-13门诊信息索引文件
文件标识(FID) | ‘EF06’ | ||
文件类型 | 定长记录(5条) | ||
文件存取控制 | 读=RK1DF03 | 改写=UK1DF03 擦除=UK2DF03 | |
| 数据元 | 类型 | 长度 |
| 门诊记录有效标志 | b | 01 |
表4-14 住院信息文件
文件标识(FID) | ‘EE01’- ‘EE03’ | ||
文件类型 | 二进制 | ||
文件存取控制 | 读=RK1DF03 | 改写=UK1DF03 | |
| 数据元 | 类型 | 长度 |
| 住院机构名称 | ans | 70 |
| 住院机构组织机构代码 | ans | 10 |
| 入院日期 | 04 | |
| 住院患者住院次数 | 02 | |
| 病案号 | ans | 18 |
| 住院患者入院科室名称 | ans | 50 |
| 住院患者入院病情 | 01 | |
| 住院患者医院感染名称 | ans | 50 |
| 住院患者损伤和中毒外部原因 | ans | 07 |
| 住院患者血清学检查项目代码1 | 01 | |
| 住院患者血清学检查结果代码1 | 01 | |
| 疾病诊断名称1 | ans | 50 |
| 疾病诊断代码1 | ans | 07 |
| 确诊日期1 | 04 | |
| 住院患者诊断符合情况-详细描述1 | ans | 20 |
| 住院患者诊断符合情况-代码1 | 01 | |
| 住院患者疾病诊断类型-详细描述1 | ans | 20 |
| 住院患者疾病诊断类型-代码1 | 01 | |
| 住院患者治疗结果代码1 | 01 | |
| 手术/操作-名称1 | ans | 80 |
| 手术/操作-代码1 | ans | 5 |
| 手术/操作-日期1 | 04 | |
| 麻醉-方法1 | ans | 50 |
| 麻醉-方法代码1 | 01 | |
| 手术切口愈合等级代码1 | 01 | |
| 住院患者血清学检查项目代码2 | 01 | |
| 住院患者血清学检查结果代码2 | 01 | |
| 疾病诊断名称2 | ans | 50 |
| 疾病诊断代码2 | ans | 07 |
| 确诊日期2 | 04 | |
| 住院患者诊断符合情况-详细描述2 | ans | 20 |
| 住院患者诊断符合情况-代码2 | 01 | |
| 住院患者疾病诊断类型-详细描述2 | ans | 20 |
| 住院患者疾病诊断类型-代码2 | 01 | |
| 住院患者治疗结果代码2 | 01 | |
| 手术/操作-名称2 | ans | 80 |
| 手术/操作-代码2 | ans | 5 |
| 手术/操作-日期2 | 04 | |
| 麻醉-方法2 | ans | 50 |
| 麻醉-方法代码2 | 01 | |
| 手术切口愈合等级代码2 | 01 | |
| 住院患者血清学检查项目代码3 | 01 | |
| 住院患者血清学检查结果代码3 | 01 | |
| 疾病诊断名称3 | ans | 50 |
| 疾病诊断代码3 | ans | 07 |
| 确诊日期3 | 04 | |
| 住院患者诊断符合情况-详细描述3 | ans | 20 |
| 住院患者诊断符合情况-代码3 | 01 | |
| 住院患者疾病诊断类型-详细描述3 | ans | 20 |
| 住院患者疾病诊断类型-代码3 | 01 | |
| 住院患者治疗结果代码3 | 01 | |
| 手术/操作-名称3 | ans | 80 |
| 手术/操作-代码3 | ans | 5 |
| 手术/操作-日期3 | 04 | |
| 麻醉-方法3 | ans | 50 |
| 麻醉-方法代码3 | 01 | |
| 手术切口愈合等级代码3 | 01 | |
| 住院期间输血品种代码1 | 01 | |
| 住院期间输血量1 | 02 | |
| 住院患者输血量计量单位1 | ans | 10 |
| 住院期间输血品种代码2 | 01 | |
| 住院期间输血量2 | 02 | |
| 住院患者输血量计量单位2 | ans | 10 |
| 住院期间输血品种代码3 | 01 | |
| 住院期间输血量3 | 02 | |
| 住院患者输血量计量单位3 | ans | 10 |
| 住院期间输血品种代码4 | 01 | |
| 住院期间输血量4 | 02 | |
| 住院患者输血量计量单位4 | ans | 10 |
| 住院患者抢救次数 | 02 | |
| 住院患者抢救成功次数 | 02 | |
| 出院日期 | 04 | |
| 住院患者出院科室名称 | ans | 50 |
| 住院患者住院天数 | 03 | |
| 住院患者尸检标志 | b | 01 |
| 住院患者随诊标志 | b | 01 |
| 住院费用-医疗付款方式代码 | 01 | |
| 住院费用-分类1 | ans | 20 |
| 住院费用-分类代码1 | ans | 01 |
| 住院费用-金额1 | 05 | |
| 住院费用-分类2 | ans | 20 |
| 住院费用-分类代码2 | ans | 01 |
| 住院费用-金额2 | 05 | |
| 住院费用-分类3 | ans | 20 |
| 住院费用-分类代码3 | ans | 01 |
| 住院费用-金额3 | 05 | |
| 住院费用-分类4 | ans | 20 |
| 住院费用-分类代码4 | ans | 01 |
| 住院费用-金额4 | 05 | |
| 住院费用-分类5 | ans | 20 |
| 住院费用-分类代码5 | ans | 01 |
| 住院费用-金额5 | 05 | |
| 住院费用-分类6 | ans | 20 |
| 住院费用-分类代码6 | ans | 01 |
| 住院费用-金额6 | 05 | |
| 住院费用-分类7 | ans | 20 |
| 住院费用-分类代码7 | ans | 01 |
| 住院费用-金额7 | 05 | |
| 住院费用-分类8 | ans | 20 |
| 住院费用-分类代码8 | ans | 01 |
| 住院费用-金额8 | 05 | |
| 住院费用-分类9 | ans | 20 |
| 住院费用-分类代码9 | ans | 01 |
| 住院费用-金额9 | 05 | |
| 住院费用-分类10 | ans | 20 |
| 住院费用-分类代码10 | ans | 01 |
| 住院费用-金额10 | 05 | |
| 住院费用-分类11 | ans | 20 |
| 住院费用-分类代码11 | ans | 01 |
| 住院费用-金额11 | 05 | |
| 住院费用-分类12 | ans | 20 |
| 住院费用-分类代码12 | ans | 01 |
| 住院费用-金额12 | 05 | |
| 住院费用-分类13 | ans | 20 |
| 住院费用-分类代码13 | ans | 01 |
| 住院费用-金额13 | 05 | |
| 住院费用-分类14 | ans | 20 |
| 住院费用-分类代码14 | ans | 01 |
| 住院费用-金额14 | 05 | |
| 住院费用-分类15 | ans | 20 |
| 住院费用-分类代码15 | ans | 01 |
| 住院费用-金额15 | 05 | |
| 住院费用-分类16 | ans | 20 |
| 住院费用-分类代码16 | ans | 01 |
| 住院费用-金额16 | 05 | |
| 住院费用-分类17 | ans | 20 |
| 住院费用-分类代码17 | ans | 01 |
| 住院费用-金额17 | 05 | |
| 住院费用-分类18 | ans | 20 |
| 住院费用-分类代码18 | ans | 01 |
| 住院费用-金额18 | 05 | |
| 住院费用-分类19 | ans | 20 |
| 住院费用-分类代码19 | ans | 01 |
| 住院费用-金额19 | 05 | |
| 住院费用-分类20 | ans | 20 |
| 住院费用-分类代码20 | ans | 01 |
| 住院费用-金额20 | 05 | |
| 住院总费用 | 05 | |
| 床位费 | 05 | |
| 住院护理费 | 05 | |
| 住院西药费 | 05 | |
| 住院中药费 | 05 | |
| 住院化验费 | 05 | |
| 住院诊疗费 | 05 | |
| 住院手术费 | 05 | |
| 住院检查费 | 05 | |
| 其他住院费用 | 05 | |
| 交易信息签名 | b | 64 |
| SAM卡证书 | b | 190 |
表4-15 门诊信息文件
文件标识(FID) | ‘ED01’- ‘ED05’ | ||
文件类型 | 二进制 | ||
文件存取控制 | 读=RK1DF03 | 改写=UK1DF03 | |
| 数据元 | 类型 | 长度 |
| 就诊机构名称 | ans | 70 |
| 就诊机构组织机构代码 | ans | 10 |
| 就诊日期时间 | 07 | |
| 门诊号 | ans | 18 |
| 就医科室名称 | ans | 50 |
| 医疗付款方式 | 01 | |
| 症状名称1 | ans | 50 |
| 症状代码1 | ans | 05 |
| 诊断日期1 | 04 | |
| 门诊诊断名称1 | ans | 50 |
| 门诊诊断代码1 | ans | 07 |
| 发病日期时间1 | 07 | |
| 症状持续时间1 | 02 | |
| 症状名称2 | ans | 50 |
| 症状代码2 | ans | 05 |
| 诊断日期2 | 04 | |
| 门诊诊断名称2 | ans | 50 |
| 门诊诊断代码2 | ans | 07 |
| 发病日期时间2 | 07 | |
| 症状持续时间2 | 02 | |
| 症状名称3 | ans | 50 |
| 症状代码3 | ans | 05 |
| 诊断日期3 | 04 | |
| 门诊诊断名称3 | ans | 50 |
| 门诊诊断代码3 | ans | 07 |
| 发病日期时间3 | 07 | |
| 症状持续时间3 | 02 | |
| 症状名称4 | ans | 50 |
| 症状代码4 | ans | 05 |
| 诊断日期4 | 04 | |
| 门诊诊断名称4 | ans | 50 |
| 门诊诊断代码4 | ans | 07 |
| 发病日期时间4 | 07 | |
| 症状持续时间4 | 02 | |
| 症状名称5 | ans | 50 |
| 症状代码5 | ans | 05 |
| 诊断日期5 | 04 | |
| 门诊诊断名称5 | ans | 50 |
| 门诊诊断代码5 | ans | 07 |
| 发病日期时间5 | 07 | |
| 症状持续时间5 | 02 | |
| 检查/检验项目名称1 | ans | 80 |
| 检查/检验结果代码1 | 01 | |
| 检查/检验定量结果1 | 05 | |
| 检查/检验计量单位1 | ans | 20 |
| 检查/检验项目代码1 | ans | 20 |
| 检查/检验项目名称2 | ans | 80 |
| 检查/检验结果代码2 | 01 | |
| 检查/检验定量结果2 | 05 | |
| 检查/检验计量单位2 | ans | 20 |
| 检查/检验项目代码2 | ans | 20 |
| 检查/检验项目名称3 | ans | 80 |
| 检查/检验结果代码3 | 01 | |
| 检查/检验定量结果3 | 05 | |
| 检查/检验计量单位3 | ans | 20 |
| 检查/检验项目代码3 | ans | 20 |
| 检查/检验项目名称4 | ans | 80 |
| 检查/检验结果代码4 | 01 | |
| 检查/检验定量结果4 | 05 | |
| 检查/检验计量单位4 | ans | 20 |
| 检查/检验项目代码4 | ans | 20 |
| 检查/检验项目名称5 | ans | 80 |
| 检查/检验结果代码5 | 01 | |
| 检查/检验定量结果5 | 05 | |
| 检查/检验计量单位5 | ans | 20 |
| 检查/检验项目代码5 | ans | 20 |
| 检查/检验项目名称6 | ans | 80 |
| 检查/检验结果代码6 | 01 | |
| 检查/检验定量结果6 | 05 | |
| 检查/检验计量单位6 | ans | 20 |
| 检查/检验项目代码6 | ans | 20 |
| 检查/检验项目名称7 | ans | 80 |
| 检查/检验结果代码7 | 01 | |
| 检查/检验定量结果7 | 05 | |
| 检查/检验计量单位7 | ans | 20 |
| 检查/检验项目代码7 | ans | 20 |
| 检查/检验项目名称8 | ans | 80 |
| 检查/检验结果代码8 | 01 | |
| 检查/检验定量结果8 | 05 | |
| 检查/检验计量单位8 | ans | 20 |
| 检查/检验项目代码8 | ans | 20 |
| 检查/检验项目名称9 | ans | 80 |
| 检查/检验结果代码9 | 01 | |
| 检查/检验定量结果9 | 05 | |
| 检查/检验计量单位9 | ans | 20 |
| 检查/检验项目代码9 | ans | 20 |
| 检查/检验项目名称10 | ans | 80 |
| 检查/检验结果代码10 | 01 | |
| 检查/检验定量结果10 | 05 | |
| 检查/检验计量单位10 | ans | 20 |
| 检查/检验项目代码10 | ans | 20 |
| 药物名称1 | ans | 50 |
| 药物剂型代码1 | 01 | |
| 用药天数1 | 03 | |
| 药物使用频率1 | ans | 20 |
| 药物使用剂量单位1 | ans | 06 |
| 药物使用次剂量1 | 03 | |
| 药物使用总剂量1 | 06 | |
| 药物使用途径代码1 | 02 | |
| 药物名称2 | ans | 50 |
| 药物剂型代码2 | 01 | |
| 用药天数2 | 03 | |
| 药物使用频率2 | ans | 20 |
| 药物使用剂量单位2 | ans | 06 |
| 药物使用次剂量2 | 03 | |
| 药物使用总剂量2 | 06 | |
| 药物使用途径代码2 | 02 | |
| 药物名称3 | ans | 50 |
| 药物剂型代码3 | 01 | |
| 用药天数3 | 03 | |
| 药物使用频率3 | ans | 20 |
| 药物使用剂量单位3 | ans | 06 |
| 药物使用次剂量3 | 03 | |
| 药物使用总剂量3 | 06 | |
| 药物使用途径代码3 | 02 | |
| 药物名称4 | ans | 50 |
| 药物剂型代码4 | 01 | |
| 用药天数4 | 03 | |
| 药物使用频率4 | ans | 20 |
| 药物使用剂量单位4 | ans | 06 |
| 药物使用次剂量4 | 03 | |
| 药物使用总剂量4 | 06 | |
| 药物使用途径代码4 | 02 | |
| 药物名称5 | ans | 50 |
| 药物剂型代码5 | 01 | |
| 用药天数5 | 03 | |
| 药物使用频率5 | ans | 20 |
| 药物使用剂量单位5 | ans | 06 |
| 药物使用次剂量5 | 03 | |
| 药物使用总剂量5 | 06 | |
| 药物使用途径代码5 | 02 | |
| 手术/操作名称1 | ans | 80 |
| 手术/操作代码1 | ans | 5 |
| 手术/操作日期1 | 04 | |
| 手术/操作名称2 | ans | 80 |
| 手术/操作代码2 | ans | 5 |
| 手术/操作日期2 | 04 | |
| 手术/操作名称3 | ans | 80 |
| 手术/操作代码3 | ans | 5 |
| 手术/操作日期3 | 04 | |
| 门诊费用分类名称1 | ans | 20 |
| 门诊费用分类代码1 | 01 | |
| 门诊费用金额1 | 04 | |
| 门诊费用分类名称2 | ans | 20 |
| 门诊费用分类代码2 | 01 | |
| 门诊费用金额2 | 04 | |
| 门诊费用分类名称3 | ans | 20 |
| 门诊费用分类代码3 | 01 | |
| 门诊费用金额3 | 04 | |
| 门诊费用分类名称4 | ans | 20 |
| 门诊费用分类代码4 | 01 | |
| 门诊费用金额4 | 04 | |
| 门诊费用分类名称5 | ans | 20 |
| 门诊费用分类代码5 | 01 | |
| 门诊费用金额5 | 04 | |
| 门诊费用分类名称6 | ans | 20 |
| 门诊费用分类代码6 | 01 | |
| 门诊费用金额6 | 04 | |
| 门诊费用分类名称7 | ans | 20 |
| 门诊费用分类代码7 | 01 | |
| 门诊费用金额7 | 04 | |
| 门诊费用分类名称8 | ans | 20 |
| 门诊费用分类代码8 | 01 | |
| 门诊费用金额8 | 04 | |
| 门诊费用分类名称9 | ans | 20 |
| 门诊费用分类代码9 | 01 | |
| 门诊费用金额9 | 04 | |
| 门诊费用分类名称10 | ans | 20 |
| 门诊费用分类代码10 | 01 | |
| 门诊费用金额10 | 04 | |
| 交易信息签名 | b | 64 |
| SAM卡证书 | b | 190 |
1 文件结构
本规范中的文件组织结构来自且符合GB/T 16649.4的基本组织结构。
本部分描述了符合本规范的应用文件结构。
从终端的角度来看,IC卡上的文件是一种树形结构。树的每一个分支是一个应用数据文件(ADF)或一个目录定义文件(DDF)。一个ADF是一个或者多个应用基本文件(AEF)的入口点。一个ADF及其相关的数据文件处于树的同一分支上。一个DDF是其他ADF或者DDF的入口点。 2 应用数据文件(ADF)
ADF的树形结构:
(1) 能够将数据文件与应用联系起来;
(2) 确保应用之间的独立性;
(3) 可以通过应用选择实现对其逻辑结构的访问。
从终端的角度看,ADF是一个只包含封装在其文件控制信息(FCI)中的数据对象的文件。 3 应用基本文件(AEF)
本规范中,一个AEF包含一个或多个原始BER-TLV数据对象,或一个非结构化的纯数据元。在选择了某一应用后,AEF通过其文件标识符进行查询。 4 文件到GB/T 16649.4的文件结构的映射
使用下列到GB/T 16649.4的映射:
(1) 一个GB/T 16649.4定义的专用文件(DF)映射为一个ADF或一个DDF。可以通过它来访问基本文件和DF。在IC卡中处于最高层的DF称为主文件(MF)。
(2) GB/T 16649.4定义的一个基本文件(EF) 对应一个AEF。EF永远不会成为另一个文件的入口点。 5 文件引用
根据文件的种类,文件可以通过文件名引用。IC卡中的任何ADF或DDF都可以通过它的DF名引用。ADF的DF 名与它的AID对应或以AID作为DF名的开头。一张IC卡中的每个 DF 名字必须在该卡内是唯一的。 1 总体操作
包括对居民健康卡用户卡进行寻卡、上电初始化,鉴别卡真伪、有效期、外部认证读写权限,进入相应的读写操作等业务。
5.1.1 总体操作流程
(1)用户卡上电复位,卡片位于MF下。
(2)发送SELECT命令,选择居民健康卡应用环境DDF1。
(3)执行内部认证流程,对卡进行内部认证。
(4)发送SELECT命令,选择EF05。
(5)发送READ RECORD命令,读卡有效期。
(6)发送SELECT命令到各应用文件。
(7)根据各应用文件读写控制权限,选择是否进行外部认证。
(8)对相应文件进行读写操作。
(9)流程结束。
5.1.2 流程图
图5-1 总体应用流程图(略) 2 内部认证
内部认证判定用户卡是否本系统卡。
5.2.1 内部认证流程
(1)终端从SAM卡获取8字节随机数。
(2)定义8字节长度的鉴别所需的原始信息,如1122334455667788。
(3)随机数做为用户卡过程密钥计算使用的数据,同时作为SAM卡过程密钥产生因子。
(4)终端准备内部认证所需的数据,其中第1至第8字节为随机数,第9至第16字节为原始信息,第17字节为密钥版本。
(5)终端向SAM卡发送DELIVERY SESSION KEY命令,将指定的密钥进行分散,并产生过程密钥。
(6)终端向SAM卡发送CIPHER DATA命令,加密原始信息。
(7)终端将SAM卡返回的加密结果左右8字节异或,得到鉴别数据A。
(8)终端向用户卡发送INTERNAL AUTHENTICTION命令,得到返回值B。
(9)终端比较A、B值是否相同,如果相同内部认证成功,否则内部认证失败。
(10)流程结束。
5.2.2 流程图
图5-2 内部认证流程图(略) 3 外部认证
用户卡只有通过相应控制密钥的外部认证后,才可以对相应的的文件进行读写等操作。
5.3.1 外部认证流程
(1)定义8字节长度的鉴别所需的原始信息,如1122334455667788。
(2)终端向用户卡发送GET CHALLENGE命令,获得8字节随机数。
(3)随机数做为SAM卡过程密钥产生因子。
(4)终端向SAM卡发送DELIVERY SESSION KEY命令,将指定的密钥进行分散,并产生过程密钥。
(5)终端向SAM卡发送CIPHER DATA命令,加密原始信息。
(6)终端将SAM卡返回的加密结果左右8字节异或,得到鉴别数据。
(7)终端准备外部认证所需的数据,其中第1至第8字节为鉴别数据,第9至第16字节为原始信息,第17字节为密钥版本。
(8)终端向用户卡发送EXTERNAL AUTHENTICATION命令。
(9)用户卡返回状态码如为‘9000’,则外部认证成功,否则外部认证失败。
(10)流程结束。
5.3.2 流程图
图5-3 外部认证流程图(略) 4 应用锁定
向用户卡发送应用锁定命令可以对卡进行临时锁定或永久锁定。临时锁定方式后可以用应用解锁命令进行解锁,永久锁定方式后不能解锁。另外当使用校验方式更新记录文件或二进制文件时,如果MAC错误尝试次数超过限制,COS会自动临时锁定当前应用。
5.4.1 应用锁定流程
(1) 终端向用户卡发送SELECT命令,选择待锁定的应用区(DF)。
(2) 终端执行外部认证流程,对该DF下的LK密钥进行外部认证。
(3) 终端向用户卡发送GET CHALLENGE命令,获得8字节随机数。
(4) 随机数做为SAM卡过程密钥产生因子。
(5) 终端向SAM卡发送DELIVERY SESSION KEY命令,将指定的STK密钥进行分散,并产生过程密钥。
(6) 终端向SAM卡发送CIPHER DATA命令,对应用锁定(APPLICATION BLOCK)命令头进行MAC计算。
(7) 终端向用户卡发送APPLICATION BLOCK 命令 +MAC值,对该DF进行应用锁定。 5 应用解锁
临时锁定后的用户卡应用区,只有该应用区进行应用解锁后,才可以继续使用。
5.5.1 应用解锁流程
(1) 终端向用户卡发送SELECT命令,选择被临时锁定的应用区(DF)。
(2) 终端执行外部认证流程,对该DF下的LK密钥进行外部认证。
(3) 终端向用户卡发送GET CHALLENGE命令,获得8字节随机数。
(4) 随机数做为SAM卡过程密钥产生因子。
(5) 终端向SAM卡发送DELIVERY SESSION KEY命令,将指定的STK密钥进行分散,并产生过程密钥。
(6) 终端向SAM卡发送CIPHER DATA命令,对应用解锁(APPLICATION UNBLOCK)命令头进行MAC计算。
(7) 终端向用户卡发送APPLICATION UNBLOCK 命令 +MAC值,对该DF进行应用解锁。 6 卡锁定
用户卡不允许再使用时,可以执行卡锁定命令,对该用户卡进行永久卡锁定,卡锁定后不能解锁。
5.6.1 卡锁定流程
(1) 终端向用户卡发送SELECT命令,选择待锁定的卡片根目录(MF)。
(2) 终端执行外部认证流程,对MF下的BK密钥进行外部认证。
(3) 终端向用户卡发送GET CHALLENGE命令,获得8字节随机数。
(4) 随机数做为SAM卡过程密钥产生因子。
(5) 终端向SAM卡发送DELIVERY SESSION KEY命令,将指定的STK密钥进行分散,并产生过程密钥。
(6) 终端向SAM卡发送CIPHER DATA命令,对卡锁定(CARD BLOCK)命令头进行MAC计算。
(7) 终端向用户卡发送CARD BLOCK 命令 +MAC值,对该用户卡进行卡锁定。 7 应用维护
应用维护包括卡锁定、应用锁定、应用解锁、数据带MAC更新。这些过程必须在拥有相应的操作权限控制密钥的终端上按如下步骤执行:
(1) 通过外部认证,满足操作的安全状态;
(2) 终端向卡申请一随机数;
(3) 发送相应的应用维护命令,卡在收到命令后执行以下操作:
a. 使用前一步骤产生的随机数,利用《居民健康卡技术规范》中9.6节描述的方式产生过程密钥;
b. 使用该过程密钥产生MAC,并与命令报文中的MAC进行比较,如果结果一致,则相应的功能被实现,否则回送错误状态信息。MAC产生方式见《居民健康卡技术规范》中9.4节描述。 在卡业务应用过程中,向SAM卡发送应用命令必须在验证完口令之后才可以执行。SAM卡上电之后验证一次口令,直到SAM卡下电重新上电才需要重新进行口令验证。
1 卡识别应用 (对应MF\DDF1数据区)
读写卡识别数据区内的数据,卡识别数据区包括发卡基本数据(EF05)和持卡人基本数据(EF06)和照片数据(EF07)。
6.1.1 读卡识别数据区信息
6.1.1.1 描述
读取用户卡中MF\DDF1中的基本文件(即EF05、EF06和 EF07)数据。
6.1.1.2 命令
参见《居民健康卡用户卡命令集 V1.0》和《居民健康卡安全存取模块(SAM)卡命令集 V1.0》。
6.1.1.3 处理流程
(1) 终端根据应用执行的情况决定从用户卡读取哪些文件。
(2) 终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3) 终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的读控制密钥的情况,决定是否执行外部认证。(读控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4) 终端发送READ RECORD命令读取指定记录;终端发送READ BINARY命令读取EF07数据。
(5) 用户卡根据读记录所需的读控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足则用户卡读取记录或二进制文件数据,读取成功则返回数据到终端,否则返回错误码到终端。
(6) 终端根据用户卡返回结果,决定是否继续读取对应EF文件中的数据。
6.1.1.4 流程图
图6-1 读卡识别数据流程图(略)
6.1.2 写卡识别数据区信息
6.1.2.1 描述
更新用户卡中MF\DDF1中的基本文件(即EF05、EF06和 EF07)数据。
6.1.2.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.1.2.3 处理流程
(1)终端根据应用执行的情况决定更新用户卡中哪些文件。
(2)终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3)终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的写控制密钥的情况,决定是否执行外部认证。(写控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4)终端发送带密文+MAC安全报文的UPDATE RECORD命令更新指定记录,在这一过程中,使用STKDDF1计算密文及MAC;终端发送UPDATE BINARY命令更新EF07数据。
(5)用户卡根据写记录所需的写控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足更新记录文件则验证密文和MAC是否正确(密文和MAC的计算方法和步骤参见《居民健康卡技术规范》9.4节描述),如果正确,则将解密后的明文数据写入卡内,否则返回错误码到终端。如果满足更新二进制文件则以明文方式将数据写入卡内,否则返回错误码到终端。
(6)终端根据用户卡返回结果,决定是否继续更新对应EF文件中的数据。
6.1.2.4 流程图
图6-2 写卡识别数据处理流程图(略) 2 身份识别应用(对应DDF1\DF01数据区)
读写身份识别数据区内的数据,身份识别数据区包括EF05、EF06、EF07和EF08文件。
6.2.1 读DF01应用数据
6.2.1.1 描述
读取用户卡中的DF01应用数据。
6.2.1.2 命令
参见《居民健康卡用户卡命令集 V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.2.1.3 处理流程
(1)终端根据应用执行的情况决定从用户卡读取哪些记录。
(2)终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3)终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的读控制密钥的情况,决定是否执行外部认证。(读控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4)终端发送READ RECORD命令读取指定记录。
(5)用户卡根据读记录所需的读控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足则用户卡读取记录数据,读取成功则返回记录数据到终端,否则返回错误码到终端。
(6)终端根据用户卡返回结果,决定是否继续读取对应EF文件中的记录。
6.2.1.4 流程图
图6-3 读DF01应用数据处理流程图(略)
6.2.2 写DF01应用数据
6.2.2.1 描述
更新用户卡中的DF01应用数据。
6.2.2.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.2.2.3 处理流程
(1)终端根据应用执行的情况决定更新用户卡中哪些记录。
(2)终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3)终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的写控制密钥的情况,决定是否执行外部认证。(写控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4)终端发送带密文+MAC安全报文的UPDATE RECORD命令更新指定记录。
(5)用户卡根据写记录所需的写控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足则验证密文和MAC是否正确(密文和MAC的计算方法和步骤参见《居民健康卡技术规范》9.4节描述),如果正确,则将解密后的明文数据写入卡内,否则返回错误码到终端。
(6)终端根据用户卡返回结果,决定是否继续更新对应EF文件中的记录。
6.2.2.4 流程图
图6-4 写DF01应用数据处理流程图(略) 3 基础健康信息应用(对应DDF1\DF02数据区)
读写基础健康信息区内的数据,基础健康信息区包括EF05、EF06、EF07和EF08文件。
6.3.1 读DF02应用数据
6.3.1.1 描述
读取用户卡中的DF02应用数据。
6.3.1.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.3.1.3 处理流程
(1)终端根据应用执行的情况决定从用户卡读取哪些记录。
(2)终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3)终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的读控制密钥的情况,决定是否执行外部认证。(读控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4)终端发送READ RECORD命令读取指定记录。
(5)用户卡根据读记录所需的读控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足则用户卡读取记录数据,读取成功则返回记录数据到终端,否则返回错误码到终端。
(6)终端根据用户卡返回结果,决定是否继续读取对应EF文件中的记录。
6.3.1.4 流程图
图6-5 读DF02应用数据处理流程图(略)
图6-5 读DF02应用数据处理流程图
6.3.2 写DF02应用数据
6.3.2.1 描述
更新用户卡中的DF02应用数据。
6.3.2.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.3.2.3 处理流程
(1)终端根据应用执行的情况决定更新用户卡中哪些记录。
(2)终端选择对应记录所在的DF文件,然后再选对应的EF文件。
(3)终端根据应用执行情况和《居民健康卡技术规范》中定义的对应文件的写控制密钥的情况,决定是否执行外部认证。(写控制密钥的情况参见《居民健康卡技术规范》,外部认证命令处理过程参见本文档的对应章节)。
(4)终端发送带密文+MAC安全报文的UPDATE RECORD命令更新指定记录。
(5)用户卡根据写记录所需的写控制权限,判断命令执行的条件是否满足,如果不满足则返回错误码到终端;如果满足则验证密文和MAC是否正确(密文和MAC的计算方法和步骤参见《居民健康卡技术规范》9.4节描述),如果正确,则将解密后的明文数据写入卡内,否则返回错误码到终端。
(6)终端根据用户卡返回结果,决定是否继续更新对应EF文件中的记录。
6.3.2.4 流程图
图6-6 写DF02应用数据处理流程图(略) 4 管理业务应用(对应DDF1\DF03数据区)
包括对住院信息和门诊信息的记录、提取和报销。MAC的计算方法和步骤参见《居民健康卡技术规范》9.4节描述。对住院信息和门诊信息进行签名时的SAM卡证书数据,从SAM卡的SAM卡证书文件中读取,SAM卡证书文件参见《居民健康卡安全存取模块(SAM)卡技术规范V1.0》相应描述。
6.4.1 记录住院信息
6.4.1.1 描述
读写用户卡中住院信息索引文件(DF03\EF05)及住院信息(DF03\EE01-03)。
6.4.1.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.4.1.3 记录住院信息流程
(1) 终端获得住院信息索引文件读权限。
(2) 终端向用户卡发送SELECT命令,选择住院信息索引文件,从第一条记录开始搜索到第一个值为空(‘FF’)的记录,根据这条记录的记录号RN确定住院信息文件的文件标识符FID(‘EE’+RN)。
(3) 如果没有空记录,则无法记录住院信息,流程结束。
(4) 终端获得住院信息文件写权限。
(5) 终端向用户卡发送SELECT命令,选择住院信息文件。
(6) 终端执行数据签名流程,将待签名的住院信息数据发送到SAM卡进行签名,得到64字节签名值。
(7) 终端向用户卡发送UPDATE BINARY命令,写入本次住院信息、签名值和SAM卡证书数据。
(8) 终端向用户卡发送SELECT命令,选择住院信息索引文件。
(9) 终端向用户卡发送带MAC安全报文的WRITE RECORD命令,写入住院索引信息文件第RN条记录。
(10) 流程结束。
6.4.1.4 流程图
图6-7 住院信息记录流程图(略)
6.4.2 记录门诊信息
6.4.2.1 描述
读写用户卡中门诊信息索引文件(DF03\EF06)及门诊信息(DF03\ED01-05)。
6.4.2.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.4.2.3 记录门诊信息流程
(1) 终端获得门诊信息索引文件读权限。
(2) 终端向用户卡发送SELECT命令,选择门诊信息索引文件,从第一条记录开始搜索到第一个值为空(‘FF’)的记录,根据这条记录的记录号RN确定门诊信息文件的文件标识符FID(‘ED’+RN)。
(3) 如果没有空记录,则无法记录门诊信息,流程结束。
(4) 终端获得门诊信息文件写权限。
(5) 终端向用户卡发送SELECT命令,选择门诊信息文件。
(6) 终端执行数据签名流程,将待签名的门诊信息数据发送到SAM卡进行签名,得到64字节签名值。
(7) 终端向用户卡发送UPDATE BINARY命令,写入本次门诊信息、签名值和SAM卡证书数据。
(8) 终端向用户卡发送SELECT命令,选择门诊信息索引文件。
(9) 终端向用户卡发送带MAC安全报文的WRITE RECORD命令,写入门诊索引信息文件第RN条记录。
(10) 流程结束。
6.4.2.4 流程图
图6-8 门诊信息记录流程图(略)
6.4.3 住院费用信息提取及费用报销
6.4.3.1 描述
本部分描述了住院费用提取及报销的简易流程。
6.4.3.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.4.3.3 住院费用信息提取及报销流程
(1) 终端获得住院信息索引文件(DF03\EF05)读权限。
(2) 终端向用户卡发送SELECT命令,选择住院信息索引文件,从第一条记录开始搜索不为空(‘00’)的记录,根据这条记录的记录号RN确定住院信息文件的文件标识符FID(‘EE’+RN)。
(3) 终端向用户卡发送SELECT命令,选择住院信息文件。
(4) 终端向用户卡发送READ BINARY命令,读取住院记录数据(住院信息、签名值和SAM卡证书)。
(5) 终端将住院记录数据发送到后台,由后台验证签名的的有效性。
(6) 终端根据后台返回结果,判断住院记录数据签名验证是否成功。
(7) 终端获得住院信息索引文件擦除权限。
(8) 终端向用户卡发送SELECT命令,选择住院信息索引文件。
(9) 终端向用户卡发送带MAC安全报文的ERASE RECORD命令,擦除住院索引信息文件第RN条记录有效标志。
(10) 流程结束。
6.4.3.4 流程图
图6-9 住院费用提取及报销流程图(略)
6.4.4 门诊费用信息提取及报销
6.4.4.1 描述
本部分描述了门诊费提取及报销的简易流程。
6.4.4.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
6.4.4.3 门诊费用提取及报销流程
(1) 终端获得门诊信息索引文件(DF03\EF06)读权限。
(2) 终端向用户卡发送SELECT命令,选择门诊信息索引文件,从第一条记录开始搜索不为空(‘00’)的记录,根据这条记录的记录号RN确定门诊信息文件的文件标识符FID(‘ED’+RN)。
(3) 终端向用户卡发送SELECT命令,选择门诊信息文件。
(4) 终端向用户卡发送READ BINARY命令,读取门诊记录数据(门诊信息、签名值和SAM卡证书)。
(5) 终端将门诊记录数据发送到后台,由后台验证签名的的有效性。
(6) 终端根据后台返回结果,判断门诊记录数据签名验证是否成功。
(7) 终端获得门诊信息索引文件擦除权限。
(8) 终端向用户卡发送SELECT命令,选择门诊信息索引文件。
(9) 终端向用户卡发送带MAC安全报文的ERASE RECORD命令,擦除门诊索引信息文件第RN条记录有效标志。
(10) 流程结束。
6.4.4.4 流程图
图6-10 门诊费用提取及报销流程图(略) 1 数据签名
7.1.1 描述
住院信息或门诊信息写入到用户卡时需要进行数据签名,以保证数据的真实性和完整性。待签名数据为住院(或门诊)信息文件中除签名值和SAM卡证书之外的所有数据项内容。
7.1.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
7.1.3 数据签名流程
(1) 终端获得需签名的住院(或门诊)信息数据。
(2) 终端向SAM卡发送SELECT命令,选择SAM卡DF01目录。
(3) 终端将获得的住院(或门诊)信息记录数据分组,向SAM卡循环发送DATA COMPRESS命令,使用SM3算法计算,得到32字节哈希值。
(4) 终端向SAM卡发送DIGITAL SIGNATURES命令,用私钥对哈希值做签名,得到64字节签名值。
(5) 流程结束。
7.1.4 流程图
图7-1 数据签名流程图(略) 2 数据签名验证
7.2.1 描述
本部分描述了数据签名验证的流程。通过验证数据签名,保证数据真实,没有被篡改。验证签名数据为住院(或门诊)信息文件的住院(或门诊)信息的记录、交易签名和SAM卡证书。
7.2.2 命令
参见《居民健康卡用户卡命令集V1.0》和《居民健康卡安全存取模块(SAM)卡命令集V1.0》。
7.2.3 数据签名验证流程
证书密钥的使用参见《居民健康卡技术规范》中9.10.2.2节。
(1) 终端读取用户卡住院(或门诊)信息文件的住院(或门诊)信息的记录、交易签名和SAM卡证书,并将上述三项数据项发到后台,由后台进行数据签名验证。
(2) 后台将验证结果发送到终端。
(3) 终端根据返回结果判断数据签名验证是否成功。
(4) 流程结束。
7.2.4 流程图
图7-2 数据签名验证流程图(略)
附件10:
(中华人民共和国卫生部 2011年11月)
1 适用范围
2 规范性引用文件
3 定义和缩略语
3.1 定义
3.2 缩略语和符号表示
4 基本要求
4.1 产品形态
4.2 外观和结构
4.3 功能
4.4 通讯方式
4.5 电源
4.6 SAM卡接口要求
4.7 气候环境条件
4.8 机械环境条件
4.9 可靠性要求
4.10 安全性要求
4.11 电磁兼容性要求
5 标志、包装、运输和贮存
5.1 标志
5.2 包装
5.3 运输
5.4 贮存
附录A 设备的高级应用编程接口 本规范规定了居民健康卡应用过程中涉及到的各种终端的产品形态、外观结构、功能、通讯方式、电源、接口、气候环境条件、机械环境条件、可靠性、安全性、电磁兼容性等方面的技术细节,提出了对居民健康卡终端标志、包装、运输和储存的要求。
本规范适用于所有设计、生产、发放、使用居民健康卡终端的研制单位、管理机构、发放机构、以及使用单位等。 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。
GB5080.7-1986 设备可靠性试验 恒定失效率假设下的失效率与平均无故障时间的验证试验方案
GB/T 2423.5-1995 电工电子产品环境试验 第2部分:试验方法 试验Ea和导则:冲击
GB/T 2423.6-1995 电工电子产品环境试验 第2部分 试验方法 试验Eb和导则:碰撞
GB/T 2423.8-1995 电工电子产品环境试验 第2部分 试验方法 试验Ed:自由跌落
GB/T 2421-1999 电工电子产品环境试验 第1部分:总则
GB/T 6107-2000 使用串行二进制数据交换的数据终端设备和数据电路终接设备之间的接口
GB/T 18239-2000 集成电路(IC)卡读写机通用规范
GB 4943-2001 信息技术设备的安全
GB/T 16649.3-2006 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议
GB/T 14916 -2006 识别卡 物理特性
GB/T 2423.1-2001 电工电子产品环境试验 第2部分:试验方法 试验A:低温
GB/T 2423.2-2001 电工电子产品环境试验 第2部分:试验方法 试验B:高温
GB/T 2423.3-2006 电工电子产品基本环境试验规程 试验Ca:恒定湿热试验方法
GB/T 17626.2-2006 电磁兼容 试验和测量技术 静电放电抗扰度试验
GB/T 17626.3-2006 电磁兼容 试验和测量技术 射频电磁场辐射抗扰度试验
GB/T 17626.5-2008 电磁兼容 试验和测量技术 浪涌(冲击)抗扰度试验
GB/T 17626.8-2006 电磁兼容 试验和测量技术 工频磁场抗扰度试验。
GB/T 2423.10-2008 电工电子产品环境试验 第2部分:试验方法 试验Fc和导则:振动 (正弦)
GB/T 17626.11-2006 电磁兼容 试验和测量技术 电压暂降、短时中断和电压变化的抗扰度实验
GB 9254-2008 信息技术设备的无线电骚扰限之值和测量方法
GB/T 17626.4-2008 电磁兼容 试验和测量技术 电快速瞬变脉冲群抗扰度试验
GB/T 17626.6-2008 电磁兼容 试验和测量技术 射频电磁场感应的传导抗扰度试验。
GB/T 191-2008 包装储运图示标志
GB/T 23647-2009 自助服务终端通用规范
ISO/IEC 14443-2 识别卡 非触点集成电路卡 接近式卡 第2部分: 射频能量与信号接口
ISO/IEC 14443-3 识别卡 非触点集成电路卡 接近式卡 第3部分:初始化和防碰撞
IEC 512-2:1979 机电设备机电器件规范 第2部分:触点电阻测试、绝缘测试和电压测试
JR/T 0025-2010 中国金融集成电路(IC)卡规范 1 定义
3.1.1 居民健康卡 (Residents Health Card)
居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。
3.1.2 终端 (Terminal)
为完成居民健康卡交易而在交易点安装的设备,用于同IC卡的连接。它包括接口设备,也可包括其它部件和接口,例如与主机通讯的接口。
3.1.3 命令 (Command)
终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答。
3.1.4 响应 (Response)
IC卡处理完收到的命令报文后,返回给终端的报文。
3.1.5 集成电路卡(ICC,Integrated Circuit(s) Card)
内部封装一个或多个集成电路的ID-1型卡(如ISO 7810、ISO 7811第1至第5部分、ISO 7812和ISO 7813中描述的)。
3.1.6 居民健康卡终端 (Residents Health Card Terminal)
指居民健康卡终端如手持式居民健康卡读写机台式IC卡读写机,内置或外置(宿主机为微机)的居民健康卡通用读写器。该类产品可与计算机或网络在联机或脱机方式下对居民健康卡完成识别和各种操作。
3.1.7 居民健康卡自助服务终端(Residents Health Card Self-service Terminal)
指服务提供者提供的实施针对居民健康卡自助服务的专用设备或装置。 2 缩略语和符号表示
以下缩略语和符号表示适用于本规范。
表3-1 缩略语和符号表
缩略语 | 中文名 | 英文名 |
APDU | 应用协议数据单元 | Application Protocol Data Unit |
CLK | IC卡工作时钟 | Clock |
CPU | 中央处理器单元 | Central Processing Unit |
IC | 集成电路 | Integrated Circuit |
ICC | 集成电路卡 | Integrated Circuit Card |
IEC | 国际电工委员会 | International Electrotechnial Commission |
ISO | 国际标准化组织 | International Organization for Standardization |
GND | IC卡工作电源地 | Ground |
HID | 人机接口设备 | Human Interface Device |
IIH | 高电平输入电流 | High Level Input Current |
IIL | 低电平输入电流 | Low Level Input Current |
IOH | 高电平输出电流 | High Level Output Current |
IOL | 低电平输出电流 | Low Level Output Current |
I/O | IC卡输入/输出 | Input Output信号 |
RST | IC卡复位 | Reset信号 |
SAM | 安全存取模块 | Secure Access Module |
SW1 | 状态码1 | Status Word One |
SW2 | 状态码2 | Status Word Two |
VCC | VCC触点上测量到的电压 | Voltage Measured on VCC Contact |
VCC | IC卡电源 | Power Voltage |
VIH | 高电平输入电压 | High Level Input Voltage |
VIL | 低电平输入电压 | Low Level Input Voltage |
VOH | 高电平输出电压 | High Level Output Voltage |
VOL | 低电平输出电压 | Low Level Output Voltage |
VPP | VPP触点上测量到的编程电压 | Programming Voltage Measured on VPP Contact |
VPP | 编程电压 | Programming Voltage |
xx | 任意值 | |
PBOC2.0 | 《中国金融集成电路(IC)卡规范》(JR/T 0025-2005) |
(1) 居民健康卡读写器
(2) 居民健康卡自助服务终端 2 外观和结构
(1) 结构应完整、整洁;表面涂镀层应均匀,不应起泡、龟裂、脱落和磨损;不应有明显的凹痕、破损、划痕、变形和污染等;金属零部件不应有锈蚀及其他机械损伤。
(2) 终端的零部件连接应紧固无松动。
(3) 终端内、外部不应有临时接线。
(4) 指示灯应有明显标识。
(5) 终端应有铭牌、标牌和商标。 3 功能
4.3.1 主要功能
可以读取居民健康卡芯片内数据,终端识别卡的时间不超过1秒,同时内置SAM卡用于安全认证功能。
居民健康卡读写器需要有指示灯提示功能。
4.3.2 接触卡接口
参照《中国金融集成电路(IC)卡规范》。
4.3.3 SAM卡接口
(1) 具备至少1个外形尺寸满足GB/T14916标准要求的ID-000规格SAM卡卡座。
(2) 通讯协议符合GB/T16649.3,支持读写T=0协议的CPU卡
4.3.4 非接触卡接口
(1) 符合ISO/IEC 14443(TypeA和TypeB)标准;
(2) 具备冲撞检测功能,检测到冲撞时有提示功能;
(3) 读卡距离 0 ~ 5cm,场强范围1.5~7.5A/m; 4 通讯方式
终端通讯接口为USB接口或RS232-C接口,符合GB/T 6107-2000的通讯接口要求,可以连接计算机或其他服务器设备。经通讯接口给终端下载操作命令及接收终端返回的信息。
4.4.1 USB数据传输模式
本终端的USB通讯传输采用HID协议。HID协议约定如下:
(1) 设备描述中的iProduct域为“XXXXXXYYYYY_VerZZZZZZ_IDCardReader Device”;XXXXX厂商;YYYYY设备批次;VerZZZZZZ设备内固件版本
(2) 接口描述符中的bInterfaceSubClass域为0x00;
(3) 版本为V1.11。
(4) PID/VID厂商自定义
HID数据输入采用GetReport请求传输,HID数据输出采用SetReport请求传输。HID数据输入与输出均采用分包方式,单个包的数据长度固定为64字节,如输出报文拆分后,结束包长度不足64字节,则以0x00右填充。
HID模型示意图如图4-1所示:
图4-1 USB-HID模型示意图(略)
分支解释
(1) Data_Out数据包,主机到终端;
(2) Data_In数据包,终端到主机。
4.4.2 RS232-C数据传输模式
本终端的RS232-C通讯传输采用参数设置如下:
表2-1 RS232-C参数表
起始位 | 1位 |
数据位 | 8位 |
停止位 | 1位 |
校验位 | 无 |
波特率 | 默认为9600bps,可以设置为57600bps、38400bps、19200bps、9600bps |
4.4.3 接口函数定义
接口函数定义参考附录A 高级应用编程接口。 5 电源
(1) 居民健康卡读写器
对于计算机USB接口供电方式,在计算机工作正常时,终端应工作正常。终端应有掉电、过流、过压、短路、极性反接等保护措施。当电压恢复正常时,能自动恢复正常工作。
对于采用直流电方式供电的居民健康卡读写器:在额定电压 写器:的条件下正常工作。
(2) 居民健康卡自助服务终端
产品应在频率:50Hz频率:终,电压:220V频率:终的条件下正常工作。 6 SAM卡接口要求
终端的逻辑接口和通讯协议应符合GB/T16649.3规范中的相关内容,且终端至少提供1个SAM卡接口,主要负责卡的安全认证功能。终端必须支持T=0传输协议。
4.6.1 SAM卡接口触点分配表
表2-2 接口设备触点的分配
触电号 | 分配 | 触电号 | 分配 |
C1 | 电源电压(VCC) | C5 | 地(GND) |
C2 | 复位信号(RST) | C6 | VPP或不使用 |
C3 | 时钟信号(CLK) | C7 | 输入/输出(I/O) |
C4 | 保留(可以不使用) | C8 | 保留(可以不使用) |
4.6.2 触点压力
任何一个接口设备触点对相应的IC卡触点所施加的压力应在0.2N到0.6N之间。
4.6.3 触点电阻
在终端的整个设计寿命期间,触点电阻(在清洁的接口设备和清洁的标准SAM卡触点间测量时)应小于500mΩ。
4.6.4 CLK的电特性
频率范围在1MHz~5MHz(对A类卡操作时)或1MHz~4MHz(对B类卡操作时)之间,且在整个交易期间,其变化范围不应超过1%。时钟占空因数应在其稳定运行周期的45%~55%之间。
4.6.5 复位(RST)
终端产生一个具有表2-3所示特性的复位信号。
表2-3 RST的电特性
符号 | 条件 | 最小值 | 最大值 | 单位 |
VOH | 0 < IOH < 50μA, Vcc = 最小值 | Vcc-0.5 | Vcc | V |
VOL | -50μA < IOL < 0, Vcc = 最小值 | 0 | 0.4 | V |
tR和tF | CIN (ICC) = 30pF 最大 | - | 0.8 | μs |
正负脉冲峰值 |
| -0.25 | Vcc + 0.25 | V |
4.6.6 电源电压(VCC)
终端提供一个5V0.4V(对A类卡操作时)或3V0.2V(对B类卡操作时)的直流电压,并能稳定输出0~55mA(对A类卡操作时)或0~45mA(对B类卡操作时)的电流。终端应带有保护电路以防止在误操作(如对地或VCC短路)时所造成的损坏。误操作既可能来源于内部,也可能来自外部接口如电源干扰、通信链路故障等。 7 气候环境条件
气候环境适应性分为二级,如表2-4所示。气候环境的严酷等级、试验后的检测项目及由产品规范规定。
表2-4 气候环境条件
环境温度℃ | 相对湿度% | 大气压力kPa | ||
工作 | 贮运 | 工作 | 贮运 | |
0~+50 | -40~+60 | 20~93 | 20~93 | 86~106 |
注:产品工作条件见说明书 |
机械环境条件如表2-5到表2-8所示。经过机械环境试验后产品应保持外观及电气性能良好,符合产品的功能要求。
表2-5 振动适应性
初始和最后振动响应检查 | 定频耐久试验 | 扫频耐久试验 | ||||||
频率 | 扫频 | 驱动 | 驱动 | 持续 | 频率 | 驱动 | 扫频 | 循环 |
范围 | 速度 | 振幅 | 振幅 | 时间 | 范围 | 振幅 | 速度oct/min | 次数 |
Hz | oct/min | mm | mm | Min | Hz | mm |
|
|
5~35 | ≤1 | 0.15 | 0.15 | 10±0.5 | 5~35~5 | 0.15 | ≤1 | 2 |
注:表中驱动振幅为峰值 | ||||||||
结束后进行外观和结构检查,加电读卡应正常工作。 |
2-6 冲击适应性
峰值加速度(m/s2) | 脉冲持续时间ms | 冲击次数 | 冲击波形 |
150 | 11 | 3 | 半正弦波形或后峰锯齿波或梯形波 |
注:在三个相互垂直的轴线方向进行 | |||
结束后进行外观和结构检查,加电读卡应正常工作。 |
表2-7 碰撞适应性
峰值加速度(m/s2) | 脉冲持续时间ms | 碰撞次数 | 碰撞波形 |
50 | 16 | 1000 | 半正弦波 |
注:在三个相互垂直的轴线方向进行 | |||
结束后进行外观和结构检查,加电读卡应正常工作。 |
表2-8 运输包装件跌落适应性
包装件质量kg | 跌落高度mm |
<10 | 1000 |
>10~20 | 800 |
>20~50 | 300 |
>50~100 | 200 |
>100~300 | 100 |
>300~500 | 50 |
>500 | 25 |
终端的平均无故障工作时间(MTBF)不小于5000h。 10 安全性要求
符合GB4943-2001的有关规定。
4.10.1 接触电流和保护导体电流
终端的设计和结构应保证接触电流或保护导体电流均不可能产生电击危险。
4.10.2 抗电强度要求
终端中使用的固体绝缘应具有足够的抗电强度。
4.10.3 接地导体及其连接的电阻
终端接地导体及其连接不应有过大的电阻。 11 电磁兼容性要求
4.11.1 无线电骚扰限值
产品的无线电骚扰限值应符合GB 9254-2008中相应级别B级规定的要求。
4.11.2 抗扰度限值
产品的抗扰度限值应符合GB/T 17618-2008规定的要求。
4.11.3 谐波电流值
产品的谐波电流值应符合 GB/T 17625.1 规定的要求。 1 标志
5.1.1 产品标志
产品应有如下标志:
(1) 生产厂家的名称;
(2) 产品名称、型号和产品编号;
(3) 生产许可证号;
(4) 商标。
5.1.2 包装箱标志
包装箱标志应包含以下内容:
(1) 产品名称和型号、生产厂名称和地址;
(2) 产品执行标准编号;
(3) 产品出厂日期、出厂批号;
(4) 生产许可证号;
(5) 包装储存图示标志应符合GB/T 191-2008的规定。 2 包装
居民健康卡读写器包装箱由瓦塄纸制成。将检验合格的读写器整齐地放入小包装盒中。小包装盒装入运输包装箱后,用封箱带平整地封牢箱口。
居民健康卡自助服务终端包装应符合防潮、防尘、防震的要求。
包装箱内应有装箱清单、产品出厂合格证、及其他有关的随机资料。 3 运输
包装后的产品允许以任何一种运输工具进行运输。运输过程中严禁野蛮装卸,应避免雨雪或其他液体直接淋袭。严禁与含腐蚀性物资一起装运。运输标志应符合GB/T 191-2008的规定。 4 贮存
在不打开原包装箱的情况下,终端应贮存在环境温度-15℃~+45℃,相对湿度30%~80%的库房内。存放产品的包装箱应垫离地面至少10cm,距离热源、冷源、窗口、通气口至少50cm。
库房内不允许有各种有害气体、易燃易爆物品及有腐蚀性的化学物品,并应远离强电磁场。
贮存期一般为6个月,若在库房存放已超过6个月,则应在出厂前重新进行交收检验。
附录A
高级应用编程接口是提供给终端上的应用程序用来与接口设备进行交互操作的函数集。
注:在以下的描述中,使用C语言风格来说明高级应用编程接口中的函数。 “打开设备”函数
函数:
int ICC_Reader_Open(void);
功能:
该函数通知终端操作系统打开与接口设备所对应的终端设备端口,以便两者建立通信的逻辑关系。
参数说明:
该函数无参数。
返回值:
如果函数执行成功,则返回值为不小于0的设备句柄;否则,表示函数执行失败,其含义由操作系统确定。 “关闭设备”函数
函数:
int ICC_Reader_Close(int ReaderHandle);
功能:
该函数通知操作系统关闭所指定的设备。
参数说明:
ReaderHandle:接口设备句柄。
返回值:
如果函数执行成功,则返回值为0;否则,表示函数执行失败,其含义由操作系统确定。 “复位”函数
函数:
int ICC_Reader_Rest(int ReaderHandle, int ICC_Slot_No,char * Response,int *RespLen);
功能:
该函数要求接口设备等待一个非接触卡进场或者ICC插入并对其进行冷复位或者热复位。
参数说明:
(1) ReaderHandle:接口设备句柄;
(2) ICC_Slot_No:卡槽号,非接触卡槽:0,SAM1:1…;
(3) Response:指向存放响应数据的存储区的指针。
(4) RespLen返回值长度。
返回值:
如果函数执行成功,则返回值为0;否则,表示函数执行失败,其含义由操作系统确定。存储区中返回ICC的复位应答字节和存储区中的字节数;如果对ICC复位不成功,则存储区不返回任何数据. “卡下电”函数
函数:
int ICC_Reader_PowerOff (int ReaderHandle, int ICC_Slot_No,);
功能:
该函数要求接口设备撤消与ICC之间的电气连接。。
参数说明:
(1) ReaderHandle:接口设备句柄;
(2) ICC_Slot_No:卡槽号,非接触卡槽:0,SAM1:1…;
返回值:
如果该函数成功执行,则返回值为0;否则,返回出错代码值。 应用命令函数
函数:
int ICC_Reader_Application( int ReaderHandle,
int ICC_Slot_No,
int Length_of_Command_APDU,
char * Command_APDU,
char * Response_APDU,
int *RespLen);
功能:
该函数用于将符合GB/T16649.3 中所规定的基本和特殊功能的行业间交换用命令发送给指定的卡槽上的卡,并获取对应的响应。
参数说明:
(1) ReaderHandle:接口设备句柄;
(2) ICC_Slot_No:卡槽号,非接触卡槽:0,SAM1:1…;
(3) Length_of_Command_APDU:其值为Command_APDU所指向缓冲区中的字节数;
(4) Command_APDU:指向存放命令的缓冲区的指针;
(5) Response:指向存放响应数据的存储区的指针。
(6) RespLen返回值长度。
返回值:
如果函数执行成功,则返回值为0;否则,表示函数执行失败,其含义由操作系统确定。 函数返回值
表A-1定义了高级应用编程接口函数的返回值。
表A-1 高级编程接口函数的返回值
应用编程的标识符 | 返回值 | 含义 |
IFD_OK | 0 | 正常 |
IFD_ICC_Type_Error | -1 | 卡片类型不对 |
IFD_NO_ICC | -2 | 无卡 |
IFD_ICC_Clash | -3 | 多卡片冲突 |
ICC_NO_Response | -4 | 卡片无应答 |
IFD_Error | -5 | 接口设备故障 |
IFD_Bad_Command | -6 | 不支持该命令 |
IFD_Length_Error | -7 | 命令长度错误 |
IFD_Parameter_Error | -8 | 命令参数错误 |
IFD_CheckSum_Error | -9 | 信息校验和出错 |
附件11:
(中华人民共和国卫生部 2011年11月)
1 适用范围
2 规范性引用文件
3 术语
3.1 居民健康卡(Residents Health Card)
3.2 芯片 Chip
3.3 卡片操作系统(COS) Card Operating System
3.4 终端设备 Terminal
4 检测环境
5 检测内容
5.1 单项检测
5.2 综合检测
6 检测方法:
6.1 工作温度上、下限
6.2 表面印刷符合性测试
6.3 随机数随机特性
6.4 居民健康卡用户卡COS检测
6.5 设备检测 本规范主要规定居民健康卡用户卡及终端产品检测规范,包括居民健康卡用户卡芯片、COS、卡封装及读写终端设备相关技术指标的检测。
本规范适用于居民健康卡用户卡及终端应用相关的设计、制造、管理、发行以及应用系统的研制、开发、集成和检测等单位和部门。 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB 4943 信息技术设备的安全
GB 9254 信息技术设备的无线电骚扰限值和测量方法
GB/T 14916 识别卡 物理特性
GB/T 18239-2000 集成电路(IC)卡读写机通用规范
GB/T 17554.1 识别卡测试方法第1部分:一般特性测试
GB/T 2423.1 电工电子产品环境试验第2部分试验方法试验A低温
GB/T 2423.2 电工电子产品环境试验第2部分试验方法试验B高温
GB/T 2423.3 电工电子产品环境试验第2部分:试验方法试验Cab:恒定湿热方法
GB/T 2423.5 电工电子产品环境试验第2部分试验方法试验Ea和导则冲击
GB/T 2423.10 电工电子产品环境试验第2部分试验方法试验 Fc:振动(正弦)
GB/T 4857.2 包装运输包装件基本试验第2部分温湿度调节处理
GB/T 4857.5 包装运输包装件跌落试验方法
GB/T 17626.2-2006 电磁兼容试验和测量技术静电放电抗扰度试验
GB/T 17626.3-2006 电磁兼容试验和测量技术射频电磁场辐射抗扰度试验
GB/T 17626.4-2008 电磁兼容试验和测量技术电快速瞬变脉冲群抗扰度试验
GB/T 17626.5-2008 电磁兼容试验和测量技术冲击(浪涌)抗扰度试验。
GB/T 17626.6-2008 电磁兼容试验和测量技术射频电磁场感应的传导抗扰度试验
GB/T 17626.8-2006 电磁兼容试验和测量技术工频磁场抗扰度试验
GB/T 17626.11-2008 电磁兼容试验和测量技术电压暂降、短时中断和电压变化抗扰度试验
GB/T 17625.1-1998 低压电气及电子设备发出的谐波电流限值(设备每相输入电容≤16A)
ISO/IEC14443-1 识别卡无触点集成电路卡第一部分物理特性
ISO/IEC14443-2 识别卡无触点集成电路卡第二部分耦合区域的尺寸和位置
ISO/IEC14443-3 识别卡 无触点集成电路卡 第三部分电信号和复位规程
ISO/IEC DIS 14443-4 识别卡 无触点集成电路卡第四部分 传输协议
卫生部《居民健康卡技术规范》及修订说明
卫生部《居民健康卡应用规范》
卫生部《居民健康卡用户卡命令集》
卫生部《居民健康卡终端技术规范》
NIST SPECIAL PUBLICATION 800-22 1 居民健康卡(Residents Health Card)
居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。
居民健康卡居民分为居民健康卡用户卡和居民健康卡安全存取模块(SAM)卡两种类型。本规范中,除非特殊说明,居民健康卡为居民健康卡用户卡。 2 芯片(Chip)
内含微集成电路的硅片,能够装载卡片操作系统并能存储相应信息。 3 卡片操作系统(COS, Card Operating System)
CPU卡芯片中存储和运行的,以保护应用数据和程序的机密性和完整性,控制CPU卡芯片与外界信息交换为目的的嵌入式软件。 4 终端设备(Terminal)
为处理居民健康卡业务而在服务网点安装的IC卡操作设备。 除非另有规定,物理、电学、逻辑特性测试应该在温度为23°C±3°C和相对湿度40%~60%的环境下进行。
除非另有规定,测试前应将待测样品在测试环境中放置24小时。 1 单项检测
居民健康卡用户卡是由芯片、COS和卡片封装而成,因此对每个单项均有针对性的检测要求:。表1分别描述了相关检测内容及要求。
表1 单项检测项目列表
产品分类 | 检测项目 | 检测依据及要求 | 本规范 序号 | |||
芯片 (非接触式) | 抗静电 | ISO/IEC 14443-1,GB/T 17554.1 | ||||
紫外线 | ISO/IEC 14443-1,GB/T 17554.1 | |||||
X射线 | ISO/IEC 14443-1,GB/T 17554.1 | |||||
交变磁场检测 | ISO/IEC 14443-1,ISO/IEC 10373-6 | |||||
初始化和防冲突检测 | ISO/IEC 14443-3,ISO/IEC 10373-6 | |||||
卡加电次数 | 应支持10万次 | |||||
存储器读写次数 | 应支持10万次 |
| ||||
随机数随机特性 | 应符合NIST SPECIALPUBLICATION 800-22 | 6.3 | ||||
射频功率和信号接口 | ISO/IEC 14443-2,ISO/IEC 10373-6 |
| ||||
工作 温度 | 上限 | GB/T 16649.1,GB/T 2423.2 | 6.1 | |||
下限 | GB/T 16649.1,GB/T 2423.2 | 6.1 | ||||
COS | 《居民健康卡技术规范》、《居民健康卡用户卡命令集》、 《居民健康卡应用规范》 | 6.4 | ||||
卡片 | 卡尺寸 | 《居民健康卡技术规范修订说明》,GB/T17554.1 | ||||
特定温、湿度条件下卡尺寸的稳定性和翘曲 | GB/T 14916,GB/T17554.1 | |||||
弯曲韧性 | GB/T 14916,GB/T17554.1 | |||||
动态弯曲应力 | ISO/IEC 14443-1,GB/T17554.1 | |||||
动态扭曲应力 | ISO/IEC 14443-1,GB/T17554.1 | |||||
剥离强度 | GB/T 14916,GB/T17554.1 | |||||
卡的粘连或并块检测 | GB/T 14916,GB/T17554.1 |
产品分类 | 检测项目 | 检测依据及要求 | 本规范 序号 | |
卡片 | 表面印刷符合性测试 | 印刷图案与文字位置 | 印刷图案及文字的位置应符合《居民健康卡技术规范修订说明》中要求;其中条码和磁条应能被正确识读。 | 6.2 |
印刷色差 | 测试样卡与标准样卡的色差ΔE≤5.00 | |||
印刷牢度 | 经200圈磨损试验后,对卡的图象、颜色、字符进行目测,应无明显变化。 | |||
备注除非本规范另有规定,所列检验项目均需符合相关国家、国际或行业标准。 |
5.2.1 居民健康卡用户卡
居民健康卡用户卡检测项目及要求如表2所示
表 2 居民健康卡用户卡检测项目列表
序号 | 检测项目 | 检测依据及要求 | 本规范 序号 | ||
1. | 卡尺寸 | 《居民健康卡技术规范修订说明》,GB/T17554.1 | |||
2. | 特定温、湿度条件下卡尺寸的稳定性和翘曲 | GB/T 14916, GB/T17554.1 | |||
3. | 弯曲韧性 | GB/T 14916, GB/T17554.1 | |||
4. | 动态弯曲应力 | ISO/IEC 14443-1,GB/T17554.1 | |||
5. | 动态扭曲应力 | ISO/IEC 14443-1,GB/T17554.1 | |||
6. | 抗静电 | ISO/IEC 14443-1,GB/T 17554.1 | |||
7. | 紫外线 | ISO/IEC 14443-1,GB/T 17554.1 | |||
8. | X射线 | ISO/IEC 14443-1,GB/T 17554.1 | |||
9. | 剥离强度 | GB/T 14916,GB/T17554.1 | |||
10. | 卡的粘连或并块检测 | GB/T 14916,GB/T17554.1 | |||
11. | 交变磁场检测 | ISO/IEC 14443-1,ISO/IEC 10373-6 | |||
12. | 初始化和防冲突检测 | ISO/IEC 14443-3,ISO/IEC 10373-6 | |||
13. | 工作 温度 | 上限 | GB/T 16649.1,GB/T 2423.2 | 6.1 | |
14. | 下限 | GB/T 16649.1,GB/T 2423.2 | 6.1 | ||
15. | 卡加电次数 | 应支持10万次 |
| ||
16. | 存储器读写次数 | 应支持10万次 |
| ||
17. | 随机数随机特性 | 应符合NIST SPECIAL PUBLICATION 800-22:2001 | 6.3 | ||
18. | 射频功率和信号接口 | ISO/IEC 14443-2, ISO/IEC 10373-6 | |||
19. | 居民健康卡COS | 《居民健康卡技术规范》 《居民健康卡用户卡命令集》 《居民健康卡应用规范》 | 6.4 | ||
20. | 表面印刷符合性测试 | 印刷图案与文字位置 | 印刷图案及文字的位置应符合《居民健康卡技术规范修订说明》中要求,其中条码和磁条应能被正确识读。 | 6.2 | |
21. | 印刷色差 | 测试样卡与标准样卡的色差ΔE≤5.00 | |||
22. | 印刷牢度 | 经200圈磨损试验后,对卡的图象、颜色、字符进行目测,应无明显变化。 | |||
备注除非本规范另有规定,所列检验项目均需符合相关国家、国际或行业标准。 |
5.2.2 居民健康卡读写设备
居民健康读写设备检测项目及要求如表3所示。
表3 居民健康卡读写设备检测项目列表
序号 | 检测项目 | 检测依据及要求 | 本规范 序号 | |
1. | 外观与结构检测 | 《居民健康卡终端技术规范》 | 6.5.1 | |
2. | 基本物理配置 | 《居民健康卡终端技术规范》 | 6.5.2 | |
3. | 功能 | 读取功能 | 《居民健康卡终端技术规范》 | 6.5.3 |
4. | 通信功能 | 《居民健康卡终端技术规范》 | 6.5.3 | |
5. | 射频功率和信号接口 | 工作频率 | ISO/IEC 14443-2, ISO/IEC 10373-6 |
|
6. | 工作场强 | ISO/IEC 14443-2, ISO/IEC 10373-6 |
| |
7. | 调制波形 | ISO/IEC 14443-2, ISO/IEC 10373-6 |
| |
8. | 通信速率 | ISO/IEC 14443-2, ISO/IEC 10373-6 |
| |
9. | 机具对卡的传输功率 | ISO/IEC 14443-2, ISO/IEC 10373-6 |
| |
10. | 与SAM卡通信协议检测 | GB/T 16649.3, GB/T 17554.3 |
| |
11. | 气候环境适应性试验 | 工作温度下限试验 | GB/T18239 |
|
12. | 贮运温度下限试验 |
| ||
13. | 工作温度上限试验 |
| ||
14. | 贮运温度上限试验 |
| ||
15. | 工作条件下恒定湿热试验 |
| ||
16. | 贮运条件下恒定湿热试验 |
| ||
17. | 机械环境适应性试验 | 振动试验 | GB/T18239 |
|
18. | 冲击试验 | GB/T18239 |
| |
19. | 碰撞试验 | GB/T18239 |
| |
20. | 包装跌落 | GB/T18239 |
| |
21. | 电磁兼 容性 | 辐射骚扰 | GB/T18239 |
|
22. | 传导骚扰 | GB/T18239 |
| |
23. | 静电放电抗扰度 | GB/T18239 |
| |
24. | 电快速瞬变脉冲群抗扰度 | GB/T18239 |
| |
25. | 浪涌(冲击)抗扰度 | GB/T18239 |
| |
26. | 射频场感应的传导骚扰抗扰度 | GB/T18239 |
| |
27. | 工频磁场抗扰度 | GB/T18239 |
| |
28. | 电压暂降、短时中断和电压变化抗扰度 | GB/T18239 |
| |
29. | 射频电磁场辐射抗扰度 | GB/T18239 |
| |
30. | 谐波电流值 | GB/T17625.1 |
| |
31. | 安全性 | 接触电流和保护导体电流 | GB/T4943 |
|
32. | 抗电强度 | GB/T4943 |
| |
33. | 接地导体及其连接的电阻措施 | GB/T4943 |
| |
34. | 可靠性(MTBF) | 《居民健康卡终端技术规范》 | 6.5.4 | |
备注除非本规范另有规定,所列检验项目均需符合相关国家、国际或行业标准。 |
6.1.1 检测目的:
验证IC卡的工作温度符合标准要求。
6.1.2 检测要求:
在0℃~50℃条件下,卡应正常工作不变形,外观无明显变化。
6.1.3 检测方法:
(一)工作温度上限测试应按照GB/T 2423.2中的“试验Bd”或“试验Bb”进行,试验时间2小时;
(二)工作温度下限测试应按照GB/T 2423.1中的“试验Ad”或“试验Ab”进行,试验时间2小时; 2 表面印刷符合性测试
6.2.1 检测目的:
验证IC卡的印刷图案与文字位置、印刷色差、印刷牢度符合要求。
6.2.2 检测要求:
(一)印刷图案及文字的位置应符合《居民健康卡技术规范修订说明》要求;
(二)条码和磁条应能被正确识读;
(三)测试样卡与标准样卡的色差ΔE≤5.00;
(四)耐磨测试200个周期后,对卡的图象、颜色、字符进行目测,应无明显变化。
6.2.3 检测方法:
使用相关测试仪器进行测试。 3 随机数随机特性
6.3.1 检测目的:
验证居民健康卡SAM卡及居民健康卡随机数发生器生成的随机数的随机性符合相关安全要求。
6.3.2 检测要求:
随机数的随机性应符合NIST SPECIAL PUBLICATION 800-22 的频率测试、块内频率测试、游程测试、块内最长游程测试、二进制矩阵测试、离散付利叶变换测试、非重叠模板匹配测试、重叠模板匹配测试、MAURER'S 普通统计测试、线性复杂性测试、连续测试、近似熵测试、累积和测试、随机漂移测试、随机漂移变异测试等15项要求。
6.3.3 检测方法:
对IC卡产生的随机数进行分析。 4 居民健康卡用户卡COS检测
为保障居民健康卡功能的正确性及其使用的安全性,居民健康卡COS功能应符合《居民健康卡技术规范》、《居民健康卡用户卡命令集》及《居民健康卡应用规范》的要求,其载体应为已通过卫生部备案的芯片。
居民健康卡文件结构见《居民健康卡技术规范》。
6.4.1 应用功能测试
6.4.1.1 读卡识别数据区信息
检测目的:
验证居民健康卡能够完成卡片基本数据区(MF\DDF1\EF05、MF\DDF1\EF06和MF\DDF1\EF07)的信息读取。
检测要求:
应符合《居民健康卡应用规范》中6.1.1中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.1.1中的流程描述,进行卡片基本数据区(MF\DDF1\EF05、MF\DDF1\EF06和MF\DDF1\EF07)的数据读取。
6.4.1.2 写卡识别数据区信息
检测目的:
验证居民健康卡能够完成卡片基本数据区(MF\DDF1\EF05、MF\DDF1\EF06和MF\DDF1\EF07)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.1.2中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.1.2中的流程描述,进行卡片基本数据区(MF\DDF1\EF05、MF\DDF1\EF06和MF\DDF1\EF07)的数据更新。
6.4.1.3 读卡身份识别数据区信息(读 DF01应用数据)
检测目的:
验证居民健康卡能够完成身份识别数据区(MF\DDF1\DF01\EF05、MF\DDF1\DF01\EF06、MF\DDF1\DF01\EF07和MF\DDF1\DF01\EF08)的信息读取。
检测要求:
应符合《居民健康卡应用规范》中6.2.1中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.2.1中的流程描述,进行身份识别数据区(MF\DDF1\DF01\EF05、MF\DDF1\DF01\EF06、MF\DDF1\DF01\EF07和MF\DDF1\DF01\EF08)的数据读取。
6.4.1.4 写卡身份识别数据区信息(写 DF01应用数据)
检测目的:
验证居民健康卡能够完成身份识别数据区(MF\DDF1\DF01\EF05、MF\DDF1\DF01\EF06、MF\DDF1\DF01\EF07和MF\DDF1\DF01\EF08)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.2.2中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.2.2中的流程描述,进行身份识别数据区(MF\DDF1\DF01\EF05、MF\DDF1\DF01\EF06、MF\DDF1\DF01\EF07和MF\DDF1\DF01\EF08)的数据更新。
6.4.1.5 读卡基础健康信息数据区信息(读DF02应用数据)
检测目的:
验证居民健康卡能够完成基础健康信息数据区(MF\DDF1\DF02\EF05、MF\DDF1\DF02\EF06、MF\DDF1\DF02\EF07和MF\DDF1\DF02\EF08)的信息读取。
检测要求:
应符合《居民健康卡应用规范》中6.3.1中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.3.1中的流程描述,进行基础健康信息数据区(MF\DDF1\DF02\EF05、MF\DDF1\DF02\EF06、MF\DDF1\DF02\EF07和MF\DDF1\DF02\EF08)的数据读取。
6.4.1.6 写卡基础健康信息数据区信息(写DF02应用数据)
检测目的:
验证居民健康卡能够完成基础健康信息数据区(MF\DDF1\DF02\EF05、MF\DDF1\DF02\EF06、MF\DDF1\DF02\EF07和MF\DDF1\DF02\EF08)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.3.2中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.3.2中的流程描述,进行基础健康信息数据区(MF\DDF1\DF02\EF05、MF\DDF1\DF02\EF06、MF\DDF1\DF02\EF07和MF\DDF1\DF02\EF08)的数据更新。
6.4.1.7 写卡住院信息(读、写DF03应用数据)
检测目的:
验证居民健康卡能够完成住院信息的写入,即管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EE01~EE05)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.4.1中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.4.1中的流程描述,进行管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EE01~EE05)的数据更新。
6.4.1.8 写卡门诊信息(读、写DF03应用数据)
检测目的:
验证居民健康卡能够完成门诊信息的写入,即管理数据区(MF\DDF1\DF03\EF06和MF\DDF1\DF03\ED01~ED05)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.4.2中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.4.2中的流程描述,进行管理数据区(MF\DDF1\DF03\EF06和MF\DDF1\DF03\ED01~ED05)的数据更新。
6.4.1.9 住院费用提取及报销(读、写DF03应用数据)
检测目的:
验证居民健康卡能够完成住院报销,即管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EE01~EE05)的信息读取和更新。
检测要求:
应符合《居民健康卡应用规范》中6.4.3中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.4.3中的流程描述,进行管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EE01~EE05)的数据读取和更新。
6.4.1.10 门诊费用提取及报销(读、写DF03应用数据)
检测目的:
验证居民健康卡能够完成门诊费用报销流程,即管理数据区(MF\DDF1\DF03\EF06和MF\DDF1\DF03\ED01~ED05)的信息更新。
检测要求:
应符合《居民健康卡应用规范》中6.4.4中相关要求。
检测方法:
按照《居民健康卡应用规范》中6.4.4中的流程描述,进行管理数据区(MF\DDF1\DF03\EF06和MF\DDF1\DF03\ED01~ED05)的数据更新。
6.4.2 命令功能测试
6.4.2.1 APPLICATION BLOCK命令
检测目的:
验证APPLICATION BLOCK命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.1相关要求。
检测方法:
(一)未进行外部认证,进行应用锁定操作,卡片应返还状态码 ‘6982’;
(二)未取随机数,进行应用锁定操作,卡片应返还状态码 ‘6984’;
(三)无MAC,进行应用锁定操作,卡片应返还状态码 ‘6700’或‘6987’;
(四)MAC数据错误,进行应用锁定操作,卡片应返还状态码 ‘6988’;
(五)按照《居民健康卡应用规范》相关应用描述,正确进行应用临时锁定操作,应用应被锁定;
(六)选择临时锁定的应用,卡片应返还状态码 ‘6283’(选择文件无效),同时返回FCI;
(七)对临时锁定的应用,进行应用临时锁定操作,卡片应返还状态码 ‘6985’;
(八)选择被锁定的应用,应禁止对应用下的文件进行访问。
(九)选择被锁定的应用,除取随机数、内部认证、外部认证、应用永久锁定、卡片锁定、应用解锁外,其他命令都不能执行。
(十)对临时锁定的应用,进行应用永久锁定操作,卡片应返还状态码 ‘9000’。
(十一)应用被永久锁定后,除卡片锁定命令外,对应用进行的任何操作,应返回错误状态码‘9303’。
6.4.2.2 APPLICATION UNBLOCK命令
检测目的:
验证APPLICATION UNBLOCK命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.2中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对临时锁定的应用进行应用解锁操作,应用应被解锁;
(二)选择被解锁后的应用,卡片应返还状态码 ‘9000’(选择文件有效),同时返回FCI;
(三)在应用被解锁后,对应用下的数据进行读写操作应成功;
(四)对永久锁定的应用进行应用解锁操作,卡片应返还状态码 ‘9303’;
(五)对未锁定的应用,进行应用解锁操作,卡片应返还状态码 ‘6985’;
(六)未进行外部认证,进行应用解锁操作,卡片应返还状态码 ‘6982’;
(七)未取随机数,进行应用解锁操作,卡片应返还状态码 ‘6984’;
(八)无MAC,进行应用解锁操作,卡片应返还状态码 ‘6700’或‘6987’;
(九)MAC数据错误,进行应用解锁操作,卡片应返还状态码 ‘6988’。
6.4.2.3 CARD BLOCK命令
检测目的:
验证CARD BLOCK命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.3中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对卡片进行锁定操作,卡片应被锁定;
(二)卡片锁定后,卡片内所有应用失效,所有命令都不能执行,卡片返回状态码 ‘6A81’;
(三)未进行外部认证,进行卡片锁定操作,卡片应返还状态码 ‘6982’;
(四)未取随机数,进行卡片锁定操作,卡片应返还状态码 ‘6984’;
(五)无MAC,进行卡片锁定操作,卡片应返还状态码 ‘6700’或‘6987’;
(六)MAC数据错误,进行卡片锁定操作,卡片应返还状态码 ‘6988’。
6.4.2.4 EXTERNAL AUTHENTICATION命令
检测目的:
验证EXTERNAL AUTHENTICATION命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.4中相关要求。
检测方法:
(一) 按照《居民健康卡应用规范》相关描述,进行外部认证操作,应成功;
(二) 未取随机数,进行外部认证操作,卡片应返还状态码 ‘6984’;
(三) Lc不为‘11’,进行外部认证操作,卡片应返还状态码 ‘6700’;
(四) 使用错误密钥标识,进行外部认证操作,卡片应返还状态码 ‘6A88’;
(五) 鉴别数据错误,进行外部认证操作,卡片应返还状态码 ‘63Cx’;
(六) 16次外部认证失败,卡片应返还状态码 ‘6983’;
(七) 应支持密钥版本数据。
6.4.2.5 GET CHALLENGE命令
检测目的:
验证GET CHALLENGE命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.5中相关要求。
检测方法:
(一) 卡片应支持8字节随机数获取;
(二) Le为‘00’,发送取随机数命令,卡片应返还状态码 ‘6700’;
(三) Le为‘04’,发送取随机数命令,卡片应返还状态码 ‘6700’;
6.4.2.6 INTERNAL AUTHENTICATION命令
检测目的:
验证INTERNAL AUTHENTICATION命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.6中相关要求。
检测方法:
(一) 按照《居民健康卡应用规范》相关描述,进行内部认证操作,应成功;
(二) Lc不为为‘11’,进行外部认证操作,卡片应返还状态码 ‘6700’;
(三) 应支持密钥版本数据。
6.4.2.7 READ BINARY命令
检测目的:
验证READ BINARY命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.7中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对MF\DDF1\DF03\EE01~EE05和MF\DDF1\DF03\ED01~ED05进行逐字节读取,应成功;
(二)按照《居民健康卡应用规范》相关应用描述,对MF\DDF1\DF03\EE01~EE05和MF\DDF1\DF03\ED01~ED05进行最大返回字节读取,应成功;
(三)未进行外部认证,对文件进行读取,卡片应返还状态码 ‘6982’;
(四)未选择文件,发送此命令,卡片应返还状态码 ‘6986’;
(五)读取超出偏移地址的数据,卡片应返还状态码 ‘6B00’;
(六)Le =‘00’,读出自要读的首字节起的256个字节;如果在读出256个字节前已到达文件最后一个字节,则自要读的首字节起的全部字节将被读出。
(七)Le不正确时,卡片应返还状态码 ‘6Cxx’, ‘xx’为实际长度;
(八)读取记录文件,卡片应返还状态码 ‘6981’。
6.4.2.8 READ RECORD命令
检测目的:
验证READ RECORD命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.7中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对所有记录文件使用记录号进行读取,应成功;
(二)按照《居民健康卡应用规范》相关应用描述,对变长记录文件使用记录标识符进行读取,应成功;
(三)对定长记录文件使用记录标识符进行读取,卡片应返还状态码 ‘6985’;
(四)未进行外部认证,对文件进行读取,卡片应返还状态码 ‘6982’;
(五)未选择文件,对文件进行读取,卡片应返还状态码 ‘6986’;
(六)Le不等于记录长度、也不等于‘00’时,卡片应返还状态码 ‘6700’;
(七)Le等于记录长度或等于‘00’时,卡片应返还全部数据及状态码;
(八)读取二进制文件,卡片应返还状态码 ‘6981’。
6.4.2.9 SELECT命令
检测目的:
验证SELECT命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.9中相关要求。
检测方法:
(一)通过文件标识符选择卡中所有文件,卡片应返还状态码 ‘9000’;
(二)通过文件名或AID选择卡中居民健康卡应用环境(DDF1)和其下DF文件,卡片应返还状态码 ‘9000’;
(三)选择DDF或DF文件,卡片应返还FCI信息,且格式正确;
(四)数据域为空时,卡片应选择MF文件;
(五)卡片应支持部分文件名选择;
(六)Lc与P1、P 2不一致时,卡片应返还状态码 ‘6700’;
(七)当所选文件标识符或文件名或AID不存在时,卡片应返还状态码 ‘6A82’。
6.4.2.10 UPDATE BINARY命令
检测目的:
验证UPDATE BINARY命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.10中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对MF\DDF1\DF03\EE01~EE05和MF\DDF1\DF03\ED01~ED05进行逐字节更新,应成功;
(二)未进行外部认证,对文件进行更新,卡片应返还状态码 ‘6982’;
(三)未选择文件,发送此命令,,卡片应返还状态码 ‘6986’;
(四)偏移地址超出了EF,,卡片应返还状态码 ‘6B00’;
(五)Lc为空时,卡片应返还状态码 ‘6700’;
(六)更新记录文件,卡片应返还状态码 ‘6981’;
(七)MAC错误,卡片应返还状态码 ‘6988’;
(八)MAC错误5次,卡片应临时锁定当前应用。
(九)应用临时锁定后,该应用下所有文件无效。
6.4.2.11 UPDATE RECORD命令
检测目的:
验证UPDATE RECORD命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.11中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对定长记录或变长记录文件使用记录号进行更新,应成功;
(二)按照《居民健康卡应用规范》相关应用描述,对循环记录文件使用“上一个记录”进行更新,应成功;
(三)对循环记录文件使用指定记录号方式进行更新,卡片应返还状态码 ‘6985’;
(四)对定长记录或变长记录文件使用“上一个记录”更新,卡片应返还状态码 ‘6985’;
(五)更新定长记录或变长记录文件时,记录号错误,卡片应返还状态码 ‘6A83’或‘6A84’;
(六)更新变长记录文件时,记录标识符不正确,卡片应返还状态码 ‘6A85’;
(七)更新变长记录文件时,记录内容不正确时,卡片应返还状态码 ‘6A85’;
(八)未进行外部认证,对文件进行更新,卡片应返还状态码 ‘6982’;
(九)未选择文件,对文件进行更新,卡片应返还状态码 ‘6986’;
(十)Lc为空时,卡片应返还状态码 ‘6700’;
(十一)更新二进制文件,卡片应返还状态码 ‘6981’;
(十二)MAC错误,卡片应返还状态码 ‘6988’;
(十三)MAC错误5次,卡片应临时锁定该应用;
(十四)应用临时锁定后,该应用下所有文件无效。
6.4.2.12 WRITE RECORD命令
检测目的:
验证WRITE RECORD命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》5.5.2中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EF06)使用记录号进行写“00”,应成功;
(二)对其他定长记录文件、循环记录文件使用指定记录号方式进行更新,卡片应返还状态码 ‘6985’;
(三)WRITE RECORD命令操作时,记录号错误,卡片应返还状态码 ‘6A83’;
(四)未进行外部认证,对文件进行写记录操作,卡片应返还状态码 ‘6982’;
(五)未选择文件,对文件进行写记录操作,卡片应返还状态码 ‘6986’;
(六)Lc等于‘00’或不正确时,卡片应返还状态码 ‘6700’;
(七)写二进制文件,卡片应返还状态码 ‘6981’;
(八)MAC错误,卡片应返还状态码 ‘6988’;
(九)MAC错误5次,卡片应临时锁定该应用;
(十)应用临时锁定后,该应用下所有文件无效。
6.4.2.13 ERASE RECORD命令
检测目的:
验证ERASE RECORD命令功能正确。
检测要求:
应符合《居民健康卡用户卡命令集》4.5.2中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,对管理数据区(MF\DDF1\DF03\EF05和MF\DDF1\DF03\EF05)使用记录号进行擦除“FF”,应成功;
(二)对其他定长记录文件、循环记录文件使用指定记录号方式进行擦除操作,卡片应返还状态码 ‘6985’;
(三)ERASE RECORD命令操作时,记录号错误,卡片应返还状态码 ‘6A83’;
(四)未进行外部认证,对文件进行擦除记录操作,卡片应返还状态码 ‘6982’;
(五)未选择文件,对文件进行擦除记录操作,卡片应返还状态码 ‘6986’;
(六)Lc等于‘00’或不正确时,卡片应返还状态码 ‘6700’;
(七)写二进制文件,卡片应返还状态码 ‘6981’;
(八)MAC错误,卡片应返还状态码 ‘6988’;
(九)MAC错误超限,卡片应临时锁定该应用;
(十)应用临时锁定后,该应用下所有文件无效。
6.4.3 安全机制及状态机
6.4.3.1 内部认证
检测目的:
验证内部认证执行的条件及对卡片安全状态的影响。
检测要求:
(一) 应符合《居民健康卡用户卡命令集》5.3.6中相关要求;
(二) 应符合《居民健康卡应用规范》相关要求。
检测方法:
(一) 内部认证操作,应可以在任何路径下操作;
(二) 不管内部认证操作成功与否,不改变卡片所处的路径;
(三) 不管内部认证操作成功与否,不应影响卡片所处的安全状态;
6.4.3.2 外部认证
检测目的:
验证外部认证所实现的安全状态。
检测要求:
(一) 应符合《居民健康卡用户卡命令集》5.3.4中相关要求;
(二) 应符合《居民健康卡应用规范》相关要求。
检测方法:
(一)外部认证成功,卡片安全状态改变;
(二)外部认证不成功,卡片安全状态不应该改变;
(三)引用全局参考参数进行的外部认证,应能在任何目录下进行;
(四)引用专有参考参数进行的外部认证,仅能在专有参数所在的DF下进行;
(五)未进行选择其他DF或卡片复位操作,外部认证获得的安全状态应一直保持;
(六)如果进行了选择其他DF或卡片复位操作,外部认证获得的安全状态应失去;
(七)用于某一特定功能的密钥不能用作其他用途;
6.4.3.3 文件保护权限
检测目的:
验证外部认证所实现的文件保护状态。
检测要求:
(一) 应符合《居民健康卡用户卡命令集》5.3.4中相关要求;
(二) 应符合《居民健康卡应用规范》相关要求。
检测方法:
(一)外部认证成功,受其保护的文件应该能够读取或更新;
(二)外部认证成功,仅有受其保护的文件应该能够读取或更新,其他文件不能无权限读取或更新;
6.4.3.4 应用维护安全
检测目的:
验证应用维护操作的状态。
检测要求:
(一) 应符合《居民健康卡用户卡命令集》中相关要求;
(二) 应符合《居民健康卡应用规范》相关要求。
检测方法:
(一) 应用锁定操作不应影响其他应用;
(二) 应用解锁操作不应影响其他应用。
6.4.4 命令参数测试
6.4.4.1 APPLICATION BLOCK命令
检测目的:
验证APPLICATION BLOCK命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.1中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行应用锁定操作,CLA为‘00’~ ‘83’、 ‘85’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行应用锁定操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行应用锁定操作,P2不等于‘00’和‘01’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行应用锁定操作,lc不等于‘04’,卡片应返还状态码 ‘6700’。
6.4.4.2 APPLICATION UNBLOCK命令
检测目的:
验证APPLICATION UNBLOCK命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.2中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行应用解锁操作,CLA为‘00’~ ‘83’、 ‘85’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行应用解锁操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行应用解锁操作,P2不等于‘00’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行应用解锁操作,lc不等于‘04’,卡片应返还状态码 ‘6700’。
6.4.4.3 CARD BLOCK命令
检测目的:
验证CARD BLOCK命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.3中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行卡片锁定操作,CLA为‘00’~ ‘83’、 ‘85’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行卡片锁定操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行卡片锁定操作,P2不等于‘00’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行卡片锁定操作,lc不等于‘04’,卡片应返还状态码 ‘6700’。
6.4.4.4 EXTERNAL AUTHENTICATION命令
检测目的:
验证EXTERNAL AUTHENTICATION命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.4中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行外部认证操作,CLA为‘01’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行外部认证操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行外部认证操作,P2的bit7、bit6、bit5任何一个等于1 时,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行外部认证操作,lc不等于‘11’,卡片应返还状态码 ‘6700’。
6.4.4.5 GET CHALLENGE命令
检测目的:
验证GET CHALLENGE命令CLA、P1、P2、Le错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.5中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行取随机数操作,CLA为‘01’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行取随机数操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行取随机数操作,P2不等于‘00’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行取随机数操作,le不等于‘08’,卡片应返还状态码 ‘6700’。
6.4.4.6 INTERNAL AUTHENTICATION命令
检测目的:
验证INTERNAL AUTHENTICATION命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.6中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行内部认证操作,CLA为‘01’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行内部认证操作,P1不等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行内部认证操作,P2不等于‘00’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行内部认证操作,lc不等于‘11’,卡片应返还状态码 ‘6700’。
6.4.4.7 READ BINARY命令
检测目的:
验证READ BINARY命令CLA、P1错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.7中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行读二进制操作,CLA为‘01’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行读二进制操作,P1的bit8等于‘1’,卡片应返还状态码 ‘6A86’。
6.4.4.8 READ RECORD命令
检测目的:
验证READ RECORD命令CLA、P1、P2错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.8中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行读记录操作,CLA为‘01’~ ‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行读记录操作,P1等于‘00’或‘FF’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行读记录操作,P2不等于‘00’或‘04’,卡片应返还状态码 ‘6A86’。
6.4.4.9 SELECT命令
检测目的:
验证SELECT命令CLA、P1、P2、Lc错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.9中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行选择文件操作,CLA为‘01’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行选择文件操作,P1不等于‘00’、‘02’ 、‘04’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行选择文件操作,P2不等于‘00’ 、‘02’ ,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行选择文件操作,当P1=‘00’ 或‘02’时, lc不等于‘00’或‘02’,卡片应返还状态码 ‘6700’;当P1= ‘04’时, lc小于‘05’或大于‘10’,卡片应返还状态码 ‘6700’。
6.4.4.10 UPDATE BINARY命令
检测目的:
验证UPDATE BINARY命令CLA、P1错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.10中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行更新二进制操作,CLA为‘01’~ ‘03’或‘05’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行更新二进制操作,P1的bit8等于1,卡片应返还状态码 ‘6A86’。
6.4.4.11 UPDATE RECORD命令
检测目的:
验证UPDATE RECORD命令CLA、P2错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.3.11中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行更新记录操作,CLA为‘01’~ ‘03’或‘05’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行更新记录操作,当P2等于‘03’,P1不等于‘00’,卡片应返还状态码 ‘6A86’;当P2等于‘04’,P1等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行更新记录操作,P2不等于‘03’ 、‘04’ ,卡片应返还状态码 ‘6A86’。
6.4.4.12 WRITE RECORD命令
检测目的:
验证WRITE RECORD命令CLA、P1、LC错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.5.2中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行写记录操作,CLA为‘01’~ ‘83’或‘85’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行写记录操作,当P1等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行写记录操作,当P2不等于‘04’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行写记录操作,LC不等于 ‘04’ ,卡片应返还状态码 ‘6700’。
6.4.4.13 ERASE RECORD命令
检测目的:
验证ERASE RECORD命令CLA、P1、LC错误时SW返回。
检测要求:
应符合《居民健康卡用户卡命令集》5.5.1中相关要求。
检测方法:
(一)按照《居民健康卡应用规范》相关应用描述,进行擦除记录操作,CLA为‘01’~ ‘83’或‘85’~‘FE’,卡片应返还状态码 ‘6E00’;
(二)按照《居民健康卡应用规范》相关应用描述,进行擦除记录操作,当P1等于‘00’,卡片应返还状态码 ‘6A86’;
(三)按照《居民健康卡应用规范》相关应用描述,进行擦除记录操作,当P2不等于‘04’,卡片应返还状态码 ‘6A86’;
(四)按照《居民健康卡应用规范》相关应用描述,进行擦除记录操作,LC不等于 ‘04’ ,卡片应返还状态码 ‘6700’。
6.4.5 断电保护测试
6.4.5.1 APPLICATION BLOCK命令
检测目的:
确保在执行APPLICATION BLOCK命令时断电,卡片非挥发性存储器内应用锁定状态不会发生错误。
检测要求:
APPLICATION BLOCK命令具有断电保护功能,应用状态不应发生混乱。
检测方法:
APPLICATION BLOCK命令执行过程中断电,检查应用锁定的状态。
6.4.5.2 APPLICATION UNBLOCK命令
检测目的:
确保在执行APPLICATION UNBLOCK命令时断电,卡片非挥发性存储器内应用锁定状态不会发生错误。
检测要求:
APPLICATION UNBLOCK命令具有断电保护功能,应用状态不应发生混乱。
检测方法:
APPLICATION UNBLOCK命令执行过程中断电,检查应用锁定的状态。
6.4.5.3 UPDATE BINARY命令
检测目的:
确保在执行UPDATE BINARY命令时断电,卡片非挥发性存储器内数据不会发生错误。
检测要求:
UPDATE BINARY命令具有断电保护功能,数据不应发生混乱。
检测方法:
UPDATE BINARY命令执行过程中断电,检查被写文件数据。
6.4.5.4 UPDATE RECORD命令
检测目的:
确保在执行UPDATE RECORD命令时断电,卡片非挥发性存储器内数据不会发生错误。
检测要求:
UPDATE RECORD命令具有断电保护功能,数据不应发生混乱。
检测方法:
UPDATE RECORD命令执行过程中断电,检查被写文件数据内容。
6.4.5.5 WRITE RECORD命令
检测目的:
确保在执行WRITE RECORD命令时断电,卡片非挥发性存储器内数据不会发生错误。
检测要求:
WRITE RECORD命令具有断电保护功能,数据不应发生混乱。
检测方法:
WRITE RECORD命令执行过程中断电,检查被写文件数据内容。
6.4.5.6 ERASE RECORD命令
检测目的:
确保在执行ERASE RECORD命令时断电,卡片非挥发性存储器内数据不会发生错误。
检测要求:
ERASE RECORD命令具有断电保护功能,数据不应发生混乱。
检测方法:
ERASE RECORD命令执行过程中断电,检查被写文件数据内容。 5 设备检测
6.5.1 读写设备外观与结构检测
检测目的:
验证居民健康卡通用读写设备外观与结构符合标准要求。
检测要求:
(一)结构应完整、整洁,表面涂覆层应均匀,不应起泡、龟裂、脱落和不应有明显的破损、划痕、变形和污染等,零部件连接应紧固无松动;
(二)电路板的布线要合理,不能有临时接线;
(三)操作键和开关应定位准确,操作灵活可靠;
(四)开关、按键、指示灯、插座等应有明确标志;
(五)产品应有铭牌、标牌和商标。
检测方法:
由检验人员目测或检测仪器检测。
6.5.2 基本物理配置检测
检测目的:
验证居民健康卡通用读写设备基本物理配置符合标准要求。
检测要求:
(一)至少支持1个符合ISO 14443标准的非接触CPU卡读头;
(二)具备至少1个外形尺寸满足GB/T14916标准要求的ID-000规格SAM卡卡座;
(三)通讯接口为USB或RS232;
(四)提供指示灯提示。
检测方法:
由检验人员目测。
6.5.3 功能检测
检测目的:
验证居民健康卡通用读写设备读取功能和通讯功能符合标准要求。
检测要求:
应符合《居民健康卡终端技术规范》中相关要求。
检测方法:
根据《居民健康卡终端规范》中要求,根据厂家提供的使用手册或操作说明检验样品读取功能和通讯功能正常。
6.5.4 可靠性
检测目的:
验证居民健康卡通用读写设备读取功能和通讯功能符合标准要求。
检测要求:
应符合《居民健康卡终端技术规范》中相关要求,平均无故障工作时间应不低于5000小时。
检测方法:
依据 GB/T 18239进行。