居民健康卡密钥系统运行分析

居民健康卡密钥系统运行分析

于志华陈文(通迅作者)郑子荣

(四川省卫生信息中心四川成都610041)

【摘要】居民健康卡是实现医疗卫生服务信息跨机构、跨地域互联互通、资源共享、业务协同的“金钥匙”。本文针对居民健康卡密钥系统部署以来出现的各种问题,分析了产生问题的原因,提出了系统改进方向。

【关键词】居民健康卡;密钥管理;复位响应信息

【中图分类号】R19【文献标识码】A【文章编号】2095-1752(2015)09-0047-03

ResidentshealthcardkeysystemoperationanalysisYuZhihua,ChenWen,ZhengZirong.TheHealthInformationCenterofSichuanProvince,Chengdu610041,China

【Abstract】Residents'healthcardistoachievehealthserviceinformationacrossagencies,cross-regionalinteroperability,resourcesharing,businesscollaboration"goldenkey."Inthispaper,sincetheresidents'healthcardkeysystemtodeployvariousproblems,analyzethecauseoftheproblem,theproposedsystemimprovementsdirection.

【Keywords】Residents'healthcard;KeyManagement;ATR

为实现卫生系统的多卡融合,有效解决目前新农合卡、医院就诊卡不兼容,不能跨地区、跨医疗机构使用等问题,原卫生部提出加快居民健康卡推广应用,实现在医疗卫生服务活动中居民身份识别、个人基本健康信息记录、跨机构跨区域数据交换和费用结算功能,方便居民看病就医和开展健康管理[1]。

2013年7月12日,国务院总理李克强主持召开国务院常务会议,要求“推进教育、医疗优质资源共享,普及应用居民健康卡”。8月8日,国务院提出实施“信息惠民工程——居民健康卡试点专项”[2]。

为了降低居民健康卡产生伪卡、重复卡的风险,通过导入居民健康卡芯片的复位响应信息(简称ATR,由卫生部备案序列号、芯片唯一序列号、COS生产流水号组合的8字节字符串,能够保证卡片芯片的唯一性)对制卡申请进行判定。

居民健康卡密钥管理系统是居民健康卡应用的核心,其安全机制、硬件设备、软件系统等关系到居民健康卡应用的安全。

1.居民健康卡密钥管理系统概述

居民健康卡密钥管理系统采用对称密码体制构建居民健康卡安全体系,用于实现对居民健康卡的身份识别、操作权限鉴别和安全报文传送。实行全国统一的分级密钥管理体系。原卫生部建立居民健康卡密钥体系及国家级居民健康卡密钥管理系统,建立全国根密钥管理中心,采用两级管理结构,制订密钥管理制度,负责生成和管理全国的一级根密钥,并按照统一规则生成二级根密钥,分发给省级卫生行政部门。省级卫生行政部门建立本级居民健康卡密钥管理系统,建立二级密钥管理中心。制订密钥管理制度并报卫生部备案,负责管理使用二级根密钥,按照统一规则生成卡片密钥,通过密钥技术防止数据被篡改。

密钥系统中密钥间的层次关系如下图:

图密钥间的层次关系图

密钥系统产生的密钥实行分级、分散管理。

“分级”是指密钥分为部级密钥和省级密钥,部级密钥由部级密钥管理系统生成并负责管理,省级密钥由部级密钥管理系统生成并下发给省级,省级再负责管理。“分散”是指密钥的生成通过逐级分散产生。对于部级密钥,根密钥分散产生应用根密钥,应用根密钥分散产生省级主密钥,省级主密钥分散产生用户卡密钥[3]。

各市州卡密钥由省级密钥系统统一生成。密钥系统通过导入的复位响应信息,根据离散因子离散出的密钥数据,通过VPN专网发送给制卡商。业务流程如下:

2.密钥系统运行情况

我省采用和原卫生部一致的密钥系统,2013年6月安装部署,截止2014年3月共生成32万余条。下面记录的是历次密钥生成情况见表。

由表可见,系统共生成六批次密钥。只有第六批一次成功,其它五批次均要反复生成。第一批生成两次,第二批生成两次,第三批生成四次,第四批生成四次,第五批生成三次。

3.问题分析

理论上来说,所有密钥都应一次生成成功。生成时间和数据量有关,数据量越大,需要的时间就会越长。

3.1ATR问题

国家卫计委上传至DPS的ATR值命令规则:KD_产品号_银行编码_卡商编码_省(市)级批次号_数据生成时间(yyyymmdd).txt。

第一批时,系统生成密钥超过一周以上仍旧没有停止,陷入死循环,需要人工强制结束。经查证是ATR格式不对或有重复。之后因为系统暂时无法满足查重,密钥商提供了一个外挂ATR检测小程序。但是该程序只在第六批数据中出检测出一条非法字符过长、过短或含空行等。其余几批技术人员反映ATR格式有误,但检测程序并未检测出,而是靠技术人员手工将ATR数据排序后查重。

对于一个密钥系统来说,本身就应该带有ATR检测功能,在检测出数据有误时,系统中能够报错,自动转入下一条数据,而不是现在的死循环。ATR文件后缀名.TXT也成为生成错误的原因,需要改成小写,这应该是系统的一个很难发现的小BUG。

3.2卡商多次未收到密钥问题

密钥生成后系统会通过VPN自动发送给卡商,卡商将接收数据放到中转服务器上in目录下,两三分钟后自动转移。如果没有接收到数据,事后很难查清楚数据走向。后调整放在out目录下,人工进行转移。之后的第六批密钥生成未出现问题,所以暂时很难判定未收到密钥是系统问题还是卡商接收问题,需要进一步分析原因。卡商在被告知密钥已经发送后没有及时反馈是否收到也是遇到的问题之一,有时候甚至是生成完成一个多月以后才发现没有收到密钥数据。出于安全考虑,卡厂设置了中转服务器,而中转服务器早就将数据转移到其他众多的服务器上,技术人员费尽心思也难以找到。唯一的解决办法就是重新生成密钥。

3.3密钥文件名问题

目前全国已经有15个省市开始居民健康卡建设工作,必然会遇到一个以上地区选择同样的制卡商。而并发导入密钥时系统只能显示先导入的批次而不能显示后几批的密钥情况,不能从文件名判断地区、密钥的数量、导入结束后的时间,导入失败时也无信息显示等等一系列的问题暴露出来。密钥系统要正常运行,必须从根本上解决命名问题,以区分不同的地区。

3.4小加密机出现的问题

目前大部分卡商使用的还是小加密机,推送1万条数据的密钥大约需要70~80分钟,5万条密钥大约要7~8小时左右,而且还可能推送失败,推送失败率高。在需要大批量发卡的情况下,密钥导入性能很难保证进度。个人化并发生产性能:开一台个人化设备,生产大约在1400~1500张每小时;开两台个人化设备的速度大约在1000~1100张之间;开三台设备的时候速度猛降,大约是在500~900之间,而且废卡率猛增,如此严重抛卡无法进行生产,增加补卡时间和成本,且无法满足开多条产线生产。

4.解决办法及建议

4.1加强密钥系统功能,满足各种应用需要

系统自身功能需要完善,目前暂未满足用户要求。无查重功能,应增加ATR验证,出错时能够提示报错。重复ATR应能自动删除,如果是格式或长度问题只有将ATR返回给COS商。做到生成密钥前先验证,把因ATR问题造成的密钥生成错误防范在系统前端。

增加统计各市州密钥生成量,能够查找具体时间段数量,便于省级行政部门了解掌握各地进度。

系统中大部分功能在实际应用中使用率不高,能用到的只是少部分,应去掉这些不必要功能。精简美化操作界面也是需要解决的问题,增加可操作性、友好性。

4.2建立沟通机制

COS技术人员将ATR发送给密钥操作人员,操作人员在生成密钥前通知密钥商、卡商技术人员,三方一起实时监控密钥生成状况,一旦出现异常,及时处理。生成结束后卡商技术人员查询数据是否收到,收到后通知密钥操作员,形成反馈机制。至此为一个完整的密钥生成机制。

4.3使用大功率的加密机,提高密钥导入性能

推送50000条数据的密钥大约需要2个小时左右。开启一台设备的个人化并发生产大约在1800~1900张之间。开启两台或者3台设备之后,生产速度相对比较平稳,维持在1800张左右,无明显的验证抛卡现象。在其它项目中都会使用此种加密机,性能较为稳定,基本能够满足居民健康卡项目建设要求。

4.4增强人员安全意识

密钥系统本身是为了保护数据安全而建,各级操作人员有不同的操作权限,最高权限应为省级操作员,系统维护人员没有修改数据的权利。系统升级前要用备份,之前的生成日志不能丢失。

居民健康卡制卡流程复杂,和传统产品区别很大,给卡商的生产模式也带来很大的挑战,牵涉到多方的进度。密钥商、卡商行政部门必须通力配合,共同面对遇到的新问题,带着实事求是的态度找到解决途径,才能保证足够的产能,顺利生产,完成制卡任务。

【参考文献】

[1]原卫生部,《卫生部办公厅关于加快推进居民健康卡发行应用工作的通知》[Z],2014-1-10.

[2]国务院,《关于促进信息消费扩大内需的若干意见》,2018-8-8.

[3]原卫生部.居民健康卡建设指南(V1.0).北京:卫生部.2012-9.

标签:;  ;  ;  

居民健康卡密钥系统运行分析
下载Doc文档

猜你喜欢