| 标准编号 | WS/T 543.3-2017 (WS/T543.3-2017) | | 中文名称 | 居民健康卡技术规范 第3部分:用户卡应用规范 | | 英文名称 | Resident health card technical specifications - Part 3: Application specification of the user card | | 行业 | 卫生行业标准 (推荐) | | 中标分类 | C07 | | 字数估计 | 48,426 | | 发布日期 | 2017-07-25 | | 实施日期 | 2017-12-01 | | 标准依据 | 国卫通(2017)8号;行业标准备案公告2018年第3号(总第219号) | | 发布机构 | 中华人民共和国国家卫生和计划生育委员会 |
WS/T 543.3-2017: 居民健康卡技术规范 第3部分:用户卡应用规范
WS/T 543.3-2017 英文名称: Resident health card technical specifications - Part 3: Application specification of the user card
ICS 11.020
C 07
WS
中 华 人 民 共 和 国 卫 生 行 业 标 准
居民健康卡技术规范
第 3部分:用户卡应用规范
1 适用范围
WS/T 543的本部分规定了居民健康卡的文件、数据项以及数据对象列表,描述了居民健康卡各项
操作的流程,明确了在不同应用场景下进行数据交换、信息传输以及数据签名和验证的过程。
本部分适用于制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、生产企业,以
及居民健康卡应用系统的研制、维护等单位和部门。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 16649.4 识别卡带触点的集成电路卡 第 4 部分:用于交换的结构、安全和命令
WS/T 543.1 居民健康卡技术规范 第 1 部分:总则
WS/T 543.2 居民健康卡技术规范 第 2 部分: 用户卡技术规范
3 术语和缩略语
3.1 术语和定义
WS/T 543.1、WS/T 543.2界定的以及下列术语和定义适用于本文件。
3.1.1
应用 application
IC卡和终端之间的应用协议和相关的数据集。
3.1.2
命令 command
终端向IC卡发出的一条信息,该信息启动一个操作或请求一个应答。
3.1.3
接口设备 interface device
终端上插入IC卡的部分,包括其中的机械和电气部分。
3.1.4
响应 response
IC卡处理完收到的命令报文后,返回给终端的报文。
3.2 缩略语
WS/T 543.2界定的以及下列缩略语和符号适用于本文件。
BER 基本编码规则(Basic Encoding Rules)
TLV 标签、长度、值(Tag Length Value)
4 文件、数据项、数据对象列表
4.1 文件结构
本标准中的文件组织结构遵循GB/T 16649.4相关要求,文件结构定义了居民健康卡在医疗领域的各
项专有应用,DDF1是居民健康卡应用环境,DDF2是其他预留应用环境。
从终端的角度来看,IC卡上的文件是一种树形结构。树的每一个分支是一个应用数据文件(ADF)
或一个目录定义文件(DDF)。一个ADF是一个或者多个应用基本文件(AEF)的入口点。一个ADF
及其相关的数据文件处于树的同一分支上。一个DDF是其他ADF或者DDF的入口点。
居民健康卡文件结构示意图如图1所示、居民健康卡文件内容见表1。
4.2 应用数据文件(ADF)
从终端的角度看,ADF是一个只包含封装在其文件控制信息(FCI)中的数据对象的文件。ADF的树形结构要求如下:
a) 能够将数据文件与应用联系起来;
b) 确保应用之间的独立性;
c) 可以通过应用选择实现对其逻辑结构的访问。
4.3 应用基本文件(AEF)
本文件中,一个AEF包含一个或多个原始BER-TLV数据对象,或一个非结构化的纯数据元。在选择了
某一应用后,AEF通过其文件标识符进行查询。
4.4 文件结构映射
使用下列到GB/T 16649.4的映射:
a) 一个 GB/T 16649.4 定义的专用文件(DF)映射为一个 ADF 或一个 DDF。可以通过它来访问基本
文件和 DF。在 IC卡中处于最高层的 DF称为主文件(MF);
b) GB/T 16649.4定义的一个基本文件(EF) 对应一个 AEF。EF永远不会成为另一个文件的入口点。
4.5 文件引用
根据文件的种类,文件可以通过文件名引用。IC卡中的任何ADF或DDF都可以通过它的DF名引用。ADF
的DF名与它的AID对应或以AID作为DF名的开头。一张IC卡中的每个DF名字在该卡内是唯一的。
5 卡操作
5.1 总体操作
5.1.1 总体操作流程
包括对居民健康卡用户卡进行寻卡、上电初始化,鉴别卡真伪、有效期、外部认证读写权限,进入
相应的读写操作等业务。
a) 用户卡上电复位,卡片位于 MF下;
b) 发送 SELECT命令,选择居民健康卡应用环境 DDF1;
c) 执行内部认证流程,对卡进行内部认证;
d) 发送 SELECT命令,选择 EF05;
e) 发送 READ RECORD命令,读卡有效期;
f) 发送 SELECT命令到各应用文件;
g) 根据各应用文件读写控制权限,选择是否进行外部认证;
h) 对相应文件进行读写操作;
i) 流程结束。
5.1.2 流程图
总体应用流程图如图2所示。
5.2 内部认证
5.2.2 流程图
内部认证流程图如图3所示。
5.3 外部认证
5.3.2 流程图
外部认证流程图如图4所示。
5.4 应用锁定
5.4.1 概述
向用户卡发送应用锁定命令可以对卡进行临时锁定或永久锁定。临时锁定方式后可以用应用解锁命
令进行解锁,永久锁定方式后不能解锁。另外当使用校验方式更新记录文件或二进制文件时,如果MAC
错误尝试次数超过限制,COS会自动临时锁定当前应用。
5.4.2 应用锁定流程
应用锁定流程为:
a) 终端向用户卡发送 SELECT命令,选择待锁定的应用区(DF);
b) 终端执行外部认证流程,对该 DF下的 LK密钥进行外部认证;
c) 终端向用户卡发送 GET CHALLENGE命令,获得 8字节随机数;
d) 随机数做为 SAM卡过程密钥产生因子;
e) 终端向 SAM 卡发送 DELIVERY SESSION KEY 命令,将指定的 STK 密钥进行分散,并产生过程密钥;
f) 终端向 SAM 卡发送 CIPHER DATA 命令,对应用锁定(APPLICATION BLOCK)命令头进行 MAC 计算;
g) 终端向用户卡发送 APPLICATION BLOCK 命令 +MAC值,对该 DF进行应用锁定。
5.5 应用解锁
应用解锁流程为:
a) 终端向用户卡发送 SELECT命令,选择被临时锁定的应用区(DF);
b) 终端执行外部认证流程,对该 DF下的 LK密钥进行外部认证;
c) 终端向用户卡发送 GET CHALLENGE命令,获得 8字节随机数;
d) 随机数做为 SAM卡过程密钥产生因子;
e) 终端向 SAM 卡发送 DELIVERY SESSION KEY 命令,将指定的 STK 密钥进行分散,并产生过程密钥;
f) 终端向 SAM 卡发送 CIPHER DATA 命令,对应用解锁(APPLICATION UNBLOCK)命令头进行 MAC计算;
g) 终端向用户卡发送 APPLICATION UNBLOCK 命令 +MAC值,对该 DF进行应用解锁。
5.6 卡锁定
5.6.1 概述
用户卡不允许再使用时,可以执行卡锁定命令,对该用户卡进行永久卡锁定,卡锁定后不能解锁。
5.6.2 卡锁定流程
卡锁定流程如下:
a) 终端向用户卡发送 SELECT命令,选择待锁定的卡片根目录(MF);
b) 终端执行外部认证流程,对 MF下的 BK密钥进行外部认证;
c) 终端向用户卡发送 GET CHALLENGE命令,获得 8字节随机数;
d) 随机数做为 SAM卡过程密钥产生因子;
e) 终端向 SAM 卡发送 DELIVERY SESSION KEY 命令,将指定的 STK 密钥进行分散,并产生过程密钥;
f) 终端向 SAM卡发送 CIPHER DATA命令,对卡锁定(CARD BLOCK)命令头进行 MAC计算;
g) 终端向用户卡发送 CARD BLOCK 命令 +MAC值,对该用户卡进行卡锁定。
5.7 应用维护
应用维护包括卡锁定、应用锁定、应用解锁、数据带MAC更新。这些过程必须在拥有相应的操作权
限控制密钥的终端上按如下步骤执行:
a) 通过外部认证,满足操作的安全状态;
b) 终端向用户卡申请一随机数;
c) 发送相应的应用维护命令,卡在收到命令后执行以下操作:
1) 使用前一步骤产生的随机数,利用 WS/T 543.2 中描述的方式产生过程密钥(核对一下章
节是否正确);
2) 使用该过程密钥产生 MAC,并与命令报文中的 MAC进行比较,如果结果一致,则相应的功
能被实现,否则回送错误状态信息。MAC产生方式见 WS/T 543.2中描述。
6 卡业务应用
6.1 卡识别应用(对应 MF\DDF1数据区)
6.1.1 卡识别数据区
卡识别数据区包括EF05、EF06、EF07和EF08文件。
6.1.2 读卡识别数据区信息
6.1.2.1 概述
读取用户卡中MF\DDF1中的基本文件(即EF05、EF06、EF07和EF08)数据。
6.1.2.2 处理流程
流程具体如下:
a) 终端根据应用执行的情况决定从用户卡读取哪些记录;
b) 终端选择对应记录所在的 DF文件,然后再选对应的 EF文件;
c) 终端根据应用执行情况和 WS/T 543.1 中定义的对应文件的读控制密钥的情况,决定是否执行
外部认证(读控制密钥的情况参见 WS/T 543.1,外部认证命令处理过程参见本文档的对应章节);
d) 终端发送 READ RECORD命令读取指定记录,读照片信息,则发送 READ BINARY命令读取数据;
e) 用户卡根据读记录所需的读控制权限,判断命令执行的条件是否满足,如果不满足则返回错误
码到终端;如果满足则用户卡读取记录数据,读取成功则返回记录数据到终端,否则返回错误码到终端;
f) 终端根据用户卡返回结果,决定是否继续读取对应 EF文件中的记录。
6.1.2.3 流程图
读卡识别数据流程图如图5所示。
6.1.3 写卡识别数据区信息
6.1.3.1 概述
更新用户卡中MF\DDF1中的基本文件(即EF07和EF08)数据。
6.1.3.2 处理流程
流程具体如下:
a) 终端根据应用执行的情况决定更新用户卡中哪些记录;
b) 终端选择对应记录所在的 DF 文件,然后再选对应的 EF 文件;
c) 终端根据应用执行情况和 WS/T 543.2 中定义的对应文件的写控制密钥的情况,决定是否执行
外部认证(写控制密钥的情况参见 WS/T 543.2,外部认证命令处理过程参见本文档的对应章节);
d) 终端发送带密文+MAC 安全报文的 UPDATE RECORD 命令更新指定记录,在这一过程中,使
用 STKDDF1 计算密文及 MAC;终端发送 UPDATE BINARY 命令更新 EF07 数据;
e) 用户卡根据写记录所需的写控制权限,判断命令执行的条件是否满足,如果不满足则返回错误
码到终端;如果满足则验证密文和 MAC 是否正确(密文和 MAC 的计算方法和步骤参见 WS/T
543.2 描述),如果正确,则将解密后的明文数据写入卡内,否则返回错误码到终端;
f) 终端根据用户卡返回结果,决定是否继续更新对应 EF 文件中的记录。
6.1.3.3 流程图
写卡识别数据处理流程图如图6所示。
6.2 身份识别应用(对应 DDF1\DF01数据区)
6.2.1 身份识别数据区
身份识别数据区包括EF05、EF06、EF07和EF08文件。
6.2.2 读 DF01应用数据
6.2.2.1 概述
读取用户卡中的 DF01 应用数据。
6.2.2.2 处理流程
流程具体如下:
a) 终端根据应用执行的情况决定从用户卡读取哪些记录;
b) 终端选择对应记录所在的 DF文件,然后再选对应的 EF文件;
c) 终端根据应用执行情况和 WS/T 543.2 中定义的对应文件的读控制密钥的情况,决定是否执行
外部认证(读控制密钥的情况参见 WS/T 543.2,外部认证命令处理过程参见本文档的对应章节);
d) 终端发送 READ RECORD命令读取指定记录;
e) 用户卡根据读记录所需的读控制权限,判断命令执行的条件是否满足,如果不满足则返回错误
码到终端;如果满足则用户卡读取记录数据,读取成功则返回记录数据到终端,否则返回错误码到终端;
f) 终端根据用户卡返回结果,决定是否继续读取对应 EF文件中的记录。
6.2.2.3 流程图
读DF01应用数据处理流程图如图7所示。
6.2.3 写 DF01应用数据
6.2.3.1 概述
更新用户卡中的DF01应用数据。
6.2.3.2 处理流程
流程具体如下:
a) 终端根据应用执行的情况决定更新用户卡中哪些记录;
b) 终端选择对应记录所在的 DF 文件,然后再选对应的 EF 文件;
c)......
|