多重数字签名在专家会诊中的应用
2016-01-15王玉叶邵美芹常玲霞王凤英
王玉叶, 邵美芹, 常玲霞, 马 晓, 王凤英
(1. 山东理工大学 校医院, 山东 淄博255049;
2.淄博市中心医院, 山东 淄博 255000;
3.山东理工大学 计算机科学与技术学院,山东 淄博255049)
多重数字签名在专家会诊中的应用
王玉叶1, 邵美芹2, 常玲霞3, 马晓3, 王凤英3
(1. 山东理工大学 校医院, 山东 淄博255049;
2.淄博市中心医院, 山东 淄博 255000;
3.山东理工大学 计算机科学与技术学院,山东 淄博255049)
摘要:专家会诊信息作为电子病历的重要组成部分,其可信性与安全性已成为亟待解决的问题.基于数字证书技术,利用多重数字签名和哈希函数,提出了3种多重数字签名方案,并对3种方案进行了分析比较,实现了数字化的专家会诊信息的完整性、保密性和不可否认性,为解决医疗纠纷、医患纠纷日后审计奠定了技术基础.实际应用中,可根据效率、完整性、保密性和不可否认性等方面的需求选用某种方案.
关键词:多重数字签名; 专家会诊; 电子病历; 保密性; 不可否认性
收稿日期:2015-05-06
基金项目:国家自然科学基金项目(61473179);山东省科技发展计划项目(2013GGX10116);山东省自然科学基金项目(ZR2013FM013)
作者简介:王玉叶,女,hudielan863@163.com
文章编号:1672-6197(2016)01-0029-04
中图分类号:TP 393.08
文献标志码:A
Abstract:With the development of China's medical information, expert diagnoses information as an important component of the electronic medical record, its credibility and security has become urgent problems. Based on digital certificate technology, multiple digital signatures, and HASH function, the paper has realized the integrity, confidentiality and non-repudiation of digitization expert diagnose information, for solving medical disputes in future audits laid the technical foundation. We propose three multiple digital signature schemes, and analyze and compare the three schemes. In practical application, we can select some kind of scheme according to requirements of efficiency, integrity, confidentiality and non-repudiation.
Applicationofmultipledigitalsignaturesonexpertdiagnose
WANGYu-ye1, SHAO Mei-qin2, CHANG Ling-xia3, MA Xiao3, WANG Feng-ying3
(1.SchoolHospital,ShandongUniversityofTechnology,ZiboShandong255049,China;
2.CenterHospital,ZiboCity,Zibo255000,China;
3.SchoolofComputerScienceandTechnology,ShandongUniversityofTechnology,Zibo255049,China)
Keywords:multipledigitalsignatures;expertdiagnose;electronicmedicalrecords;confidentiality;non-repudiation
卫生部于2011年1月1日颁布电子病历系统功能规范(试行), 其中明确规定:电子病历系统在管理和使用过程中应该进行用户授权与认证,同时结合审计、数据存储、隐私保护以及数据管理等方式,确保电子病历数据的安全、可靠.电子病历目前已成为我国医院信息数字化建设工作的重点.在一些发达国家,如美、英、瑞典等国家已经进行了较深入的研究和应用 ,并组织医疗单位实施和普及.
文献[1-2]从法理方面探讨电子病历的地位、可行性与可实施性.文献[3]中,重点说明电子证书在证据证明中的重要性.文献[4]中,阐述美国联邦政府已成立了建立电子病历的委员会,提出了电子病历的分级保密制度.文献[5-6]是两套比较典型的电子病历系统,重点在于系统的实现,为了实现不可否认性,虽然涉及数字签名,但都没有详细论述.文献[7]中,基于属性加密通过移动终端设备实现电子病历的安全性.文献[8-9]笼统的给出了主治医生、科室主任、院长的一种多重签名的机制,既没有保证其保密性,还存在效率低的问题.
1数字签名技术
基本的数字签名要满足如下几个条件[10]:(1)签名是可信的;(2)签名是不可伪造的;(3)签名是不可重用的;(4)被签名的文件是不可改变的;(5)签名是不可抵赖的.
1.1 提高效率的数字签名方法
在实际应用中,由于采用公钥密码算法对长文件签名效率太低,通常对散列值进行数字签名就可以视为对此原文的数字签名,因为散列函数值(简称散列值或Hash值)可以说是原文的一种“指纹”或是“摘要”,通常是固定长度且非常短,比如MD5 算法是128bit,SHA-1是160bit[10].单向散列函数和数字签名算法是事先就协商好了的.通过对散列值进行数字签名,计算速度大大地提高了,并且两个不同的文件有相同的160bit散列值的概率为1/2160.因此,使用单向散列函数的签名和文件签名一样安全[10].
1.2 多重数字签名方法
为了实现数字化的专家会诊信息的完整性、保密性、不可否认性,为日后审计奠定技术基础, 需采用电子签名技术.专家会诊电子签名符合我国颁布的《电子签名法》,在法律方面满足需要.
专家会诊一般是根据病情判断,集多位专家的经验、智慧、意见做出的医疗结论、诊治判断等.纸质病历时代形成的专家会诊书面文件,由参与会诊的各个专家分别签名,以示每个专家同意会诊的结果.在电子病历时代,专家会诊的结果如何签名?首先签名是可用的,另外要保证其安全性.专家会诊中的电子签名利用多重数字签名实现.
多重数字签名就是多个人在同一份电子文件上进行数字签名.
假设有n个专家得出的专家会诊原始文件(简称原文)M,每个专家都有可信CA颁发的数字证书,每个数字证书都包含一个公钥,每个公钥都有其对应的私钥.签名用自己的私钥实现并用S来表示,验证签名用签名者的公钥实现并用V来表示,加密用自己的私钥实现用E来表示,解密用加密者的公钥实现并用D来表示.
第一种方法:
如果按照纸质文件签名的习惯,每个专家都应在同一份专家会诊文件上叠加签名;形成一份签名文件.
每个专家用自己的私钥在同一份专家会诊文件上签名,签名公式为
M1=Sn(…(S2(S1(M))…)
(1)
说明:S1(M)表示专家1用自己的私钥对括号里的内容—M签名,S2(S1(M)) 表示专家2用自己的私钥对括号里的内容--S1(M)签名,依次类推.
验证签名的公式为
M2=Vn(…(V2(V1(M1))…)
(2)
公式(1)能实现每个专家的签名,但是当对签过名的文件M1进行验证出现问题或纠纷时(M2≠M),无法准确判断哪个专家的签名出现了问题,难以追究责任人,不符合签名满足不可否认性的要求,达不到数字签名的要求.
第二种方法:
每个专家分别对电子文件签名,结果得到n份签名文件,签名的信息量是原文的n倍.与散列函数结合的方式导致签名效率低,为解决此问题常采用与散列函数结束的方式.
2专家会诊电子签名方案
较第一种方法不可取,在此探讨第二种方法的各种签名方案.
2.1 多重签名方案1
为了解决第一种方法中的签名文件出现问题时难以追究责任人,采用方法2,每个专家都分别在专家会诊文件 M上进行数字签名,专家1对文件 M签名,专家2对文件 M签名,…,专家n对文件 M签名.签名函数是Si(M)(i=1,2,…n).
这样每个专家形成一个签名文件.验证时,用专家的公钥验证签名的函数是Vi(Si(M)) (i=1,2,…n).
这样每个专家形成一个签名文件,但存在如下几个问题.
(1)保密性差.专家会诊文件往往包括很多个人隐私,具有很高的保密性要求.由于每个专家的公钥都是公开的,任何人只要拿到其中任何一个专家的签名文件,就可以用这个专家的公钥把专家会诊的文件解密出来.若敌手获取了第i个专家的签名文件Si(M),敌手就能得到专家会诊的原始文件.他利用第i个专家的公钥就可以恢复原始文件,验证签名的函数是Vi(Si(M)).
(2)效率低.由于签名一般采用公钥密码算法,当M很大时,公钥密码算法签名效率低,影响了这个方案的可实施性.
2.2 多重签名方案2
为了解决多重签名方案1中签名没有保密性的问题,这里增加验证者,验证者必须是可信的.假设可信验证者用CV 来表示.顺序是:首先签名专家用自己的私钥签名,然后再用验证者的公钥加密.签名函数是ECV(Si(M))(i=1,2,…n).
这样每个专家形成一个签名文件.验证时,首先用验证者的私钥解密,然后再用专家的公钥验证.验证签名的函数是Vi(DCV(ECV(Si(M))))(i=1,2,…n).
签名过程如图1所示,验证签名过程如图2所示.
图1 方案2签名过程
图2 方案2验证签名过程
在这个方案的实施过程中,为了保证保密性,签名用到了CV的公钥,验证签名必须用CV的私钥解开,就是说必须由验证者CV参与到验证签名的整个过程.只有当所有的专家签名验证成功,n个专家的签名才算整体验证成功,并且能把原文恢复出来.如果有其中任何一个专家的签名验证不成功,则验证失败,容易倒追责任.实际应用中,视情况可以采用少数服从多数的原则,当只有个别专家的签名验证不成功的时候,忽略验证不成功的专家.
2.3 多重签名方案3
方案2 仍然没有解决方案1效率低的问题.为了解决方案1中的签名效率低和保密的问题,采用与哈希函数——Hash结合的方式.首先计算M的Hash值: h=H(M), 然后每个专家分别对Hash值签名.签名函数是Si(h)(i=1,2,…n).
这样每个专家形成一个签名文件.验证时,首先用验证者的私钥解密,然后再用专家的公钥验证.签名函数是Vi(Si(h)))) (i=1,2,…n).
签名过程如图3所示,验证签名过程如图4所示.
图3 方案3签名过程
图4 方案3验证签名过程
为了保证保密性和效率,签名时计算M的哈希值,验证签名时只是对哈希值进行验证,验证成功后得到的是M的哈希值.
只有当所有的专家签名验证成功,n个专家的签名才算整体验证成功,不能恢复原文.实际应用中,在要求不是很高的情况下,与方案2一样可以采用少数服从多数的原则,忽略验证不成功的专家.
3多重数字签名方案比较分析
本文给出了三种签名方案,三种方案比较结果见表1.
表13种签名方案比较
方案签名特点优点缺点安全性方案1每个专家分别在专家会诊文件M上签名,形成多份签名文件.签名过程简单.签名效率低,缺少保密功能.具有完整性、不可否认性.方案2每个专家分别在专家会诊原文上签名,且还要用验证者的公钥对每个签名文件加密,形成多份签名文件.必须由指定验证者验证.签名效率低.具有保密性、完整性、不可否认性.方案3每个专家分别在专家会诊文件M的Hash值上签名,形成多份签名文件.签名效率高.用HASH值验证签名时只得到原文的HASH值.具有保密性、完整性、不可否认性.
三种方案,只要签名验证通过都能保证完整性和不可否认性. 第二种方案只能由指定验证者验证签名,其他两种任何人都可以验证签名.第三种方案HASH值验证签名后得不到原文.第二、 三两种方
案具有保密性.
方案1实现了基本的多重签名,由于签名过程简单容易实现,在不考虑签名效率和保密性的情况下可以使用.
方案2实现了保密性签名,并由指定验证者验证,可用于安全级别很高的专家会诊结论.
方案3兼顾效率和保密性,在只考虑验证原文HASH值的情况下可考虑使用.
实际应用中,可根据效率、完整性、保密性和不可否认性方面的需求选择某种方案.
4结束语
本文提出的多重签名方案,在电子病历的多重签名实际应用中,可根据效率、完整性、保密性和不可否认性方面的需求,选用其中某种方案.
参考文献
[1]王凯戎.电子病历的法律地位及应用的可行性[J].中华医院管理杂志,2005,21(8):554-557.
[2]林海燕,陈能太,病历无纸化及电子签名合法化的探索与实践研究[J],医学信息,2012,25(8):5-6.
[3]刘鑫.病历的证据价值[J],中国质量万里行,2010,18(4):44-44.
[4]刘山.使用“电子病历”是必然趋势[J],中国质量万里行,2010,18(4):44-44.
[5]HsiaoCJ,HingE,SoceyTC, et al.Electronichealthrecordsystemsandintenttoapplyformeaningfuluseincentivesamongoffice-basedphysicianpractices,18(17.3)[R].UnitedStates:NCHSDataBriefNo. 79,2011.
[6]LoberWB,WagnerS,QuilesC.Developmentandimplementationofalooselycoupled,multi-site,networkedandreplicatedelectronicmedicalrecordinHaiti[J].ACMSIGOPSOperatingSystemsReview, 2010, 43(4): 79-83.
[7]AkinyeleJA,PaganoMW,GreenMD, et al.Securingelectronicmedicalrecordsusingattribute-basedencryptiononmobiledevices[C]//Proceedingsofthe1stACMworkshoponSecurityandprivacyinsmartphonesandmobiledevices.2011: 75-86.
[8]陈乐君,石锐,李初民.基于XML多重签名的电子病历安全机制[J].计算机科学, 2007,34(12):136-138.
[9]李初民,陈乐君,石 锐.一种电子病历数字签名机制设计[J], 重庆医学, 2009,38(21):2651-2652.
[10]王凤英,程震.网络与信息安全[M].3版. 北京:中国铁道出版社,2015.
(编辑:刘宝江)