卫生部办公厅关于印发《居民健康卡生命周期管理办法》、《居民健康卡个人化管理办法》、《居民健康卡密钥管理办法》、《居民健康卡安全存取模块(SAM)卡生命周期管理办法》、《居民健康卡产品检测管理办法》等居民健康卡配套管理办法和技术规范的通知(二)
续(一)
附件6:
(中华人民共和国卫生部 2011年11月)
为了加强对中华人民共和国居民健康卡(以下简称居民健康卡)IC卡及关键设备的管理,确保居民健康卡符合统一的技术标准,保证产品质量和安全性,实现居民健康卡的全国通用,依据《中华人民共和国产品质量法》、《中华人民共和国标准化法》、《中华人民共和国行政许可法》、《中华人民共和国产品质量认证管理条例》、《中华人民共和国工业产品生产许可证管理条例》、《强制性产品认证管理规定》,特制定本办法。 居民健康卡IC卡及关键设备是指居民健康卡所使用的CPU卡芯片、卡片操作系统(COS)、成卡、居民健康卡读写终端或读写模块(以下简称终端)、密钥系统(含密码机)等。 居民健康卡建设中所使用的IC卡及关键设备产品均须经卫生部备案,不同类型的产品须分别备案。 本办法依据《居民健康卡管理办法》、《居民健康卡技术规范》、《居民健康卡用户卡命令集》、《居民健康卡应用规范》、《居民健康卡终端技术规范》、《居民健康卡安全存取模块(SAM)卡技术规范》、《居民健康卡安全存取模块(SAM)卡命令集》、《居民健康卡检测规范》的有关要求制定。 卫生部居民健康卡注册管理中心(以下简称注册管理中心)负责居民健康卡相关备案管理工作,并委托专业检测机构实施居民健康卡IC卡及关键设备的检测。 备案单位是指居民健康卡的IC卡及关键设备的提供机构,提供机构包括企业、事业单位、军队有偿服务单位等。 备案的企业须持有工商行政管理部门核发的营业执照,备案的事业单位须持有事业单位法人证书,备案的军队有偿服务单位须持有总后勤部颁发的有偿服务许可证。 申请备案单位的名称、经营范围、生产场地、注册资本等必须与所持营业执照、法人证书或有偿服务许可证内容一致。 备案单位具有良好的财务状况,不同备案单位的注册资金要求如下:
(一)芯片备案单位注册资金不少于3000万元人民币;
(二)卡片操作系统(COS)备案单位注册资金不少于1000万元人民币;
(三)成卡备案单位注册资金不少于3000万元人民币;
(四)终端备案单位注册资金不少于1000万元人民币;
(五)密钥系统备案单位注册资金不少于1000万元人民币。 备案单位具有完善的质量保证体系,应通过ISO9001质量体系认证并取得相应证书。 备案单位须具有高新技术企业证书;芯片、成卡须具有国家IC注册中心颁发的集成电路IC卡注册证书。 芯片备案单位还须具有以下条件:
(一)须具有国家信息产业主管部门颁发的集成电路设计企业认定证书;
(二)须具有国家密码管理局颁发的商用密码产品销售许可证和商用密码产品生产定点单位证书。 COS备案单位还须具有国家密码管理局颁发的商用密码产品销售许可证和商用密码产品生产定点单位证书。 CPU卡成卡备案单位还须具有以下条件:
(一)须具有全国工业产品生产许可证办公室颁发的集成电路卡IC卡产品生产许可证;
(二)通过GB/T 24001-2004或ISO14001:2004环境管理体系认证。
(三)通过GB/T 28001-2001职业健康安全管理体系认证。 终端备案单位还须具有以下条件:
(一)须具有全国工业产品生产许可证办公室颁发的集成电路卡读写机产品生产许可证;
(二)须拥有完善的服务体系,在国内有技术支持中心,在使用区域设有售后服务网点,具备7*24小时服务能力,提供统一的国内热线服务电话。 密钥系统备案单位还须拥有完善的服务体系,在国内有技术支持中心,在使用区域设有售后服务网点,具备7*24小时服务能力,提供统一的国内热线服务电话。 备案单位须具有一定的生产规模和知名度,具有2年以上从事该类产品研发、生产和销售经验,具有三个以上全国性行业应用案例。其中:
(一)芯片供应商的近三年内销售收入总额不低于6亿元人民币,实际提供各类CPU卡芯片总量不少于1亿颗;
(二)成卡供应商拥有至少3000万片/年的生产能力。 备案单位拥有备案产品的自主知识产权,备案产品须通过卫生部指定检测机构的检测,其中IC卡类产品(指芯片、COS、成卡)应遵循芯片、COS、成卡顺序备案的原则:
(一)申请检测的卡片操作系统(COS)产品所依托的芯片须已通过卫生部指定检测机构的检测;
(二)申请检测的成卡产品,其承载的COS须已通过卫生部指定检测机构的检测。 备案的IC卡类产品须具有国家IC卡注册中心分配的注册标识号和注册证书。 备案芯片产品须具备以下条件:
(一)备案芯片产品须具有国家知识产权局颁发的集成电路布图设计登记证书;
(二)备案芯片产品须具有国家密码管理局颁发的商用密码产品型号证书(含批复函);
(三)备案芯片产品须具有国家认可的产品信息安全认证证书(EAL4+认证证书)。 备案COS产品须具备以下条件:
(一)备案COS产品须具有软件著作权登记证书;
(二)备案COS产品须具有国家认可的产品信息安全认证证书(EAL4+认证证书)。 备案终端产品须具有全国工业生产许可证办公室颁发的相应产品的集成电路卡读写机具产品生产许可证。 备案密钥系统须通过国家密码管理局的安全性审查,须获得国家密码管理局颁发的卫生行业密钥管理系统型号证书,所使用的密码机须获得国家密码管理局颁发的商用密码产品型号证书。 除上述要求外,如对相应产品有国家强制性认证或检测要求的,须通过相应认证或检测。 备案分为单位备案及产品备案,依本办法第二章的要求进行单位备案,依本办法第三章的要求进行产品备案。 单位备案,备案单位须以书面形式向注册管理中心提交如下申请材料:
(一)居民健康卡单位备案申请单(附件1);
(二)备案单位基本情况介绍材料,包括:基本情况、产品范围、人员组织、年生产能力、产品质量保证和售后服务体系等;
(三)本办法第二章要求的各类单位资质证书复印件;
(四)企、事业单位提供有合法资格的会计师事务所出具的近三年年度财务审计报告;
(五)注册管理中心要求的其他材料。
注册管理中心审核通过后,以书面形式通知备案单位。 产品备案,备案单位须以书面形式向注册管理中心提交如下申请材料:
(一)居民健康卡产品备案申请单(附件2至附件5);
(二)本办法第三章要求的各类产品资质证书复印件;
(三)芯片产品备案还须提交该芯片产品的管芯照片;
(四)注册管理中心要求的其他材料。
审核通过后,注册管理中心书面形式通知申请单位备案结果、指定检测机构开始测试备案产品。产品测试通过后,注册管理中心以书面形式通知申请单位。 备案单位和备案产品取得批复后,注册管理中心通过卫生部网站予以发布。 如需申请单位补充或重新提交申请材料,申请单位须在收到通知1个月内提交材料,逾期未提交并无任何说明的,视同主动放弃申请。 卫生部居民健康卡生产单位及产品备案证书有效期为2年。有效期届满,继续应用的,应当在备案证书期满前3个月内向注册管理中心提出换证申请。 卫生部对备案单位和产品采取年审制度。备案单位应在规定时间以书面形式向注册管理中心提出年审申请。 备案单位须在备案产品的检测报告到期前,重新完成该产品的检测工作,并在检测通过后,向注册管理中心提交检测报告,否则将取消该型号的备案产品在居民健康卡项目中的应用资格。 已备案产品有任何改动,备案单位应及时以新产品形态向注册管理中心提出新的备案申请。 对已备案产品的应用情况,卫生部有权采取工厂检查、产品抽检等多种形式进行监督管理。备案单位出现下列情形之一者,取消备案单位资格,不予年审,并在2年内不再受理该单位资格申请。
(一)项目实施中,实际提供产品与备案产品不一致的;
(二)产品应用过程中,出现重大质量或安全问题的;
(三)单位提供虚假材料的;
(四)对于产品质量、服务水平或单位经营能力等方面不能满足居民健康卡建设要求的。 项目实施过程中,被投诉的备案单位及备案产品的处理办法,另行规定。 本办法由中华人民共和国卫生部负责解释。 本办法自发布之日起施行。
附件(1):
卫生部居民健康卡注册管理中心:
我单位 作为 □芯片 □COS □卡片 □终端 的提供单位,产品拟应用于居民健康卡,特此申请备案。
年 月 日
附件:
1. 营业执照复印件/有偿服务许可证复印件
2. 组织机构代码证复印件
3. ……
(列出附件清单)
附件(2):
居民健康卡芯片产品备案申请单
编号:
单位名称 | |||
单位地址 | |||
联系人及电话 | |||
产品类型 | □ 用户卡芯片 □SAM卡芯片 | ||
产品名称 | 芯片型号 | ||
主要技术参数 | CPU位数: 工作时钟频率: □ROM □EEPROM □FLASH 通讯接口:□ISO/IEC 14443 □GB/T 16649 其他: | ||
以上信息无误,申请按《居民健康卡产品检测管理办法》要求送检产品。 申请单位(盖章) 年 月 日 | |||
□ 同意进入备案测试流程 □ 不同意进入备案测试流程 经办人: 审核人: 批准人: 年 月 日 年 月 日 年 月 日 卫生部居民健康卡注册管理中心(盖章) | |||
备注:本表壹式叁份,分别由备案申请单位、受理单位、检验机构各留存壹份。 |
注:存储器对应项(EEPROM、ROM、FLASH)根据实际情况填写,没有的请标注无。
居民健康卡芯片产品管芯照片
芯片名称和型号:
(照片粘贴处) |
(单位公章)
年 月 日
附件(3):居民健康卡COS产品备案申请单
编号:
单位名称 | |||
单位地址 | |||
联系人及电话 | |||
产品类型 | □ 用户卡COS □SAM卡COS | ||
产品名称及版本 | |||
掩膜方式 | □ 硬掩膜 □软掩膜 | ||
芯片备案编号 | 芯片型号 | ||
芯片设计单位 | |||
以上信息无误,申请按《居民健康卡产品检测管理办法》要求送检产品。 申请单位(盖章) 年 月 日
| |||
□ 同意进入备案测试流程 □ 不同意进入备案测试流程 经办人: 审核人 : 批准人: 年 月 日 年 月 日 年 月 日 卫生部居民健康卡注册管理中心(盖章) | |||
备注:本表壹式叁份,分别由备案申请单位、受理单位、检验机构各留存壹份。 |
附件(4):居民健康卡成卡产品备案申请单
编号:
单位名称 | |||
单位地址 | |||
联系人及电话 | |||
产品类型 | □ 用户卡 □SAM卡 | ||
产品名称 | |||
芯片备案编号 | 芯片型号 | ||
芯片设计单位 | |||
COS备案编号 | COS名称及版本号 | ||
COS设计单位 | |||
掩膜方式 | □ 硬掩膜 □软掩膜 | ||
以上信息无误,申请按《居民健康卡产品检测管理办法》要求送检产品。 申请单位(盖章) 年 月 日 | |||
□ 同意进入备案测试流程 □ 不同意进入备案测试流程 经办人: 审核人 : 批准人: 年 月 日 年 月 日 年 月 日 卫生部居民健康卡注册管理中心(盖章) | |||
备注:本表壹式叁份,分别由备案申请单位、受理单位、检验机构各留存壹份。 |
附件(5):居民健康卡终端产品备案申请单
编号:
单位名称 | 单位地址 | |||
联系人 | 电话及EMAIL | |||
产品类型 | □IC卡读写机或IC卡读写模块 □终端 | 产品名称 | ||
产品型号 | CPU型号 | |||
内置IC卡读写模块型号 | 供电方式 | □直流 □交流 | ||
以上信息无误,申请按《居民健康卡产品检测管理办法》要求送检产品。 申请单位 (盖章) 年 月 日 | ||||
□ 同意进入备案测试流程 □ 不同意进入备案测试流程 经办人: 审核人 : 批准人: 年 月 日 年 月 日 年 月 日 卫生部居民健康卡注册管理中心 (盖章) | ||||
备注:本表壹式叁份,分别由备案申请厂商、受理单位、检验机构各留存壹份。 |
注:IC卡读写机或IC卡读写模块产品不用填写内置IC卡读写模块型号;终端产品需填写内置IC卡读写模块型号;其余项为必填项。
附件(6):居民健康卡生产单位及产品年审申请表
以下由申请单位填写 | |||
年审产品名称和型号 |
| ||
产品检测到期时间 |
| ||
申请单位名称 | |||
申请单位地址及邮编 |
| ||
联系人 |
| 联系电话 |
|
产品年度应用情况说明:(包括产品的使用时间、范围、数量及应用效果等,卡片和COS年审,须说明所采用的相应COS产品名称及其提供商、芯片产品型号及其提供商) (申请单位盖章) 年 月 日 |
附件7:
“ 下列文件中的条款通过本标准的引用而成为本标准的条款。”变更为“下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。”
在“GB/T 6565-2009职业分类与代码”下方增加引用标准,“GB/T 14504 银行卡”。
“ISO/IEC 7811/2- 2001 卡识别记录技术第2部分”变更为“ISO/IEC 7811/2- 2001 识别卡 记录技术 第2部分:磁道-低矫顽性”。
在“JR/T 0008-2000 银行卡发卡行标识代码及卡号”下方增加“JR/T 00520-2009 银行卡卡片规范”。 第3页,章节3.1.2
“带有中央处理器(CPU)、存储单元以及芯片操作系统的集成电路卡。”变更为“带有中央处理器(CPU)、存储单元以及卡片操作系统的集成电路卡。” 第3页,章节3.1.4
“3.1.4 芯片操作系统(COS,Chip Operating System)”变更为“3.1.4 卡片操作系统(COS,Card Operating System)”。 第5页,表3-1
“芯片操作系统”变更为“卡片操作系统”;
“Chip Operating System”变更为“Card Operating System”。 第8页,章节5.3 (3)
“芯片操作系统”变更为“卡片操作系统”。 第9页,章节6.3.1中文字及表格
“居民健康卡号”改为“居民健康卡号码”,本规范中涉及“居民健康卡号”都改为“居民健康卡号码”,除“居民健康卡号条形码”外。 第9页,章节6.3印刷要求
“正面”变更为“背面”;
“背面”变更为“正面”。 第10页,图6-2
图6-2 卡片背面布局图片替换为(图略) 第10页,表6-2
表6-2 卡片背面布局参数全部替换为
参数 | 规格及要求 | 公差 | |
发卡机构标识区 | |||
发卡机构公章直径 | 12.00mm | ±0.30mm | |
发卡机构公章左边沿到卡的左边沿的距离 | 2.00mm | ±0.30mm | |
发卡机构公章下边沿到卡的下边沿的距离 | 4.50mm | ±0.30mm | |
红色公章色值 | C0、M100、Y100、K0 | / | |
“发卡机构”字体 | 汉仪中黑简8.6PT | / | |
“发卡机构”区域左边沿到卡的左边沿的距离 | 2.00mm | ±0.30mm | |
“发卡机构”区域上边沿到卡的上边沿的距离 | 2.00mm | ±0.30mm | |
“发卡机构”区域高度 | 8.50mm | ±0.30mm | |
持卡人照片信息 | |||
“照片”的宽度 | 20.00mm | ±0.10mm | |
“照片”的高度 | 25.00mm | ±0.10mm | |
“照片”左边沿到卡的左边沿的距离 | 4.00mm | ±0.30mm | |
“照片”上边沿到卡的上边沿的距离 | 11.00mm | ±0.30mm | |
持卡人个人信息 | |||
“姓名” 、“性别”、“民族”、“居民健康卡号”字体 | 汉仪中黑8.0PT | / | |
“姓名”、 “性别”、“民族”、 “居民健康卡号”左边沿到卡的左边沿的距离 | 31.00mm | ±0.30mm | |
“姓名”上边沿到卡的上边沿的距离 | 12.00mm | ±0.30mm | |
“姓名”、“性别”、“民族”、 “居民健康卡号” 的行间距 | 3.60mm | ±0.30mm | |
居民健康卡号填写值上边沿距卡片下边沿距离 | 16.30mm | ±0.30mm | |
可变信息部分 | |||
“姓名、性别、民族”填写值字体 | 汉仪中黑8.0PT | / | |
“姓名、性别、民族”字色值 | K100 | / | |
“居民健康卡号码”填写值字体 | 汉仪中黑8.0PT | / | |
“居民健康卡号码”字色值 | K100 | / | |
条形码区 | |||
条形码区域宽度 | 34.00mm | ±0.30mm | |
条形码区域高度 | 6.00mm | ±0.30mm | |
条形码左边沿到卡左边沿的距离 | 30.00mm | ±0.30mm | |
条形码下边沿到卡的下边沿的距离 | 6.6.00mm | ±0.30mm |
表6-2下方,在居民健康卡使用照片基本要求前增加“注:1、”。
在使用照片说明下方,增加条形码说明“2、居民健康卡的条形码是对居民健康卡卡号即公民身份号码进行编码的128条码,格式应按GB/T 18347-2001规定。” 第12页
(1)增加“6.3.2 预留金融功能区的卡片背面样式”章节,其他章节顺延。
(2)增加“预留金融功能区的卡片背面参考布局及参数见图6-3和表6-3:”
(3)在新增的章节6.3.2中增加图6-3预留金融功能区的卡片背面样式,其他图片编号顺延。
图6-3:预留金融功能的居民健康卡背面布局(略)
(4)增加“表6-3 预留金融功能区的卡片背面布局参数”,其他表格标题号顺延
表6-3 预留金融功能区的卡片背面布局参数
参数 | 规格及要求 | 公差 |
持卡人照片信息 | ||
“照片”的宽度 | 20.00mm | ±0.10mm |
“照片”的高度 | 25.00mm | ±0.10mm |
“照片”左边沿到卡的左边沿的距离 | 4.00mm | ±0.30mm |
“照片”上边沿到卡的上边沿的距离 | 11.00mm | ±0.30mm |
持卡人个人信息 | ||
“姓名” 、“性别”、“民族”字体、“居民健康卡号码”字体 | 汉仪中黑8.0PT | / |
“姓名”、 “性别”、“民族”、 “居民健康卡号”左边沿到卡的左边沿的距离 | 28.00mm | ±0.30mm |
“姓名”上边沿到卡的上边沿的距离 | 11.00mm | ±0.30mm |
“姓名”、“性别”、“民族”、 “居民健康卡号码”四行的行间距 | 2.00mm | ±0.30mm |
居民健康卡号填写值上边沿距卡片下边沿距离 | 25.40mm | ±0.30mm |
可变信息部分 | ||
“姓名、性别、民族”填写值字体 | 汉仪中黑8.0PT | / |
“姓名、性别、民族”字色值 | K100 | / |
“居民健康卡号码”填写值字体 | 汉仪中黑8.0PT | / |
“居民健康卡号码”字色值 | K100 | / |
条形码区 | ||
条形码区域宽度 | 34.00mm | ±0.30mm |
条形码区域高度 | 6.00mm | ±0.30mm |
条形码左边沿到卡左边沿的距离 | 27.00mm | ±0.30mm |
条形码下边沿到卡的下边沿的距离 | 16.50mm | ±0.30mm |
发卡机构标识区 | ||
银行标识、银行名称及发卡机构名称区域大小 | 宽56MM 高8.5MM | ±0.30mm |
“发卡机构”字体: | 汉仪中黑简8.6PT | / |
银行标识及发卡机构区域上边沿到卡的上边沿距离 | 2.00mm | ±0.10mm |
银行标识及发卡机构区域左边沿到卡的左边沿距离 | 2.00mm | ±0.10mm |
发卡机构公章直径 | 12.00mm | ±0.30mm |
发卡机构公章左边沿到卡的左边沿的距离 | 2.00mm | ±0.30mm |
红色公章色值 | C0、M100 、 Y100、K0 | / |
发卡机构公章下边沿到卡的下边沿的距离 | 4.50mm | ±0.30mm |
银联标准区 | ||
银行卡号首位数字中心点到卡左边沿距离 | 17.50mm | ±0.10mm |
银行卡号首位数字中心点到卡下边沿距离 | 12.50mm | ±0.10mm |
银联标识上边沿到卡上边沿距离 | 2.00mm | ±0.30mm |
银联标识右边沿到卡右边沿距离 | 2.00mm | ±0.30mm |
ATM字体 | TimesRoman6PT | / |
ATM右边沿到卡右边沿距离 | 5.30mm | ±0.30mm |
ATM下边沿到卡下边沿距离 | 5.30mm | ±0.30mm |
ATM黑色箭头右边沿到卡右边沿距离 | 2.00mm | ±0.30mm |
ATM黑色箭头下边沿到卡下边沿距离 | 5.00mm | ±0.30mm |
图6-3卡片正面布局图片替换为(图略)
在图下方增加“注:图6-3中隐形磁条位置的虚线和文字是为了示意磁条区域,实际的卡片没有此效果”。 第12页,表6-3
表6-3 卡片正面布局参数全部替换为
参数 | 规格及要求 | 公差 |
居民健康卡标识图案 | ||
居民健康卡标识图案 | / | |
标识图案宽度 | 18.70mm | ±0.30mm |
标识图案高度 | 18.70mm | ±0.30mm |
标识图案中心沿到卡的左边沿的距离 | 42.95mm | ±0.30 mm |
标识图案中心沿到卡的下边沿的距离 | 23.50mm | ±0.30 mm |
红色部分色号 | C0、M100、Y100、K0 | / |
居民健康卡 | ||
“居民健康卡”字样 | 汉仪大隶书简体 28pt | / |
右边沿到卡的右边沿的距离 | 15.00mm | ±0.30 mm |
下边沿到卡的下边沿的距离 | 37.57mm | ±0.30 mm |
“中华人民共和国卫生部监制”字样 | 汉仪中黑简体 9pt | / |
左边沿到卡的左边沿的距离 | 24.8mm | ±0.30 mm |
下边沿到卡的下边沿的距离 | 4.00mm | ±0.30 mm |
磁条区 | ||
磁条左边沿距离卡片左边沿 | ≤2.92mm | ±0.30mm |
磁条右边沿距离卡片左边沿 | ≥82.55mm | ±0.30mm |
磁条上边沿到卡的下边沿的距离 | ≥15.95mm | ±0.30mm |
磁条下边沿到卡的下边沿的距离 | ≤5.54mm | ±0.30mm |
增加磁条说明“注:居民健康卡的磁条应按JR/T 0052-2009银行卡卡片规范的规定;第一磁道主账号数据为19位,其中前18位为中华人民共和国公民身份证号码,第19位为校验位,校验数算法见GB/T 14504 的规定”。
增加公差说明“卡片正反面未注明距离、高、宽公差的参数,公差为±0.30mm”。 第20页,章节8.2
“表8-1中关于居民健康卡数据标准的6个数据描述项目分别为”变更为“表8-1中关于居民健康卡数据标准的7个数据描述项目分别为”。 第21页,表8-2
添加应用城市代码如下:
57 | 应用城市代码 | 03 | MF\DDF1\EF05 |
添加照片数据文件如下:
| 照片 | b | 3074 | MF\DDF1\EF07 |
住院记录有效标志数据项的所属文件,“循环记录文件”变更为“定长记录文件”。
门诊记录有效标志数据项的所属文件,“循环记录文件”变更为“定长记录文件”。 第28页,表8-2
交易信息签名数据项的长度,“32”变更为“64”。 第34页,表8-2
交易信息签名数据项的长度,“32”变更为“64”。 第35页,章节9.1.2
“SM2算法用于证书的生成和验证、签名数据生成和验证。”变更为“SM2算法用于证书的生成和验证、签名数据的生成和验证。” 第49页,章节9.10.2.6
(4)“进行私钥加密的结果就是发卡机构公钥数据。”变更为“进行私钥加密的结果就是签名的发卡机构公钥数据。” 第50页,章节9.10.2.7
(3)“SAM卡公钥数据。”变更为“签名的SAM卡公钥数据”。
“进行私钥加密的结果就是SAM卡公钥数据”变更为“进行私钥加密的结果就是签名的SAM卡公钥数据”。 第51页,图10-1
DDF1添加EF07文件。 第53页,表10-1
MF\DDF1下 EF06 的读控制,“无”变更为“读控密钥”。
MF\DDF1下增加EF07如下:
EF07 | 二进制 | 读控密钥 | 写控密钥 |
MF\DDF1\DF01下 EF05 的读控制,“无”变更为“读控密钥”。
MF\DDF1\DF01下 EF06 的读控制,“无”变更为“读控密钥”。
MF\DDF1\DF01下 EF07 的读控制,“无”变更为“读控密钥”。
EE01…EE05修改为EE01…EE03 第53页,章节10.3.1
表10-1下方“注:1、”的内容全部替换为“注:1、其中,MF\DDF1区域下的EF05、EF06文件,MF\DDF1\DF01区域下的EF05、EF06、EF07、EF08文件,MF\DDF1\DF02区域下的EF05、EF06、EF07、EF08文件,在进行更新时需要采用密文加MAC的安全报文传送格式;MF\DDF1\DF03区域下的EF05、EF06文件,在进行更新时需要采用MAC的安全报文传送格式。” 第54页,表10-2
内容替换如下
分类 | 密钥 | 用途 | 密钥对应文件 | 适用的应用范围 |
内部认证密钥 | IRKDDF1 | 鉴别发卡方的密钥 | - | 应用提供者 |
应用维护密钥 | STKMF | 发卡方或应用提供方用于产生应用锁定、卡片锁定和更新二进制或记录命令的MAC | - | 发卡方 |
STKDDF1 | - | 卡识别应用 | ||
STKDF01 | - | 身份识别应用 | ||
STKDF02 | - | 基础健康应用 | ||
STKDF03 | - | 管理数据应用 | ||
卡片或应用锁定控制密钥 | BKMF | 发卡方或应用提供方控制锁定卡片或应用操作的密钥 | - | 发卡方 |
LKDF01 | - | 身份识别应用 | ||
LKDF02 | - | 基础健康应用 | ||
LKDF03 | - | 管理数据应用 | ||
应用数据更新密钥 | UK1DDF1 | 发卡方或应用提供方控制应用数据更新操作的鉴别密钥 | EF05、EF06 | 发卡方和持卡人基本信息 |
UK1DF01 | EF05、EF06、EF07、EF08 | 身份识别数据信息 | ||
UK1DF02 | EF05 | 医学警示数据信息 | ||
UK2DF02 | EF06 | 特殊信息数据信息 | ||
UK3DF02 | EF07、EF08 | 过敏、免疫基本数据信息 | ||
UK1DF03 | EF05、EF06、 EE01…EE05 ED01…ED05 | 管理数据信息 | ||
应用数据擦除密钥 | UK2DF03 | 发卡方或应用提供方控制应用数据擦除操作的鉴别密钥 | EF05、EF06 | 管理数据信息 |
应用数据读取密钥 | RK1DDF1 | 发卡方或应用提供方控制部分应用数据读取操作的鉴别密钥 | EF06、EF07 | 基本信息 |
RK1DF01 | EF05、EF06、 EF07、EF08 | 证件记录信息 | ||
RK1DF02 | EF06 | 特殊信息数据信息 | ||
RK1DF03 | EF05、EF06、 EE01…EE03 ED01…ED05 | 管理数据信息 |
居民健康卡数据格式列表中住院记录有效标志栏,备注部分:循环记录文件(5条记录)改为3条定长记录文件(3条记录)。 第45页,图9-9
PSAM卡公钥证书修改为SAM卡公钥证书。 第65页,
原“附录A”改为“规范性附录A” 增加规范性附录“规范性附录B加载金融应用居民健康卡及终端技术要求”
1.1多应用卡片文件结构
多应用居民健康IC卡的卡片总体结构应符合图一要求。
图1卡片总体结构(略)
MF是多应用居民健康IC卡的根,其下有:
健康卡应用系统环境WS;
金融接触式支付环境PSE(可选);
金融非接支付系统环境PPSE。
进入到各系统环境后,相关指令、交易流程、安全机制遵循当前应用环境卡片技术规范要求(健康卡应用系统环境-居民健康卡相关规范,金融环境-JR/T0025)。卡片和终端在完成复位应答后,卡片当前目录应位于MF下。
1.1.1金融支付系统环境
金融支付系统环境是中国金融集成电路IC卡应用的入口。
金融支付系统环境具有2种入口形式分别是:接触式支付环境入口和非接触支付环境入口,其中接触式支付环境为可选环境。
内部结构如图二所示:
图2 金融支付系统环境结构(略)
金融支付系统环境分为PSE入口和PPSE入口,其中PSE对应标准接触式金融支付交易入口,PPSE对应非接触式金融支付系统环境入口。
由PSE进入的应用应符合JR/T0025.3-7,
具有小额支付功能的还应符合JR/T0025.13,
由PPSE进入的应用应符合JR/T0025.12。
1.1.2居民健康卡应用系统环境
居民健康卡应用系统环境是居民健康卡应用的入口,其内容接口如图三所示。
图3 居民健康卡应用卡片结构(略)
进入居民健康卡应用系统环境后的应用应符合居民健康卡相关规范要求。
1.2多应用选择流程
1.2.1终端复位
终端与卡片完成复位应答后,卡片当前目录应位于MF下,终端通过选择不同的应用环境进入不同的应用场景。
应用环境名称列表如下:
环境 | AID |
WS | ‘WS.SYS.DDF01’ |
PSE | ‘1PAY.SYS.DDF01’ |
PPSE | ‘2PAY.SYS.DDF01’ |
1.2.2选择金融应用环境
(1) 终端通过发送SELECT PSE进入接触式金融支付应用,其指令、应用流程和安全机制均符合JR/T0025的要求。
(2) 终端通过发送SELECT PPSE进入非接触金融支付应用,其指令、应用流程和安全机制均符合JR/T0025.12的要求。
(3) 进入金融支付应用后,终端应通过应用选择的方式确定一个应用(借记应用或贷记应用或准贷记应用或纯电子现金应用)进行支付。
1.2.3选择健康卡应用环境
(1) 终端通过发送SELECT WS.SYS.DDF01进入居民健康卡应用,其指令、应用流程和安全机制均符合居民健康卡相关规范。
(2) 进入居民健康卡应用后,终端应通过文件、应用选择的方式进行卫生医疗文件信息读写操作。 加载金融应用的居民健康卡及终端应满足以下要求:
(1) 居民健康卡用户卡--电气特性部分(fc+fs时调制信号幅度和fc-fs时调制信号幅度等)参照金融规范《中国金融集成电路(IC)卡规范》第11部分:非接触式IC 卡通讯规范。
测试依据参照《中国金融集成电路(IC)卡非接触式 IC卡检测规范》。
(2) 居民健康卡用户卡--通讯协议部分(基本交换及时间和块协议中的命令处理等)参照金融规范《中国金融集成电路(IC)卡规范》第11部分:非接触式IC 卡通讯规范。
测试依据参照《中国金融集成电路(IC)卡非接触式 IC卡检测规范》。
(3) 居民健康卡终端--非接触模拟部分(PCD场强、PCD灵敏度响应和PCD位编码和异步响应等)参照金融规范《中国金融集成电路(IC)卡规范》第11部分:非接触式IC 卡通讯规范。
测试依据参照《中国金融集成电路(IC)卡 非接触式应用终端检测规范》。
(4) 居民健康卡终端--非接触数字部分(轮询的执行及时间、同步时间前响应和链接I块响应等)参照金融规范《中国金融集成电路(IC)卡规范》第11部分:非接触式IC 卡通讯规范。
测试依据参照《中国金融集成电路(IC)卡 非接触式应用终端检测规范》。
附件8:
(中华人民共和国卫生部 2011年11月)
1 适用范围
2 规范性引用文件
3 定义和缩略语
3.1 定义
3.2 缩略语
4 复位应答
5 命令
5.1 命令APDU格式
5.2 响应APDU格式
5.3 基本命令
5.4 应用命令 本规范规定了居民健康卡用户卡应支持的功能、复位应答的格式以及卡片的命令与响应列表。
本规范适用于所有制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、持卡人和生产企业。 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。
GB/T 16649.4-2010 识别卡 带触点的集成电路卡 第4部分
GB/T 16649.5-2002 识别卡 带触点的集成电路卡 第5部分
ISO/IEC 14443 识别卡 非接触式集成电路卡 接近式卡
JR/T 0025-2010 中国金融集成电路(IC)卡规范
卫生部《居民健康卡技术规范》(卫办发〔2011〕60号) 1 定义
3.1.1 居民健康卡(Residents Health Card)
居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。
3.1.2 CPU卡(Central Processing Unit Card)
带有中央处理器(CPU)、存储单元以及卡片操作系统的集成电路卡。
3.1.3 芯片(Chip)
本规范中特指居民健康卡中用于完成数据处理和存储功能的集成电路器件。
3.1.4 芯片操作系统(COS,Card Operating System)
CPU卡芯片中存储和可运行的,以保护应用数据和程序的机密性和完整性,控制CPU卡芯片与外界信息交换为目的的嵌入式软件。
3.1.5 加密算法(Cryptographic Algorithm)
为了隐藏或显现数据信息内容的变换算法。
3.1.6 对称加密算法(Symmetric Cryptographic Algorithm)
加密密钥可以从解密密钥中推算出来,反过来也成立,在大多数算法中加/解密密钥是相同的。
3.1.7 非对称加密算法(Asymmetric Cryptographic Algorithm)
加密算法的加密密钥和解密密钥是不一样的,不能由一个密钥推导出另一个密钥。
3.1.8 密钥(Key)
加密转换中控制操作的符号序列。
3.1.9 对称密钥(Symmetric Key)
在对称加密算法中使用的密钥。
3.1.10 非对称密钥(Asymmetric Key)
在非对称加密算法中使用的密钥,包括公钥和私钥。
3.1.11 公钥(Public Key)
在一个实体使用的非对称密钥对中可以被公众使用的密钥。在数字签名方案中,公钥用于验证。
3.1.12 私钥(Private Key)
在一个实体使用的非对称密钥对中仅被该实体使用的密钥。在数字签名方案中,私钥用于签名。
3.1.13 数字签名(Digital Signature)
对数据的一种非对称加密变换。该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。
3.1.14 生物标识(Biomarker)
人的某种特异性的生物学特征,具有遗传性和终身携带性,如血型。
3.1.15 医学警示(Medical Alert)
患者在就医、急诊或抢救时需要特别提醒医生注意的信息,包括疾病史、体内装置、药物过敏史、对某些物质的不耐受史等。 2 缩略语
以下缩略语和符号表示适用于本规范。
表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 |
压缩数字 | 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 | 任意值 |
(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 | 安全 |
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 |
响应APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见表5-4:
表5-4 响应APDU的结构
Data | SW1 | SW2 |
¬--条件体--® | ¬--尾--® |
响应APDU的内容见表5- 5:
表5- 5 响应APDU的内容
代码 | 描 述 | 长度 |
Data | 响应中接收的数据字节串(=Le) | 变长 |
SW1 | 命令处理状态 | 1 |
SW2 | 命令处理限定 | 1 |
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 | 不存在 |
5.3.1.3 命令报文数据域
命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。
5.3.1.4 响应报文数据域
响应报文数据域不存在。
5.3.1.5 响应报文状态码
无论应用是否已经失效,此命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-7所示:
表5-7 APPLICATION BLOCK错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败 |
‘67’ | ‘00’ | Lc长度错误 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘84’ | 引用数据无效 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘87’ | 安全报文数据项丢失 |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
‘6A’ | ‘88’ | 未找到引用数据 |
5.3.2 APPLICATION UNBLOCK命令
5.3.2.1 定义和范围
APPLICATION UNBLOCK命令可以对临时锁定的应用解锁,当APPLICATION UNBLOCK命令成功地完成后,用SELECT命令可以正确选择此应用,应用功能同时被恢复。
5.3.2.2 命令报文
APPLICATION UNBLOCK命令报文编码见表5-8:
表5-8 APPLICATION UNBLOCK命令报文
代码 | 数值 |
CLA | ‘84’ |
INS | ‘18’ |
P1 | ‘00’ |
P2 | ‘00’ |
Lc | ‘04’ |
DATA | 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 |
Le | 不存在 |
5.3.2.3 命令报文数据域
命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。
5.3.2.4 响应报文数据域
响应报文数据域不存在。
5.3.2.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-9所示:
表5-9 APPLICATION UNBLOCK错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败 |
‘67’ | ‘00’ | Lc长度错误 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘84’ | 引用数据无效 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘87’ | 安全报文数据项丢失 |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
‘6A’ | ‘88’ | 未找到引用数据 |
5.3.3 CARD BLOCK命令
5.3.3.1 定义和范围
CARD BLOCK命令使卡中所有应用永久失效。
当CARD BLOCK命令成功地完成后,所有后续的命令都将回送状态码“不支持此功能”(SW1SW2=‘6A81’),且不执行任何其他操作。
5.3.3.2 命令报文
CARD BLOCK命令报文编码见表5-10:
表5-10 CARD BLOCK命令报文
代码 | 值 |
CLA | ‘84’ |
INS | ‘16’ |
P1 | ‘00’,其他值保留为将来使用 |
P2 | ‘00’,其他值保留为将来使用 |
Lc | ‘04’ |
Data | 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码 |
Le | 不存在 |
5.3.3.3 命令报文数据域
命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别代码(MAC)数据元。
5.3.3.4 响应报文数据域
响应报文数据域不存在。
5.3.3.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-11所示:
表5-11 CARD BLOCK错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败 |
‘67’ | ‘00’ | Lc长度错误 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘84’ | 引用数据无效 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘87’ | 安全报文数据项丢失 |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘86’ | 参数P1或/和P2错误 |
‘6A’ | ‘88’ | 未找到引用数据 |
5.3.4 EXTERNAL AUTHENTICATION命令
5.3.4.1 定义和范围
EXTERNAL AUTHENTICATION命令要求IC卡中的应用验证接口设备中保密模块的有效性,以使接口设备获得某种授权。
IC卡的响应包括命令处理状态的回送。
5.3.4.2 命令报文
EXTERNAL AUTHENTICATION命令报文编码见表5-12:
表5-12 EXTERNAL AUTHENTICATION命令报文
代码 | 值 |
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 | 密钥号 |
EXTERNAL AUTHENTICATION命令使用的算法参考值(P1)编码为‘00’表示无信息。算法参考值在命令发出之前是已知的。
5.3.4.3 命令报文数据域
命令报文数据域中包含17个字节的数据:
--第1至第8个字节为鉴别数据;
--第9至第16个字节是鉴别所需的原始信息;
--第17个字节表示密钥版本。
其中,鉴别数据根据《居民健康卡技术规范》第9.7.3章中的规定进行编码。
5.3.4.4 响应报文数据域
响应报文数据域不存在。
5.3.4.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的警告状态码如表5-14所示:
表5-14 EXTERNAL AUTHENTICATION警告状态
SW1 | SW2 | 含 义 |
‘63’ | ‘Cx’ | 鉴别失败,x表示允许继续尝试的次数(‘0’-‘F’) |
IC卡可能回送的错误状态码如表5-15所示:
表5-15 EXTERNAL AUTHENTICATION错误状态
SW1 | SW2 | 含 义 |
‘67’ | ‘00’ | Lc不正确 |
‘69’ | ‘83’ | 鉴别方法锁定 |
‘69’ | ‘84’ | 引用数据无效 |
‘69’ | ‘85’ | 使用条件不满足 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
‘6A’ | ‘88’ | 密钥未找到 |
5.3.5 GET CHALLENGE命令
5.3.5.1 定义和范围
GET CHALLENGE命令请求一个用于安全相关过程(例如:安全报文、安全鉴别)的随机数。
随机数在使用后失效,不能被下一个命令再次使用。
5.3.5.2 命令报文
GET CHALLENGE命令报文编码见表5-16:
表5-16 GET CHALLENGE命令报文
代码 | 值 |
CLA | ‘00’ |
INS | ‘84’ |
P1 | ‘00’ |
P2 | ‘00’ |
Lc | 不存在 |
Data | 不存在 |
Le | ‘08’ |
5.3.5.3 命令报文数据域
命令报文数据域不存在。
5.3.5.4 响应报文数据域
响应报文数据域包括随机数,长度为8字节。
5.3.5.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-17所示:
表5-17GET CHALLENGE错误状态
SW1 | SW2 | 含 义 |
‘67’ | ‘00’ | Le长度错 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
5.3.6 INTERNAL AUTHENTICATION命令
5.3.6.1 定义和范围
INTERNAL AUTHENTICATION命令提供了利用接口设备发来的随机数和自身存储的相关密钥进行数据鉴别的功能。
5.3.6.2 命令报文
INTERNAL AUTHENTICATION命令报文编码见表5-18:
表5-18 INTERNAL AUTHENTICATION命令报文
代码 | 值 |
CLA | ‘00’ |
INS | ‘88’ |
P1 | ‘00’ |
P2 | ‘00’ |
Lc | ‘11’ |
Data | 鉴别用数据 |
Le | ‘00’ |
INTERNAL AUTHENTICATION命令的参数P1和P2为‘00’表示无信息,它们的值是事先确定的。
5.3.6.3 命令报文数据域
命令报文数据域的内容是卡片或应用专用的鉴别数据,包含17个字节的数据:
――第1至第8个字节是过程密钥计算使用的数据,由终端产生;
――第9至第16个字节是鉴别所需的原始信息;
--第17个字节表示密钥版本。
5.3.6.4 响应报文数据域
响应报文数据域内容是相关的鉴别数据,其值根据《居民健康卡技术规范》第9.7.3章中的规定进行计算。
5.3.6.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的警告状态码如表5-19所示:
表5-19 INTERNAL AUTHENTICATION警告状态
SW1 | SW2 | 含 义 |
‘62’ | ‘81’ | 回送的数据可能有错 |
IC卡可能回送的错误状态码如表5-20所示:
表5-20 INTERNAL AUTHENTICATION错误状态
SW1 | SW2 | 含 义 |
‘67’ | ‘00’ | Lc不正确 |
‘68’ | ‘82’ | 不支持安全报文 |
‘69’ | ‘85’ | 不满足使用条件 |
‘6A’ | ‘80’ | 数据域参数不正确 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
‘6A’ | ‘88’ | 密钥未找到 |
5.3.7 READ BINARY命令
5.3.7.1 定义和范围
READ BINARY命令用于读取透明文件的内容(或部分内容)。
5.3.7.2 命令报文
READ BINARY命令报文编码见表5-21
表5-21 READ BINARY命令报文
代码 | 值 |
CLA | ‘00’ |
INS | ‘B0’ |
P1 | 见表5-22 |
P2 | 见表5-22 |
Lc | 不存在 |
Data | 不存在 |
Le | ‘00’或要读出的数据的长度 |
表5-22定义了命令报文中的引用控制参数:
表5-22 READ BINARY命令引用控制参数
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.3.7.3 命令报文数据域
命令报文数据域不存在。
5.3.7.4 响应报文数据域
当Le的值为零时,读出自要读的首字节起的256个字节;如果在读出256个字节前已到达文件最后一个字节,则自要读的首字节起的全部字节将被读出。
5.3.7.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的警告状态码如表5-23所示:
表5-23 READ BINARY警告状态
SW1 | SW2 | 含 义 |
‘62’ | ‘81’ | 部分回送的数据可能有错 |
IC卡可能回送的错误状态码如表5-24所示:
表5-24 READ BINARY错误状态
SW1 | SW2 | 含 义 |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘86’ | 不满足命令执行的条件(非当前EF) |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘82’ | 未找到文件 |
‘6B’ | ‘00’ | 参数错误(偏移地址超出了EF) |
‘6C’ | ‘xx’ | 长度错误(Le错误;‘xx’为实际长度) |
5.3.8 READ RECORD命令
5.3.8.1 定义和范围
READ RECORD命令读取记录结构的基本文件中指定的记录。
IC卡的响应由回送记录组成。
5.3.8.2 命令报文
READ RECORD命令报文编码见表5-25:
表5-25 READ RECORD命令报文
代码 | 值 |
CLA | ‘00’ |
INS | ‘B2’ |
P1 | 记录号或记录标识符 |
P2 | 引用控制参数(见表5-26) |
Lc | 不存在 |
Data | 不存在 |
Le | ‘00’ 或记录长度 |
记录号的取值范围为‘01’-‘FE’。
表5-26定义了命令报文中的引用控制参数:
表5-26READ RECORD命令引用控制参数
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | 含 义 |
0 | 0 | 0 | 0 | 0 |
| 对当前文件进行操作 | ||
| 1 | 0 | 0 | 读P1指定的记录 | ||||
0 | 0 | 0 | 读具有P1指定的记录标识符的第一个实例 |
5.3.8.3 命令报文数据域
命令报文数据域不存在。
5.3.8.4 响应报文数据域
所有执行成功的READ RECORD命令的响应报文数据域由读取的记录组成。
5.3.8.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的警告状态码如表5-27所示:
表5-27 READ RECORD警告状态
SW1 | SW2 | 含 义 |
‘62’ | ‘81’ | 回送的数据可能有错 |
IC卡可能回送的错误状态码如表5-28所示:
表5-28 READ RECORD错误状态
SW1 | SW2 | 含 义 |
‘67’ | ‘00’ | 长度错误 |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘86’ | 命令不允许使用(无当前基本文件) |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘82’ | 未找到文件 |
‘6A’ | ‘83’ | 未找到记录 |
‘6A’ | ‘86’ | 参数P1或P2错误 |
5.3.9 SELECT命令
5.3.9.1 定义和范围
SELECT命令通过文件名或AID、文件标识符来选择IC卡中的居民健康卡应用环境、DDF或ADF,通过文件标识符来选择ADF中的AEF。
命令执行成功后,居民健康卡应用环境、DDF或ADF、AEF的路径被设定。
除选择AEF外,从IC卡的响应报文应由回送FCI组成。
5.3.9.2 命令报文
SELECT命令报文编码见表5-29:
表5-29 SELECT命令报文
代码 | 值 |
CLA | ‘00’ |
INS | ‘A4’ |
P1 | 引用控制参数(见表5-30) |
P2 | ‘00’第一个或唯一一个文件实例 ‘02’下一个文件实例 |
Lc | ‘05’-‘10’(使用文件名或AID时)或‘02’(使用文件标识符时)或‘00’ |
Data | 文件名、AID、文件标识符或不存在 |
Le | ‘00’ |
表5-30定义了命令报文中的引用控制参数:
表5-30 SELECT命令引用控制参数
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | 含 义 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 用文件标识符选择MF、DF、EF(数据域=文件标识符或空) |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 用文件标识符在当前DF下选择EF(数据域=EF的文件标识符) |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 通过文件名选择DF(数据域=DF的文件名) |
如果P1=‘00’并且数据域为空或等于‘3F00’,该命令将选择主控文件(MF)。
5.3.9.3 命令报文数据域
命令报文数据域应包括内容见表5-30。
5.3.9.4 响应报文数据域
除选择AEF外,响应报文中数据域应包括所选择的居民健康卡应用环境、DDF或ADF的FCI。表5-31到表5-33规定了此定义所用的标志。《居民健康卡技术规范》不规定FCI中回送的附加标志。
表5-31定义了成功选择居民健康卡应用环境后回送的FCI:
表5-31 SELECT居民健康卡应用环境的响应报文(FCI)
标志 | 值 | 存在方式 | ||
‘6F’ | FCI模板 | M | ||
| ‘84’ | DF名 | M | |
| ‘A5’ | FCI专用模板 | M | |
| ‘88’ | 目录基本文件的SFI | O |
表5-32定义了成功选择DDF后回送的FCI:
表5-32 SELECT DDF的响应报文(FCI)
标志 | 值 | 存在方式 | ||
‘6F’ | FCI模板 | M | ||
| ‘84’ | DF名 | M | |
| ‘A5’ | FCI专用模板 | M | |
| ‘88’ | 目录基本文件的SFI | O |
表5-33定义了成功选择ADF后回送的FCI:
表5-33SELECT ADF的响应报文(FCI)
标志 | 值 | 存在方式 | |
‘6F’ | FCI模板 | M | |
| ‘84’ | DF名 | M |
5.3.9.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的警告状态码如表5-34所示:
表5-34 SELECT警告状态
SW1 | SW2 | 含 义 |
‘62’ | ‘81’ | 返回的数据中的部分可能已被破坏 |
‘62’ | ‘83’ | 选择的文件无效 |
‘62’ | ‘84’ | FCI格式与P2指定的不符 |
IC卡可能回送的错误状态码如表5-35所示:
表5-35 SELECT错误状态
SW1 | SW2 | 含 义 |
‘67’ | ‘00’ | P1 P2与Lc不一致 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘82’ | 未找到文件 |
‘6A’ | ‘86’ | 参数P1 P2不正确 |
‘93’ | ‘03’ | 应用永久锁定 |
5.3.10 UPDATE BINARY命令
5.3.10.1 定义和范围
UPDATE BINARY命令报文使用命令APDU中给定的数据写入或修改透明结构的基本文件的全部或部分数据。当使用校验方式更新二进制文件时,如果尝试次数超过限制时,临时锁定当前应用。
5.3.10.2 命令报文
UPDATE BINARY命令报文编码见表5-36:
表5-36 UPDATE BINARY命令报文
代码 | 值 |
CLA | ‘00’或‘04’ |
INS | ‘D6’ |
P1 | 见表5-37 |
P2 | 见表5-37 |
Lc | 后续数据域的长度 |
Data | 写入或修改用的数据 |
Le | 不存在 |
表5-37定义了命令报文中的引用控制参数:
表5-37 UPDATE BINARY命令引用控制参数
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.3.10.3 命令报文数据域
命令报文数据域包括用来写入或更新原有数据的新数据。
5.3.10.4 响应报文数据域
响应报文数据域不存在。
5.3.10.5 响应报文状态码
此命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-38所示:
表5-38 UPDATE BINARY错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败(修改失败) |
‘67’ | ‘00’ | 长度错误(Lc域为空) |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘86’ | 不满足命令执行的条件(不是当前的EF) |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘80’ | 基本文件标识符错误 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘82’ | 未找到文件 |
‘6B’ | ‘00’ | 参数错误(偏移地址超出了EF) |
5.3.11 UPDATE RECORD命令
5.3.11.1 定义和范围
UPDATE RECORD命令报文用命令APDU中给定的数据添加记录或更改指定的记录。当使用校验方式更新记录时,如果尝试次数超过限制时,临时锁定当前应用。
UPDATE RECORD命令不能对健康应用的住院信息索引文件记录和门诊信息索引文件记录进行更新操作。
对线性结构文件来说,只能使用指定记录号(P1中指定)方式更新记录。
对循环结构文件来说,只能使用“上一个记录”命令选项添加或更新记录,添加或更新后该记录的记录号为1。
5.3.11.2 命令报文
UPDATE RECORD命令报文编码见表5-39:
表5-39UPDATE RECORD命令报文
代码 | 值 |
CLA | ‘00’或‘04’ |
INS | ‘DC’ |
P1 | 指定的记录号(‘01’~‘FE’) |
P2 | 见表5-40 |
Lc | 后续数据域的长度 |
Data | 添加的或更新原有记录的新记录 |
Le | 不存在 |
表5-40定义了命令报文中的引用控制参数:
表5-40 UPDATE RECORD命令引用控制参数
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | 含 义 |
0 | 0 | 0 | 0 | 0 |
|
|
| 当前文件 |
|
|
|
|
| 0 | 1 | 1 | 上一个记录 |
|
|
|
|
| 1 | 0 | 0 | 记录号在P1中给出 |
其余值 | RFU |
5.3.11.3 命令报文数据域
命令报文数据域由添加的或更新原有记录的新记录组成。
5.3.11.4 响应报文数据域
响应报文数据域不存在。
5.3.11.5 响应报文状态码
命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-41所示:
表5-41 UPDATE RECORD错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败(修改失败) |
‘67’ | ‘00’ | 长度错误(Lc域为空) |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘86’ | 不满足命令执行的条件(不是当前的EF) |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘80’ | 基本文件标识符错误 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘82’ | 未找到文件 |
‘6A’ | ‘83’ | 未找到记录 |
‘6A’ | ‘84’ | 文件中存储空间不够 |
‘6A’ | ‘85’ | Lc与TLV结构不符 |
‘6A’ | ‘86’ | 参数P1或/和P2不正确 |
5.4.1 ERASE RECORD命令
5.4.1.1 定义和范围
ERASE RECORD命令专用于擦除居民健康应用的住院信息索引文件记录和门诊信息索引文件记录。使用安全报文方式擦除,如果尝试次数超过限制时,临时锁定当前应用。
擦除索引文件记录前,需要获得文件的擦除权限。
5.4.1.2 命令报文
ERASE RECORD命令报文编码见表5-42:
表5-42 ERASE RECORD命令报文
代码 | 值 |
CLA | ‘84’ |
INS | ‘0C’ |
P1 | 指定的记录号 |
P2 | 见表5-43 |
Lc | ‘04’ |
Data | 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 |
Le | 不存在 |
表5-43定义了命令报文中的引用控制参数:
表5-43 ERASE RECORD命令引用控制参数
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | 含 义 |
|
|
|
|
| 1 | 0 | 0 | 记录号在P1中给出 |
其余值 | RFU |
5.4.1.3 命令报文数据域
命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。
5.4.1.4 响应报文数据域
响应报文数据域不存在。
5.4.1.5 响应报文状态码
命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-44所示:
表5-44ERASE RECORD错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败(修改失败) |
‘67’ | ‘00’ | 长度错误(Lc域为空) |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘86’ | 不满足命令执行的条件(不是当前的EF) |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘83’ | 未找到记录 |
‘6A’ | ‘86’ | 参数P1或/和P2不正确 |
‘6E’ | ‘00’ | CLA错误 |
5.4.2 WRITE RECORD命令
5.4.2.1 定义和范围
WRITE RECORD命令专用于生效居民健康应用的住院信息索引文件记录和门诊信息索引文件记录,对记录文件写入特定值 ‘00H’。使用安全报文方式写入,如果尝试次数超过限制时,临时锁定当前应用。
写入索引文件记录前,需要获得文件的写入权限。
5.4.2.2 命令报文
WRITE RECORD命令报文编码见表5-45:
表5-45WRITE RECORD命令报文
代码 | 值 |
CLA | ‘84’ |
INS | ‘D2’ |
P1 | 指定的记录号 |
P2 | 见表5-46 |
Lc | ‘04’ |
Data | 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 |
Le | 不存在 |
表5-46定义了命令报文中的引用控制参数:
表5-46 WRITE RECORD命令引用控制参数
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | 含 义 |
|
|
|
|
| 1 | 0 | 0 | 记录号在P1中给出 |
其余值 | RFU |
5.4.2.3 命令报文数据域
命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。
5.4.2.4 响应报文数据域
响应报文数据域不存在。
5.4.2.5 响应报文状态码
命令执行成功的状态码是‘9000’。
IC卡可能回送的错误状态码如表5-47所示:
表5-47WRITE RECORD错误状态
SW1 | SW2 | 含 义 |
‘65’ | ‘81’ | 内存失败(修改失败) |
‘67’ | ‘00’ | 长度错误(Lc域为空) |
‘69’ | ‘81’ | 命令与文件结构不相容 |
‘69’ | ‘82’ | 不满足安全状态 |
‘69’ | ‘85’ | 使用条件不满足 |
‘69’ | ‘86’ | 不满足命令执行的条件(不是当前的EF) |
‘69’ | ‘88’ | 安全报文数据项不正确 |
‘6A’ | ‘81’ | 不支持此功能 |
‘6A’ | ‘83’ | 未找到记录 |
‘6A’ | ‘86’ | 参数P1或/和P2不正确 |
‘6E’ | ‘00’ | CLA错误 |