国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SM9 算法的跨區(qū)域醫(yī)療協(xié)同雙向身份驗(yàn)證方案①

2022-06-27 03:53:54王曉華
關(guān)鍵詞:身份驗(yàn)證數(shù)字簽名私鑰

方 婷, 王曉華, 楊 敏

電子病歷的發(fā)展從提升效率, 到信息集成共享, 再到提升醫(yī)療質(zhì)量與安全, 發(fā)生了質(zhì)的變化, 而隨著遠(yuǎn)程醫(yī)療技術(shù)的發(fā)展, 學(xué)者們又對(duì)電子病歷的跨區(qū)域共享展開了大量的研究. 其中, 身份驗(yàn)證作為信息系統(tǒng)安全的第一道關(guān)卡, 對(duì)于電子病歷的跨區(qū)域[1]安全共享至關(guān)重要.

用戶身份驗(yàn)證[2-7]的方法基本上可分為: 基于口令的身份驗(yàn)證、基于令牌的身份驗(yàn)證、基于生物學(xué)特征的身份驗(yàn)證和基于公開密鑰加密算法的身份驗(yàn)證, 在網(wǎng)絡(luò)通信中最常見的是基于公開密鑰加密算法的身份驗(yàn)證. 文獻(xiàn)[8]針對(duì)用戶異地訪問系統(tǒng)中存在用戶身份鑒別和用戶數(shù)字證書[9]信息交互的問題, 提出采用分布式PKI/CA 架構(gòu), 通過數(shù)字證書對(duì)兩地操作系統(tǒng)、應(yīng)用系統(tǒng)提供統(tǒng)一的安全支撐, 形成面向業(yè)務(wù)應(yīng)用和數(shù)據(jù)管理的統(tǒng)一身份、統(tǒng)一認(rèn)證的信任體系, 實(shí)現(xiàn)異地信息資源的整合利用和業(yè)務(wù)協(xié)同. 但是該方案中的證書管理中心(CA)并不是完全安全, 其頒發(fā)的主密鑰對(duì)都相同, 若主密鑰泄露, 那么入侵者將冒充CA 來頒發(fā)證書. 文獻(xiàn)[10]提出了一種通過將大文件分塊, 采用多線程傳輸, 并支持文件斷點(diǎn)續(xù)傳的方案, 解決了異地環(huán)境下大文件傳輸?shù)姆€(wěn)定性問題. 該方案制定了基于SSL 協(xié)議的傳輸安全策略, 首先, 通過數(shù)字證書和電子簽名驗(yàn)證通信雙方的身份信息, 阻止與非法用戶的通信; 其次, 使用對(duì)稱/非對(duì)稱加密算法對(duì)密鑰和數(shù)據(jù)信息加密, 防止傳輸過程中密鑰和數(shù)據(jù)信息被非法竊取. 上述方案中都是用第三方CA 認(rèn)證中心頒發(fā)的數(shù)字證書來實(shí)現(xiàn)客戶與服務(wù)器之間的雙向認(rèn)證, 但是證書申請(qǐng)成本高, 還有使用期限限制, 隨著用戶的增多, 證書的管理難度也越來越大. 文獻(xiàn)[11]為觸覺互聯(lián)網(wǎng)輔助遠(yuǎn)程手術(shù)應(yīng)用程序設(shè)計(jì)了一種超高效的相互認(rèn)證和密鑰協(xié)商協(xié)議, 外科醫(yī)生和機(jī)械臂之間通過網(wǎng)關(guān)進(jìn)行相互認(rèn)證, 然后這3 個(gè)實(shí)體生成一個(gè)公共的秘密會(huì)話密鑰,用于當(dāng)前登錄會(huì)話中的未來通信, 從而實(shí)現(xiàn)遠(yuǎn)程手術(shù)操作期間的安全通信. 國(guó)密SM9 算法[12]也去除了以CA 簽發(fā)數(shù)字證書作為憑證的過程, 用戶不需要通過第三方來保證其公鑰來源的真實(shí)性, 這一措施極大地拓寬了PKI[13-15]的應(yīng)用范圍和場(chǎng)景, 也節(jié)省了傳統(tǒng)PKI身份認(rèn)證體制在密鑰產(chǎn)生、證書簽發(fā)、密鑰管理等方面的花銷. 對(duì)于認(rèn)證, 私鑰的分發(fā)和安全是整個(gè)流程安全性的核心, 文獻(xiàn)[16]對(duì)SM9 算法的私鑰分發(fā)給出了具體的解決方案, 在安全分發(fā)私鑰的同時(shí)實(shí)現(xiàn)了客戶端與服務(wù)器的雙向認(rèn)證.

為保障跨區(qū)域醫(yī)療信息的安全共享, 鑒別通信雙方的身份至關(guān)重要, 本文提出了一種基于SM9 的雙向身份驗(yàn)證方案(bidirectional authentication scheme based on SM9, BAS)實(shí)現(xiàn)了用戶之間的身份信息認(rèn)證, 為安全有效的實(shí)現(xiàn)電子病歷的共享奠定基礎(chǔ).

1 相關(guān)工作

1.1 Diffie-Hellman (DH)密鑰協(xié)議

(5) 式(3)和式(4)計(jì)算得到的結(jié)果滿足K=KA=KB,因此雙方經(jīng)過協(xié)商后得到了相同的密鑰K, 達(dá)成密鑰協(xié)商的目的.

本文將DH 算法協(xié)商的共同密鑰作為驗(yàn)證因子,并將其應(yīng)用到驗(yàn)證流程中.

1.2 雙線性群

2 方案設(shè)計(jì)

2.1 符號(hào)定義

表1 為本文方案所用符號(hào)定義.

表1 符號(hào)定義

2.2 BAS 方案

本文以醫(yī)院間電子病歷的訪問過程中用戶之間的身份驗(yàn)證作為案例, 提出BAS 方案來對(duì)跨區(qū)域信息共享中通信雙方的身份驗(yàn)證進(jìn)行分析和研究.

BAS 方案采用了“驗(yàn)證因子+數(shù)字簽名”的驗(yàn)證方式, 該方法區(qū)別于傳統(tǒng)的公鑰加密身份驗(yàn)證方式, 本文將通信雙方通過DH 算法產(chǎn)生的共同密鑰作為驗(yàn)證因子來完成第1 階段的身份驗(yàn)證, 再通過數(shù)字簽名完成第2 階段的身份驗(yàn)證. 圖1 為BAS 方案詳細(xì)認(rèn)證流程圖.

圖1 BAS 方案認(rèn)證流程圖

認(rèn)證流程具體步驟如下:

(1) 醫(yī)院A向醫(yī)院B申請(qǐng)所需患者的電子病歷,醫(yī)院B收到醫(yī)院A的請(qǐng)求后做出響應(yīng). 同時(shí), 雙方通過DH 算法分別產(chǎn)生驗(yàn)證因子V1和V2并將其保存.

(2) 醫(yī)院B保存驗(yàn)證因子V2后, 使用SM9 算法中的公鑰加密算法加密V2得到密文C, 并將其發(fā)送到醫(yī)院A, 醫(yī)院A對(duì)密文C進(jìn)行解密后得到明文V2′. 對(duì)比分析V2與V2′的值, 若二者數(shù)值相同則繼續(xù)執(zhí)行驗(yàn)證流程;若二者數(shù)值不同則結(jié)束驗(yàn)證.

(3) 醫(yī)院A對(duì)比分析V2與V2′的數(shù)值相同, 則將患者的身份信息作為待簽名的消息M, 獲取M的數(shù)字簽名(h,S) , 最后將M及其數(shù)字簽名(h,S)一起發(fā)送到醫(yī)院B. 醫(yī)院B檢驗(yàn)收到的消息M′及其數(shù)字簽名(h′,S′),驗(yàn)證成功則根據(jù)消息M′發(fā)送與之身份信息相匹配的患者電子病歷到醫(yī)院A; 驗(yàn)證失敗則駁回醫(yī)院A的申請(qǐng),結(jié)束驗(yàn)證流程.

2.3 方案描述

(1) 系統(tǒng)初始化

系統(tǒng)選取兩個(gè)循環(huán)加法群G1、G2和一個(gè)循環(huán)乘法群GT, 這3 個(gè)群的階均為素?cái)?shù)N,P1是G1的生成元,P2是G2的生成元, 存在G2到G1的同態(tài)映射 ψ使得ψ(P2)=P1, 雙線性對(duì)e是G2×G1→GT的映射.

系統(tǒng)的密鑰生成中心(KGC) 產(chǎn)生隨機(jī)數(shù)m∈[1,N-1] 作 為加密主私鑰, 計(jì)算G1中 的元素Pubm=mP1作為加密主公鑰, 則加密主密鑰對(duì)為(m,Pubm). 秘密保存m, 公開Pubm.

系統(tǒng)的密鑰生成中心(KGC) 產(chǎn)生隨機(jī)數(shù)s∈[1,N-1] 作為簽名主私鑰, 計(jì)算G2中的元素Pubs=sP2作為簽名主公鑰, 則簽名主密鑰對(duì)為(s,Pubs) . 秘密保存s,公開Pubs.

(2) 用戶B身份驗(yàn)證階段

用戶A與用戶B使用DH 算法協(xié)商驗(yàn)證因子保存后, 用戶B需將自己的驗(yàn)證因子V2加密并發(fā)送到用戶A進(jìn)行身份驗(yàn)證. 圖2 為用戶B身份驗(yàn)證.

圖2 用戶B 身份驗(yàn)證

1) 加密驗(yàn)證因子

用戶B使用用戶A的標(biāo)識(shí)IDA來計(jì)算用戶A的公鑰QA=[H1(IDA||hid,N)]P1+Pubm, 再產(chǎn)生一個(gè)隨機(jī)數(shù)r∈[1,N-1]用 于加密. 首先, 計(jì)算C1=rQA、g=e(Pubm,P2)、w=gr、klen=K1_len+K2_len(令K1為K最左邊的K1_len比 特,K2為剩下的K2_len比 特串, 注意K1是否為全0 比特串)和K=KDF(C1||w||IDA). 最后輸出(K,C1),至此密鑰封裝完成. 繼續(xù)計(jì)算C2=Enc(K1,V2) 和C3=MAC(K2,C2) , 即用密鑰K1對(duì) 驗(yàn)證因子V2進(jìn)行加密生成密文C2, 然后在密鑰K2的控制下產(chǎn)生C2的消息認(rèn)證碼C3, 防止C2被篡改. 最后, 輸出密文C=C1||C3||C2, 并將其發(fā)送給用戶A 進(jìn)行驗(yàn)證.

2) 驗(yàn)證

(3) 用戶A身份驗(yàn)證階段

用戶B的身份驗(yàn)證成功后, 用戶A需要獲取消息M(患者身份信息)的數(shù)字簽名(h,S)發(fā)送給用戶B, 以此來驗(yàn)證用戶A的身份. 圖3 為用戶A身份驗(yàn)證.

圖3 用戶A 身份驗(yàn)證

1) 數(shù)字簽名

首先, 計(jì)算g=e(P1,Pubs)并保存結(jié)果. 其次, 產(chǎn)生隨機(jī)數(shù)r∈[1,N-1], 然后計(jì)算w=gr、h=H2(M||w,N)和l=(r-h)modN(注意l是否為0). 在l不為0 的情況下, 計(jì)算S=ldsA, 確定消息M的數(shù)字簽名為(h,S). 最后輸出M及其數(shù)字簽名(h,S)并將其發(fā)送到用戶B處進(jìn)行驗(yàn)證.

2) 驗(yàn)證數(shù)字簽名

用戶B收到消息M′及其數(shù)字簽名(h′,S′)后, 先檢驗(yàn)等式h′∈[1,N-1]是否成立, 若不成立則驗(yàn)證不通過;若成立, 則繼續(xù)檢驗(yàn)等式S′∈G1是 否成立, 若S′∈G1不成立則驗(yàn)證不通過; 若S′∈G1成立, 則計(jì)算g=e(P1,Pubs)、t=gh′、h1=H1(IDA||hid,N)、P=h1P2+Pubs、u=e(S′,P)、w′=ut和h2=H2(M′||w′,N). 最后,檢驗(yàn)等式h2=h′是否成立, 若成立則驗(yàn)證通過; 否則驗(yàn)證失敗.

2.4 數(shù)字簽名及驗(yàn)簽正確性證明

數(shù)字簽名及驗(yàn)簽的正確性關(guān)鍵是考慮簽名時(shí)w的生成以及驗(yàn)簽時(shí)w的生成, 這兩個(gè)階段w的計(jì)算如式(5)和式(6):

2.5 方案安全性分析

(1) 密鑰安全

本文方案中的主密鑰對(duì)都是通過隨機(jī)數(shù)產(chǎn)生, 用戶的私鑰是由密鑰生成中心通過主私鑰與用戶的標(biāo)識(shí)計(jì)算生成, 且私鑰由用戶加密后存儲(chǔ)在自己的設(shè)備上, 只用于數(shù)字簽名和公鑰加密, 既不會(huì)被泄露, 也避免被竊取.

(2) 中間人攻擊

本文方案是基于DH 算法和標(biāo)識(shí)密碼技術(shù)的雙向認(rèn)證方案. 在第1 階段的身份驗(yàn)證中, 通信雙方通過DH 算法協(xié)商的驗(yàn)證因子經(jīng)過了非對(duì)稱加密過后進(jìn)行傳輸, 用戶的私鑰都存儲(chǔ)在本地, 不在網(wǎng)絡(luò)上進(jìn)行傳輸,可以有效地防止攻擊者的竊聽行為. 在第2 階段的身份驗(yàn)證中, 主私鑰與用戶標(biāo)識(shí)產(chǎn)生的簽名私鑰對(duì)數(shù)據(jù)產(chǎn)生數(shù)字簽名, 中間人即使偽造了標(biāo)識(shí), 也無法偽造數(shù)字簽名. 因此, 不能通過仿冒或欺騙等手段達(dá)到竊取用戶間的通信信息這一目的.

(3) 重放攻擊

本文方案中驗(yàn)證因子和密鑰對(duì)都是由隨機(jī)數(shù)計(jì)算而來, 加密驗(yàn)證因子產(chǎn)生的密文也是由隨機(jī)數(shù)計(jì)算而來, 可通過隨機(jī)數(shù)的信息來識(shí)別和確定是否是重放信息, 從而避免重放攻擊.

(4) 前向安全

本文方案中, 密鑰是由KGC 通過主私鑰和用戶的標(biāo)識(shí)結(jié)合產(chǎn)生, 而每次加密密鑰或簽名密鑰都是隨機(jī)的、不同的, 且每次認(rèn)證時(shí)必須使用對(duì)方的標(biāo)識(shí), 標(biāo)識(shí)若是偽造的將造成認(rèn)證失敗. 密鑰的隨機(jī)性以及標(biāo)識(shí)的全過程參與成為了系統(tǒng)安全的保障. 信息也都是經(jīng)過加密后再進(jìn)行傳輸, 所以不會(huì)造成以前通信時(shí)產(chǎn)生的會(huì)話密鑰被泄露, 也不會(huì)泄露以前通信的內(nèi)容.

3 實(shí)驗(yàn)結(jié)果及分析

服務(wù)器的基本配置: CPU i3-2120U, 主頻3.30 GHz,內(nèi)存4.00 GB, 硬盤931.51 GB, IP 地址為202.101.72.84. 同時(shí)在服務(wù)器上部署了一個(gè)基于Java 開發(fā)的雙向身份驗(yàn)證系統(tǒng), 該系統(tǒng)主要用于BAS 方案的實(shí)驗(yàn)論證.

在BAS 方案的可行性及正確性測(cè)試中, 選取兩個(gè)用戶A和B進(jìn)行認(rèn)證測(cè)試, 其中用戶A和用戶B計(jì)算驗(yàn)證因子后由用戶B加密自己的驗(yàn)證因子發(fā)送給用戶A進(jìn)行驗(yàn)證. 表2 為實(shí)驗(yàn)具體參數(shù).

表2 BAS 方案用戶B 加密驗(yàn)證因子實(shí)驗(yàn)參數(shù)

4 結(jié)語

對(duì)于電子病歷的跨區(qū)域共享中通信雙方身份驗(yàn)證的需求, 本文提出的基于SM9 算法的雙向身份驗(yàn)證方案, 改變了傳統(tǒng)PKI 身份驗(yàn)證的流程, 使用“驗(yàn)證因子+數(shù)字簽名”的方式實(shí)現(xiàn)了用戶的雙向認(rèn)證. 且該方案中, SM9 算法無需預(yù)先與協(xié)商密碼者交換CA 證書, 減少了申請(qǐng)和驗(yàn)證環(huán)節(jié), 滿足跨域用戶安全通訊的需求. 本文方案在滿足正確性的基礎(chǔ)上安全可靠,在跨域醫(yī)療協(xié)同這一應(yīng)用場(chǎng)景下具有一定的研究?jī)r(jià)值和應(yīng)用前景, 能夠有效的避免因用戶的身份驗(yàn)證問題造成患者的就診信息被泄露. 在接下來的研究中將將繼續(xù)對(duì)SM9 算法的相關(guān)計(jì)算進(jìn)行優(yōu)化, 提高驗(yàn)證效率.

表3 用戶A 解密實(shí)驗(yàn)參數(shù)

表4 BAS 方案用戶A 數(shù)字簽名實(shí)驗(yàn)參數(shù)

表5 用戶B 驗(yàn)證數(shù)字簽名實(shí)驗(yàn)參數(shù)

猜你喜歡
身份驗(yàn)證數(shù)字簽名私鑰
比特幣的安全性到底有多高
基于改進(jìn)ECC 算法的網(wǎng)絡(luò)信息私鑰變換優(yōu)化方法
淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
一種基于虛擬私鑰的OpenSSL與CSP交互方案
HID Global收購Arjo Systems擴(kuò)大政府身份驗(yàn)證業(yè)務(wù)
基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
更安全的雙重密碼保護(hù)
CHIP新電腦(2015年3期)2015-04-02 17:55:46
基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測(cè)機(jī)制
身份驗(yàn)證中基于主動(dòng)外觀模型的手形匹配
ASP.NET中的Forms身份驗(yàn)證的研究
鹤岗市| 蓬莱市| 周至县| 嘉祥县| 台州市| 安泽县| 武冈市| 外汇| 汝南县| 棋牌| 襄城县| 阜康市| 阿鲁科尔沁旗| 秀山| 伊金霍洛旗| 莲花县| 阳东县| 乐至县| 读书| 藁城市| 积石山| 尤溪县| 宿松县| 巴里| 山东| 乌兰县| 佛冈县| 景德镇市| 栾城县| 白朗县| 中牟县| 永寿县| 花莲市| 黄梅县| 黄大仙区| 宁波市| 昌吉市| 无极县| 昌宁县| 江陵县| 景德镇市|