
一、需求描述
大型醫院(三甲醫院)對為其提供醫療器械和藥品等供貨商通常有6個月左右的賬期,考慮到三甲醫院的運營狀態和付款能力,銀行可以將醫院開出的應付賬單作為醫院耗材供應商貸款具備償還能力的憑證。本平臺用于醫院、供應商、銀行之間的對接,為耗材供應商向銀行貸款和銀行放款風險評估作為參考,主要解決此憑證(應付賬單)的身份認證、機密性保護、有效性和不可篡改性的驗證功能。
(1) 醫院通過MIS或者手工導出應付賬單,操作員-財務-主管院長簽名認證;
(2) 醫院的應付賬單通過系統,可發送給相應銀行,同時每份單據在系統有存檔(醫院和銀行可具備N對N的機制,提供給供貨商更多貸款選擇);
(3) 供貨商可根據單據,向銀行協商貸款;
(4) 醫院的應付賬單在簽名審批后在傳輸過程中,具備身份認證功能,數據機密性、不可篡改性需要保證,同時憑證具備可驗證性。
二、系統方案
本方案用來處理醫院生成的憑據,由醫院產生,銀行使用,平臺運營者有存檔,客戶可查詢。該系統需要具備數字簽名技術、身份認證、加密、完整性認證等功能。系統在WORD、EXCEL文件格式上實現電子簽名,移動終端上的安全芯片進行身份認證,可將簽章和文件綁定在一起;系統通過密碼驗證、簽名驗證、數字證書確保文檔有效性、性和不可抵賴性。
1、數字簽名基本原理
數字簽名基于對稱加密算法、非對稱加密算法以及單向散列算法(Hash函數),其原理如下:
(1) 醫院先預設一個對稱密鑰并生成賬單明文;
(2) 醫院用Hash函數對賬單明文進行摘要,并用自己的私鑰加密該摘要以及預設的對稱密鑰;
(3) 醫院使用預設的對稱密鑰對賬單明文進行加密,得到賬單密文;
(4) 醫院將賬單密文、私鑰加密后的摘要和對稱密鑰進行綁定發送給銀行;
(5) 銀行用醫院提供的公鑰解密接收到的加密摘要和對稱密鑰,并得到摘要和對稱密鑰;
(6) 銀行使用對稱密鑰對接收到的賬單密文解密得到賬單明文;
(7) 銀行對賬單明文用同一Hash函數進行摘要;
(8) 銀行需要對兩次所得的摘要進行對比,如果相同,即可通過驗證。
2、 CA數字證書認證
CA數字證書受理系統有兩種選擇:自建CA數字證書系統和采用基于權威第三方CA數字證書受理系統。兩者優缺點如下表所示:
從表中可以得知:
? 若用戶數量不多且需要在較短的時間內完成項目,可選擇第三方CA數字認證服務。
? 若用戶數量眾多、有充分項目時間、對長期的成本來算,自建CA數字認證受理系統較好
1)使用第三方CA數字證書受理系統如圖2
2)自建CA證書受理業務流程如圖3
3、系統總體架構
系統的總體架構如圖4所示,主要由業務系統、數字簽名認證系統、CA數字證書受理系統三大部分組成。
利用CA證書驗證簽名數據時,都遵循相同的驗證流程,一個完整的驗證過程由以下幾步:
(1) 將接收的數據分為原始數據流、簽名數據和用戶證書三部分;
(2) 用CA根證書驗證用戶證書的簽名完整性;
(3) 檢查用戶證書是否有效(當前時間在證書的有效期內為有效);
(4) 檢查用戶證書是否作廢 (OCSP方式或證書撤銷列表CRL方式);
(5) 驗證用戶證書結構中的證書用途;
(6) 用戶證書驗證原始數據的簽名完整性。
如果上述各項均驗證通過,則接受該數據;只要有一項未通過,則驗證失敗。
三、 硬件方案
1. 證書下載到專用的安全存儲卡內,安全存儲卡內置SE單元,此SE芯片可裝載證書,內嵌的用于安全應用的32位ARM核,可利用RSA 1024/2048完成簽名和密鑰對生成等功能,同時支持AES/DES/3DES等分組加密功能,可生成數據摘要。此安全芯片可以有效防止溫度、電壓、頻率攻擊。上述操作均在安全存儲卡內安全芯片完成,有效避免了基帶處理器的運行敏感程序帶來的風險。
2. 可通過醫院發放此專用安全存儲卡來進行授權,進行憑據的生成、簽名、審批、發送等操作。上述過程可通過手機APP完成,也可通過PAD插安全存儲卡進行,也可設計專門的硬件,只需留下ISO7816接口和卡槽即可。后續設計中,如果能結合指紋來設計授權訪問,則安全性有更高的保障。
3. 銀行端可類似的利用PAD+安全存儲卡的方式來進行,數據的解密、簽名認證、數據完整性檢查等功能。醫院端數據進行加密+簽名摘要,即打包數據這個在銀行端是無法生成,可能的風險在于憑據解密后數據的篡改,因此為保障銀行端的人為的數據完整性,可增加層級審批,即不止一個人可看到醫院的數據,并進行審批。