• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于XML的數(shù)字簽名在電子病歷的應(yīng)用方法

      2016-07-20 01:20黃海平
      關(guān)鍵詞:哈希數(shù)字簽名病歷

      黃海平

      摘 要:針對(duì)文件數(shù)字簽名在電子病歷應(yīng)用中存在只能整體簽名、重復(fù)性簽名等諸多限制和問題,提出改用XML數(shù)字簽名。實(shí)現(xiàn)結(jié)果表明,XML數(shù)字簽名可支持多種方式的文檔數(shù)據(jù)轉(zhuǎn)換,可以實(shí)現(xiàn)對(duì)電子病歷進(jìn)行部分和多方簽名驗(yàn)證,并能提供清晰易讀的密鑰信息,更加便于簽名的自動(dòng)檢驗(yàn)處理。因此,在電子病歷的應(yīng)用中,XML數(shù)字簽名較文件數(shù)字簽名在平衡安全性和數(shù)據(jù)庫空間節(jié)約性上具有明顯優(yōu)勢。

      關(guān)鍵詞:空間節(jié)約XML;語言數(shù)字簽名

      中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A

      1 引言

      目前,隨著醫(yī)療信息化建設(shè)的不斷深入開展,國內(nèi)的各個(gè)層級(jí)的醫(yī)院已經(jīng)普遍淘汰了紙質(zhì)電子病歷,采用電子病歷系統(tǒng),而電子簽名法的誕生,意味著數(shù)字簽名技術(shù)將逐步保障電子病歷的安全性和保密性[1]。近年來,國內(nèi)外醫(yī)療信息化科技工作者對(duì)數(shù)字簽名技術(shù)在電子病歷的應(yīng)用方面做了諸多研究,尤其是防篡改和安全可靠保障的相關(guān)技術(shù)已經(jīng)比較成熟,在美國推出了《數(shù)字簽名法》[2-3],鼓勵(lì)信息行業(yè)采用數(shù)字簽名技術(shù)保證電子病歷的安全,國內(nèi)學(xué)者開展了數(shù)據(jù)結(jié)構(gòu)加密、數(shù)字水印等多種電子病歷加密方法[4-5],但是,更具應(yīng)用潛力的XML數(shù)字簽名技術(shù)在電子病歷上的應(yīng)用研究相對(duì)較少,本文著重從平衡安全性和數(shù)據(jù)庫空間節(jié)約性上,討論XML數(shù)字簽名技術(shù)在電子病歷的應(yīng)用。

      2 文件數(shù)字簽名和XML數(shù)字簽名的技術(shù)

      原理

      2.1 電子病歷XML數(shù)字簽名生成

      電子病歷XML數(shù)字簽名算法生成過程中,針對(duì)要的簽名對(duì)象計(jì)算其摘要值,然后執(zhí)行簽名。XML數(shù)字簽名的形成分為兩部分操作,第一是形成Reference元素,第二是形成Signature元素[6]。

      1.Reference 元素的生成:

      步驟1:先用Transform對(duì)需要產(chǎn)生摘要的內(nèi)容進(jìn)行統(tǒng)一化處理;

      步驟2:根據(jù)哈希函數(shù)產(chǎn)生摘要哈希值,可用于對(duì)數(shù)據(jù)的接收方進(jìn)行摘要核對(duì);

      步驟3:創(chuàng)建一個(gè) Reference 元素,作為父元素,子元素包含 DigestMethod、DigestValue元素??蛇x的Transforms元素中的子元素要先后順序處理。

      2.Signature元素的生成:

      步驟1:首先創(chuàng)建SignedInfo元素,并作為父元素,子元素包括SignatureMethod元素、CanolicalizationMethod元素以及若干個(gè) Reference 元素。

      步驟2:把步驟1創(chuàng)建的SignedInfo元素輸入到CanolicalizationMethod元素中,進(jìn)行規(guī)范化的處理,輸出結(jié)果以便作為數(shù)字簽名的輸入內(nèi)容,再結(jié)合KeyInfo中的信息進(jìn)行數(shù)字簽名。

      步驟3:創(chuàng)建Signature元素,把步驟2的結(jié)果賦值給SignatureValue 元素,同時(shí)將SignatureValue 元素連同Signedlnfo元素、Keylnfo 元素,三個(gè)元素作為子元素封裝到 Signature 元素中,在封裝式簽名的情況下,也可把Object元素也封裝進(jìn)來。

      圖1 電子病歷XML數(shù)字簽名過程流程圖

      2.2 電子病歷XML數(shù)字簽名的驗(yàn)證原理

      電子病歷XML數(shù)字簽名的驗(yàn)證是一個(gè)發(fā)送方封裝公鑰解密過程,具體是根據(jù)Reference元素里被簽名的文檔和被簽名的加密算法重新計(jì)算得出被簽名文檔的摘要,與發(fā)送方提供的摘要對(duì)比,如果一致則說明沒有被篡改[7]。驗(yàn)證過程包括了引用驗(yàn)證和簽名驗(yàn)證兩個(gè)部分。

      圖2 電子病歷XML數(shù)字簽名驗(yàn)證過程流程圖

      1.引用驗(yàn)證給過程是首先用CanolicalizationMethod元素規(guī)范化處理SignedInfo元素;然后從中提取出數(shù)據(jù)源引用并作轉(zhuǎn)換處理,將這時(shí)的輸出作為Digest要處理的輸入生成數(shù)據(jù)摘要值;最后將 signedInfo元素中提取的DigestValue元素值與前面生成的摘要值兩兩匹配,一致則驗(yàn)證完成。

      2.簽名驗(yàn)證流程是先從KeyInfo元素提取出驗(yàn)證密鑰;然后通過SignatuerMethod元素的規(guī)范處理確定發(fā)送方使用的簽名算法。把收到的簽名值和經(jīng)過算法計(jì)算出來的SignatureValue元素值對(duì)照,一致則證明簽名正確[8]。

      3 電子病歷XML數(shù)字簽名的設(shè)計(jì)和實(shí)現(xiàn)

      3.1 電子病歷XML數(shù)字簽名的算法流程設(shè)計(jì)

      步驟1:客戶端新建一份電子病歷文檔,對(duì)簽名的驗(yàn)證端發(fā)送包含簽名者和病人身份信息的追加簽名請(qǐng)求;

      步驟2:簽名驗(yàn)證端提取追加簽名請(qǐng)求的簽名者和病人身份信息;

      步驟3:簽名驗(yàn)證端按照以下的步驟完成對(duì)簽名者的身份驗(yàn)證:

      1.簽名驗(yàn)證端發(fā)送隨機(jī)信息給客戶端;

      2.客戶端簽名者用私鑰對(duì)信息加密后反饋給簽名驗(yàn)證端;

      3.簽名驗(yàn)證端向CA認(rèn)證機(jī)構(gòu)調(diào)用了簽名者的公鑰進(jìn)行消息解密,并將結(jié)果與所發(fā)送的隨機(jī)消息比照。

      圖3 數(shù)字簽名邏輯流程圖[9]

      步驟4:若一致,則進(jìn)行步驟5,不一致,則行步驟15;

      步驟5:簽名驗(yàn)證端通過身份驗(yàn)證,建立遠(yuǎn)程數(shù)據(jù)庫連接,通過對(duì)數(shù)據(jù)庫的查詢提取出簽名者和病人的身份信息,并把查詢結(jié)果反饋給客戶端;

      步驟6:若查詢結(jié)果為空,則進(jìn)行步驟7,若不為空,則進(jìn)行步驟8;

      步驟7:若查詢結(jié)果為空,證明是簽名者對(duì)病人的第一份簽名的病歷(不是要追加的病歷),客戶端直接用私鑰簽名后發(fā)送給簽名驗(yàn)證端(具體案例內(nèi)容見下面3.2.1的內(nèi)容),首先簽名者用把要簽名的病歷代入哈希函數(shù),得出一個(gè)哈希值,也就是文章摘要,再用私鑰加密,形成數(shù)字簽名,然后,執(zhí)行步驟12;endprint

      步驟8:如果查詢結(jié)果不為空,則表明這一份不是簽名者對(duì)該病人的初始病歷,簽名認(rèn)證端遠(yuǎn)程訪問數(shù)據(jù)庫,提取除去簽名信息的已有的電子病歷文檔,再重新發(fā)送給客戶端;

      步驟9:客戶端將步驟1新建的電子病歷文檔追加到原有的電子病歷文檔中,并對(duì)復(fù)合后更新的電子病歷文檔進(jìn)行簽名,再發(fā)送給簽名認(rèn)證端保存;

      步驟10:簽名認(rèn)證端將追加后更新的電子病歷與原有的電子病歷對(duì)應(yīng)部分進(jìn)行比照;

      步驟11:如果被篡改,則進(jìn)行步驟15,如果沒有被篡改,則進(jìn)行步驟12;

      步驟12:簽名認(rèn)證端通過CA認(rèn)證機(jī)構(gòu)調(diào)用了簽名者的公鑰對(duì)文檔簽名進(jìn)行驗(yàn)證,具體驗(yàn)證過程如圖2所示,用公鑰解密將數(shù)字簽名轉(zhuǎn)化為哈希值,與接收的電子病歷代入哈希函數(shù)得出的哈希值,兩相比較;

      步驟13:若一致,則執(zhí)行步驟14,若不一致,則執(zhí)行步驟15;

      步驟14:將已簽名的更新后的電子文檔存入數(shù)據(jù)庫,并刪除原有的電子病歷文檔,避免空間的重復(fù)浪費(fèi);

      步驟15:將結(jié)果反饋給客戶端。

      3.2 基于XML數(shù)字簽名電子病歷的語言實(shí)現(xiàn)

      為了實(shí)現(xiàn)圖3XML數(shù)字簽名邏輯流程圖步驟7 “直接簽名”需要新建一個(gè)XML電子病歷文檔medicalRecords類[10],該新建文檔經(jīng)過圖3流程圖“直接簽名”后,所形成醫(yī)生簽名了的“新建電子文檔”PatientCrecord類。

      根據(jù)圖3的流程圖在原有已經(jīng)簽名電子病歷文檔的基礎(chǔ)上,追加內(nèi)容并再次簽名的實(shí)現(xiàn)。

      原簽名的電子病歷:

      B

      2014-01-20

      xmldsig#sha 1”/>

      iA0CV/biI1Ym9QXNwWDO800KvnM

      =

      Ounufo8k3IR89rWQp0RiS72ad68WuZPrjFD4SpPgAx8CWmUZDw/iNA=

      追加了2.1病歷內(nèi)容以后數(shù)字簽名并在數(shù)據(jù)庫更新后的電子病歷文檔如下:

      zegsCxd0HM5JxQY/rqBctpLtgO0=

      ixcZLOCaZxo14Awyg8fcGofIPzuH6oWnqvYvdI9hXzkTqTSPvzsGBw=

      4 XML數(shù)字簽名與文件數(shù)字簽名的比較

      分析

      文件數(shù)字簽名是醫(yī)生針對(duì)整份電子病歷采用私鑰簽名存檔,表面看上去比較方便,但實(shí)際不易于數(shù)據(jù)庫的管理,因?yàn)榇嬖诙辔会t(yī)生對(duì)同一份病歷進(jìn)行重復(fù)性簽名,這對(duì)于存儲(chǔ)空間無疑是一種浪費(fèi),而XML數(shù)字簽名可以針對(duì)一份病歷中任一部分的內(nèi)容進(jìn)行簽名,比如醫(yī)生A對(duì)第一部分簽名,醫(yī)生B對(duì)第二部分,以此類推。因此,XML數(shù)字簽名在平衡安全性和數(shù)據(jù)庫空間節(jié)約性上具有明顯優(yōu)勢[11]。

      另外,由于XML語言本身的可擴(kuò)展性和開放性的特征,可以實(shí)現(xiàn)對(duì)XML文檔進(jìn)行部分簽名和多方簽名,而文件的數(shù)字簽名[12],如下圖所示,只能對(duì)整個(gè)電子病歷文檔進(jìn)行整體簽名。

      圖4 文件數(shù)字簽名運(yùn)行界面

      同文件數(shù)字簽名對(duì)比,XML數(shù)字簽名可支持多種方式的文檔數(shù)據(jù)轉(zhuǎn)換,并對(duì)文檔特定部分進(jìn)行簽名和驗(yàn)證,并且其提供的密鑰信息的表示清晰易讀,更加便于簽名的自動(dòng)檢驗(yàn)處理[13]。下圖5,則是根據(jù)圖4所示的同一內(nèi)容的電子病歷,其中一部分進(jìn)行簽名。

      圖5 XML數(shù)字簽名運(yùn)行界面

      參考文獻(xiàn)

      [1] 高春芳,唐曉東,羅娟.電子病歷系統(tǒng)應(yīng)用現(xiàn)狀及前景展望[J].醫(yī)療衛(wèi)生設(shè)備,2013,3:76-78.

      [2] Zhang Wenji,Yang Jinshe. Discussion on the development trend of electronic Medical records management[J]. Journal of Practical Medical Techniques, 2013, (10): 124-125.

      [3] Xue Manguo. The Research Development of Electronic Medical Records in China[J]. Chinese Hospital Management, 2012,25(02): 17-20.

      [4] 陳海彪.對(duì)電子病歷存儲(chǔ)及簽名的研究[J].廣東科技,2013,7(14):43-47.

      [5] 隋暖.基于數(shù)字簽名技術(shù)的移動(dòng)公文流轉(zhuǎn)系統(tǒng)的研究與實(shí)現(xiàn)[D].山東:中國海洋大學(xué),2014.

      [6] 袁博.淺談電子病歷的數(shù)據(jù)安全控制策略[J].數(shù)字技術(shù)與應(yīng)用,2014,7:185-185.

      [7] 朱建娜.醫(yī)院信息化建設(shè)電子病歷法律效力如何保障[J].吉林醫(yī)學(xué)信息,2014,30(2):20-22.

      [8] 梁方舟.數(shù)字簽名在門急診信息化中的應(yīng)用研究[J].中國循環(huán)雜志,2013,8:102-107.

      [9] 宋余慶,陳健美,馮江.一種基于XML的電子病歷數(shù)字簽名方法:中國,ZLCN102457508A [EB/P].2012.05.16.http://www.epub.sipo.gov.cn/

      [10]馬錫坤,楊國斌,于京杰.國內(nèi)電子病歷發(fā)展與應(yīng)用現(xiàn)狀分析[J].計(jì)算機(jī)應(yīng)用與軟件,2015,(1):10-12.

      [11]任曉剛.數(shù)字簽名在醫(yī)院電子病歷中的應(yīng)用研究[J].信息技術(shù),2013,(1):118-120.

      [12](04-O5).衛(wèi)生部統(tǒng)計(jì)信息中心關(guān)于征求《基于居民健康檔案的區(qū)域衛(wèi)生信息平臺(tái)技術(shù)規(guī)范(征求意見稿)》和《基于電子病歷的醫(yī)院信息平臺(tái)技術(shù)規(guī)范(征求意見稿)》意見的函Available:[EB/OL]http://www.moh.gov.cn/publicfiles/business/htmlfiles/mohwsbwstjxxzx/s8553/201203/54263.htm

      [13]維克托·邁爾-舍恩伯格,肯尼思·庫克耶著,盛楊燕,周濤譯.大數(shù)據(jù)時(shí)代:生活、工作與思維的大變革[M].杭州:浙江人民出版社,2013:2-3.

      猜你喜歡
      哈希數(shù)字簽名病歷
      電子病歷評(píng)級(jí)的分析與總結(jié)
      哈希值處理 功能全面更易用
      Windows哈希值處理不犯難
      交通運(yùn)輸行業(yè)數(shù)字簽名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)分析
      文件哈希值處理一條龍
      “病例”和“病歷”
      關(guān)于電子商務(wù)中安全數(shù)字簽名的研究
      臨床表現(xiàn)為心悸的預(yù)激綜合征B型心電圖1例
      手動(dòng)查安全 揪出“不明身份”者
      巧用哈希數(shù)值傳遞文件
      宾阳县| 织金县| 读书| 奉新县| 大洼县| 昭苏县| 阿拉善右旗| 禄劝| 湘潭县| 太仓市| 攀枝花市| 鹤岗市| 沐川县| 临西县| 东方市| 稷山县| 山东省| 稻城县| 河曲县| 石城县| 惠州市| 洛南县| 双辽市| 双牌县| 昌都县| 白朗县| 尉犁县| 绍兴市| 萍乡市| 沙洋县| 新田县| 云安县| 广水市| 广东省| 昭觉县| 南丹县| 综艺| 肃北| 莱州市| 牡丹江市| 九台市|