2023年7月10日发(作者:)
中图分类号:TP391 文献标识码:A 文章编号:1009-2552(2010)03-0112-03数字签名在医院信息系统中的应用马兴成,闫行健(哈尔滨工程大学自动化学院,哈尔滨150001)摘 要:在中国医疗改革的进程中,医疗信息系统的建设为医疗服务提供了强大的运行环境,数字签名技术是信息系统安全运行的重要保障技术,为电子病历等医疗信息的安全使用提供技术手段。首先对数字签名的概念、原理、意义进行了介绍,后对医院信息系统工作流程进行分析,向医院信息系统中加入了数字签名技术,并用Delphi开发工具和WeOnlyDo!Software公司开发的WodCrypt控件设计完成了数字签名系统,实现了对病历信息的签名和验证。关键词:数字签名;医院信息系统ApplicationofdigitalsignatureinhospitalinformationsystemMAXing2cheng,YANXing2jian(SchoolofAutomation,HarbinEngineeringUniversity,Harbin150001,China)Abstract:AsChinaiscarryingoutthemedicalreform,hospitalinformationsystem(HIS)lsignaturetechnologyisanimportanttechnologyguaranteeforthesafeofinformationsystem,paper,theconcept,analyzestheprocessofHIS,andaddsdigitalsignaturetechnologytoHISwithDelphidevelopmenttoolsandWodCryptcontrolsproducedbyWeOnlyDo!Softwarecompanies,ds:digitalsignatures;hospitalinformationsystem1 数字签名概述数字签名(DigitalSignature)是电子签名的一种特定形式,已经开始在电子商务和电子政务等领域推广应用[1]共享一个密钥。公钥密码体制是非对称密码体制,签名人具有一对密钥,私钥和公钥,私钥由其自己秘密保管,公钥对外公开,相对于对称密码体制,密钥管理更加安全。数字签名时签名人使用他的私钥对原始信息进行签名操作,产生签名信息,信息接收者接收到签名人的原始信息和签名信息,使用签名人的公钥对其签名信息进行验证,验证通过后就能确定原始信息不是他人冒充的、不是被篡改的、也不能被签名人抵赖的。数字签名应用于网络环境,身份鉴别是应用前提,公钥与私钥是成对的,为一个人或组织所有,如何确定某公钥的所有者,目前使用公钥基础设施(PKI)完成。收稿日期:2009-07-22作者简介:马兴成(1963-),男,硕士生导师,研究方向为生物医学工程。。2005年4月1日,我国《电子签名法》开始实施,在法律上明确规定电子签名与纸质签名具有同等法律效率。数字签名一方面是满足随着计算机网络与信息技术的发展产生的信息安全保障的需要,另一方面它又提供了比纸质签名更为安全方便的工作方式,具有比传统纸质签名不可比拟的优点。数字签名属于信息安全领域,以密码学原理为基础,提供电子信息的安全认证,包括身份鉴别、数据完整性和不可抵赖性等[2]。数字签名目前主要使用基于公钥密码体制的数字签名,比如RSA签名,DSA签名等。密码体制分为对称密码体制和非对称密码体制。在对称密码体制中信息发送和接收双方—112—© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 工程学家是这样定义PKI的,用公钥概念和技术来实施和提供安全服务的普遍使用的安全基础设施。换句话说,PKI是一个利用非对称密码算法(公开密钥算法)原理和技术实现的并提供网络安全服务的具有通用性的安全基础设施。它是一种遵循标准的利用公钥加密技术为电子商务,电子政务,网上银行和网上证券业,提供一整套安全保证的基础平台。用户利用PKI基础平台提供的安全服务,能在网上实现安全地通信。PKI这种遵循标准的密钥管理平台,能够为所有网上应用,提供加解密和数字签名等安全服务所需要的密钥和证书管理。PKI的核心执行机构是认证机构CA,其核心元素是数字证书。CA的组成主要有证书签发服务器,负责证书的签发和管理,这些管理包括证书归档,证书撤销和更新等;密钥管理中心,用硬件加密器产生公Π私密钥对,提供CA证书的签发;目录服务器负责证书和证书撤销列表(CRL)的发布和查询。PKI的结构图如图1所示[3]。图1 PKI的结构图 信息接收者通过可信任的第三方认证权威机构(CA)对信息发送方的进行身份认证。信息发送者具有某CA颁发的数字证书(Certificate),信息接收者从得到的信息发送者的数字证书上可鉴别其身份真伪。数字证书是二进制文件,其中包括一个公开密钥,拥有者身份信息以及对这些内容的数字签名。证书有一定的格式,目前使用较多的一种是国际电信联盟的X.509证书格式标准,CA用数据库存储其发行的数字证书,用户通过CA服务器获得证书和使用CA的公钥对证书进行验证。在一个大的群体范围内,数字证书不可能由一个CA来管理,多个CA之间通过建立认证模型管理认证证书,常用的信数字签名为基础的安全性管理,为解决医疗纠纷提供法律依据,很有实际意义[5]。本文对医院信息系统中实现数字签名进行了实验探索。在医院局域网内建立医院的CA,管理所有用户的数字证书。信息所有者对其生成的数据在保存之前进行数字签名,数字签名与原始数据一同保存在医院信息系统业务数据库中,这些原始数据可以直接使用,也可以对其签名进行验证。具体实现时,仅在原有的医院信息系统软件基础上,设计数字签名模块和验证模块融合到医院信息系统中,就可实现对信息的签名和验证功能。任模型包括层次模型、交叉信任模型和网状模型。3 软件设计实现数字签名系统的设计首先是CA的建立,实现数字证书的请求、发行、认证等功能;其次是数字签名与验证程序的设计,实现信息的签名与验证[6]2 数字签名在医院信息系统中的应用方案我国正在进行医疗制度改革,使大众获得更好的医疗服务保障。其中很重要的一项内容就是建立各级医疗信息系统,包括医院信息系统,为医疗服务和医院管理提供软件平台,实现无纸化和无笔化办公[4]。本文对后者进行介绍。软件设计采用Delphi工具和WeOnlyDo!Software公司的WodCrypt控件实现。Del2phi是优秀的快速应用程序开发工具,集成开发环境,采用可视化、面向对象技术,支持工业标准,具有开放性结构。WodCrypt控件包是专门的加密、签名、—113—。因此对以电子病历为代表的医疗信息进行以© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 密钥管理、证书管理的工具。安装到Delphi环境后可以直接通过控件提供的方法和属性进行程序设计,实现各种功能。下面详细介绍控件的用法。3.1 控件安装[7]主要方法有Generate用于生成一个自签名证书,GenerateKey生成一个私钥,Save保存证书到文件,SaveKey保存私钥到文件,Load从文件载入证书,LoadKey从文件载入私钥,Request产生一个证书请从http:ΠΠ网站上下载一个30日的演示版安装程序,执行安装后将在Windows的System32文件夹中生成、、文件。然后在Delphi中从Project主菜单选择ImportTypeLibrary子菜单,在打开的窗口中选择刚刚生成的DLL文件对应的控件进行安装,缺省安装到控件板的ActiveX页上,安装成功后在Delphi的控件板上ActiveX页就多了一组控件,分别是TKeys、TwodCrypt、TMemBlob、TFile2Blob、TBlob、TCertificate、TCertificates、TCertLocation、TCertStores控件。3.2 控件介绍TKeys是一个处理私钥和公钥的控件,它能进行求,Show显示证书。TCertificate的主要属性有Data保存证书原始数据,Text保存证书文本数据,Coun2try、Email、Issuer等保存国家、电子邮件、发行者等信息,ValidFrom、ValidTo保存证书有效期起止时间,Se2riaNumber保存系列号,PublicKey、PrivateKey保存公钥和私钥。3.3 软件设计在医院信息系统软件原来功能基础之上增加证书管理、签名、验证功能,即可实现医疗信息的签名功能。3.3.1 证书管理在医院局域网范围内可以简化证书管理,建立一个单一的CA,建立一个证书服务器数据库,管理所有人员的数字证书。证书格式采用常用的X.509格式,提高系统兼容性,方便以后的升级。为了使用方便,由服务器统一保管私钥,这样就没有由于个人私钥保管不当丢失带来的麻烦,系统实现也简单了。图2给出了一个标准格式的数字证书的例子。在医院信息系统的用户库中,指定的用户可以申请数字证书,证书管理程序要求申请人设置密码,这个密码就是他以后获取私钥时要提供的密码,服务器证书管理程序为申请人发行证书,证书库包括用户代码和数字证书内容。数字证书中统一使用SHA21摘要算法和RSA签名算法。与认证服务器相关的密钥的生成、载入、保存等操作,TKeys为其它WeOnlyDo!控件提供密钥有关的处理功能,它不单独使用。Tkeys控件封装的主要方法有Generate、Load、Save、PublicKeyLoad、PublicKeySave。Generate生成一对密钥,Load从文件载入密钥,Save保存密钥到文件,PublicKeySave从文件载入公钥,Pub2licKeySave保存公钥到一个文件。TKeys的主要属性有PrivateKey、PublicKey,保存着私钥和公钥。TwodCrypt是能提供强大的密码学运算的控件,比如DES、AES等对称加密解密算法,RSA、DSA数字签名与验证算法、MD5、SHA1等哈希摘要算法。为了执行数据处理,它需要与Blobs(二进制大对象)一起工作,可以使用TFileBlob和TMemBlob控件生成的对象实现数据的读写。TBlob是数据存储对象的抽象定义,它不能直接生成和使用,而是使用TFile2Blob和TMemBlob,分别保存文件和内存中的数据。TFileBlob的主要方法包括FromArray、FromHex、From2Base64、ToArray、ToHex、ToBase64用于读写不同格式的数据文件。TFileBlob的主要属性有Filename、Text,分别保存文件名和Blob数据的内容。TMem2Blob与TFileBlob类似,它没有Filename属性,但有FromFile和ToFile方法。TwodCrypt的主要方法有Encrypt、Decrypt分别用于对Blob加密解密,Digest用图2 数字证书3.3.2 签名对电子病历的签名被设计成自动实现。医生工作站操作医生登录软件后,选择获取私钥功能,提供其私钥密码,成功之后就可进行签名操作。在医生打开、编辑和保存电子病历到数据库之后,开始数字签名操作。首先计算摘要,然后用私钥对摘要进行签名。签名数据也保存的数据库,与病历数据相关联。实际上它们是病历数据库表的不同字段,类型都是Blob。软件中将算法固定为RSA和SHA21。(下转第118页)于生成摘要,Sign用于签名,Verify用于验证签名。TwodCrypt的主要属性有Type用于决定算法,Secret2Key用于保存算法使用的密钥。TCertificate控件用于管理证书,它能生成、保存和载入证书,能提供认证有关的密钥。Tcertificate的—114—© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 正常,则开始检查行输出管V502的集电极110V电压,若有,此时可以观察一下显像管的灯丝是否亮。②若行输出管V502的集电极有110V电压,并且显像管的灯丝亮,则说明行推动与行输出部分电路都正确,无需再检查,可做如下几个工作。调整行输出变压器T502一侧的加速极旋钮,观察荧光屏是否亮。若屏幕上无任何反应,则测量加速极电压380V左右。若加速极电压在380V范围之内,则进一步查彩色电视机的末级视放电路部分的视放电压为175V,三个视放管集电极电压为125V。若三个视放管的集电极电压不是125V,而是175V,则表明显像管尾板上的末级视放电路出现故良,并检查此集成块本身是否损坏。若V501基极电压正常(0.5V),再次用万用表测量行推动管V501的集电极电压是否正常(正常时为60V),以此可判断是行推动级故障还是行输出级故障,进一步缩小故障范围。若行推动管V501的集电极电压正常,则故障在行输出电路,应查V502、T502。若行推动管V501的集电极电压为0V,则说明行推动变压T501初级开路或电阻R504开路。若行推动管V501的集电极电压偏低,则说明行输出变压器T502损坏。3 结束语彩色电视机扫描系统部分故障很多,以上主要对行扫描电路和场扫描电路出现的两个典型故障进行了分析。为确保故障的正确排除而不至于走更多的弯路,扩大故障范围,作为维修人员应该熟悉行场扫描电路的组成与工作原理。参考文献:[1] 章夔.电视机原理与维修[M].北京:高等教育出版社,2006.[2] 刘俊起,王俊.彩色电视机原理与维修[M].大连:大连理工大障,三个视放管均进入截止状态,将导致显像管的三个电子束截止,荧光屏上无光栅。③若行输出管V502的集电极正常地加入110V电压,但显像管的灯丝不亮,则说明行不振荡。具体实施步骤:以行推动级V501部分为基准点,用万用表来测量判断是行推动级之前还是行推动级之后的故障。若V501基极的直流电压为0V,则故障在行推动之前电路,此时应重点检查TA7698AP32脚电感L309是否开路,34脚行振荡定时电容C361是否不(上接第114页)进行数字签名的过程可总结为以下几步:学出版社,2008.[3] 王成福.电视机原理与维修[M].北京:机械工业出版社,2004.[4] 肖运虹.电视技术[M].西安:西安电子科技大学出版社,2005.责任编辑:么丽苹(1)用已申请的证书登录系统。(2)系统验证证书,包括其证书的合法性、有(4)客户证书验证原始数据的签名完整性。(5)如果以上各项均验证通过,则接受该数据。效性。(3)通过后,确定用户身份,用户用证书中的私钥进行数字签名。3.3.3 验证签名验证的使用场合首先是医生本人,他在每次打开编辑他上次保存的病历时,可以先验证一下。另外的场合是医生或医院管理者查看他人病历时,可以验证医生的签名。验证过程是验证人得到病历数据和签名数据,从病历数据计算摘要,再从服务器获取签名人公钥,用这个公钥对签名执行验证操作,验证操作的输出是一个Hash摘要,如果这个摘要与从病历数据计算的摘要相同,则验证通过,否则验证未通过。验证过程可总结为以下几步:(1)验证时验证者从服务器中找到需要验证的用户证书并下载。(2)检查客户证书是否有效(当前时间在证书结构中的所定义的有效期内)。(3)检查客户证书是否作废(可采取黑名单方式)。—118—4 结束语软件系统在原来的医院信息系统基础上增加了数字签名功能。由于在局域网范围内,可以简化签名系统的设计。包括简化了认证模型,简化的签名与验证过程。采用第三方控件,控件封装了密码学算法,程序设计时调用其提供的算法简化了编程工作。本文对数字签名在医院信息系统中的应用进行了初步的尝试,能满足医院一般的签名与认证要求,即数据完整性和不可抵赖性。对系统的进一步改进还有许多工作,以使其能满足一些复杂的应用要求。参考文献:[1] 阙喜戎,等.信息安全原理与应用[M].北京:清华大学出版社,2003.[2] 赵泽茂.数字签名理论[M].北京:科学出版社,2007.[3] 李明柱.PKI技术及应用开发指南[M].北京邮电大学信息安全中心,2002.[4] 易利华,等.医院信息化的现状和发展展望[J].南京医科大学学报,2006(6).[5] 黄建初.《中国电子签名法》释义及应用指南[M].北京:中国民主法制出版社,2004.[6] 张栓记,等.数字签名技术的应用研究[J].信息安全,2007(6).[7] [CPΠDK]http:ΠΠΠwodcrype.责任编辑:张荣香© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688941198a186097.html
评论列表(0条)