陸武
(徐州市人事考試辦公室 江蘇省徐州市 221000)
伴隨著信息技術的不斷發展,互聯網及信息系統已經充斥了人類社會的各個行業。社會保險作為國家和政府擔負的社會養老基本責任的體現點之一,也在積極實現社會保障業務的互聯網化。這一發展趨勢一方面極大提升了體系的運行效率,有效確保了其社會保障功能的兌現,另一方面也使得整個體系面臨著惡意攻擊和欺詐的威脅。常見的威脅包括病毒和木馬入侵、外部惡意攻擊以及系統自身漏洞等。因此有必要基于常規互聯網平臺和業務的安全需求,結合具備一定金融屬性的社會保險系統安全需求,構建一套面向社會保險互聯網業務的安全體系,期望將PKI、安全構件、數字簽名等元素納入其中,構建一體化安全解決方案。
對于社會保險互聯網業務來講,安全體系構建的核心目標是確保業務平穩運行,保護個人繳納數據、個人數據、核心系統數據,提供系統身份認證、權限檢驗等目標。基于上述訴求,本文基于PKI 和安全構件,構建一套安全防護方案。方案總體目標可歸納如下:
(1)基于PKI 構建社會保險互聯網業務的CA 證書和身份認證體系,以滿足外部用戶的身份鑒別訴求。
(2)基于外部安全構件,利用成熟服務為社保互聯網業務進行安全加固。
(3)構建基于認證協議和簽名的雙重身份認證和準入機制。
(4)對于系統內部信息傳輸和存儲,引入加密機制進行信息防護。
(5)基于系統內數據簽名,實現內部信息完整性的保障。
(6)利用數字簽名構建防篡改高可信度數據存儲和傳輸機制。
(7)基于PKI 以及集成的安全構件,針對社保互聯網業務中的不同業務需求,進行定制化安全防護。
(8)整套業務應當不限于當前現有社會保險業務,能夠快捷、穩定、便捷地擴展到更多領域。
針對所構建的安全體系,應當設置一系列的功能或者非功能性標準,為后續設計提供約束,確保安全體系符合設計預期。本文特別從安全性、安全構件可復用性、方案可擴展性、可管理性、適應性等方面進行標準定義。
(1)安全性,即系統應當在數據存儲、訪問權限、連接傳輸、身份認證方面具備較高的防護等級。
(2)安全構件可復用性,即安全構件應當能夠滿足上層應用的通用性安全防護訴求。
(3)方案可擴展性,即該安全體系應當能夠滿足未來一定時間內的擴展需要,具備適當的靈活度。
(4)可管理性,即該安全體系應當有便捷的管理渠道和方法。
(5)適應性,即該安全體系應當能夠有效適應社會保險互聯網業務以及相關的其他業務系統。
整個安全體系架構主要分為三個層次,包括基礎設施平臺、安全構件以及業務應用。其中核心模塊主要如下:
2.3.1 數字證書管理
數字證書是常用在身份認證過程和電子簽名中的核心。數字證書通常由具有較高公信力的CA 進行簽發,其中存儲了用戶身份信息。通過數字證書交換和認證機制,互聯網上的用戶可以互相認證對方的身份。用戶向CA 申請數字證書,當證書簽發后可進行注冊,并提供證書校驗功能。此外管理系統應當提供對用戶證書進行存檔校驗,以確認證書是否在庫。
2.3.2 安全構件
安全構件是整套安全架構中的核心,該模塊實質上是一個對外的安全服務模塊,通過AES、DES、數字簽名等一系列核心安全服務,允許外部系統直接對接和集成,并獲得相應的高安全性基礎設施,其應當具備通用性和可擴展性。
2.3.3 身份認證
身份認證是基于數字證書實現的一項具體業務,其核心是:身份認證協議和身份認證的實現。
基于ISO 鑒別框架協議以及移動公鑰和數字證書,可實現在通信和業務流轉過程中的數據加密和身份認證協議。
基于已經構建的身份認證協議,利用面向對象的高級程序設計語言,可以實現社會保險互聯網業務與安全構件的有效關聯,實現身份認證模塊。
2.3.4 電子政務相關應用
社會保險互聯網業務實質上是具備電子政務屬性和背景的。根據是否涉及金融支付,可區分為數字化業務處理和數字化交易兩類。前者主要用于應對社會保險辦理及過程管理等相關業務,后者則涉及社會保險申報、繳費等金融功能。
本次安全體系選用WTSL 證書作為數字證書。該證書屬于PKI證書,功能類似x.509,但更加輕量級,適用于包含輕客戶端的系統。由于其基于PKI 構建,因此也適用于基于標準PKI 的安全體系。
該證書信息域如下:
(1)版本號,主要對證書的版本進行標注。
(2)簽名算法,對外指定本證書的簽名算法,在該證書上就是ECC。
(3)頒發者名稱,注明證書的頒發方,以供應用程序進行認證,應用程序需要能夠在其證書頒發者中枚舉出該證書頒發方。
(4)有效期,用于注明證書的有效起止時間,以控制證書的使用時間。
(5)主題,用于注明證書自身相關的描述信息,以便于應用進行識別。
(6)公鑰類型,標明該證書的公鑰類型。
(7)公鑰主題信息,用于對公鑰主題進行定義。常見RSA 和ECC。
(8)頒發者簽名,用于存儲頒發者的簽名信息。
數字證書管理需要滿足獲取證書、獲取證書內容、獲取證書ID、起止有效期校驗等等功能,這里通過CCeret 類對其進行實現。該類中定義了證書相關的域信息以及獲取證書對象、獲取公鑰、獲取證書ID 等功能函數。
管理流程:系統通過安全構件,對證書實體進行獲取。通過CCert 類,對該證書進行獲取和關鍵信息獲取,并將包括公鑰、證書ID、證書對象在內的數據提交至服務端的證書注冊接口。此后服務端將證書進行對比后,返回用戶ID 及相關必要信息,并將證書存檔,完成整個功能邏輯。
在實現過程中,服務實體類首先調用GetFactoryInstance 方法,獲取一個ESCEngineFactory 類實體。若獲取成功,則可以通過這個實體調用GetSecurityInstance 獲得一個可供調用的安全服務的活動實體。此后,需要先后調用Initialize 和LoadProvider 函數,對獲取到的安全服務實體進行初始化和使能,激活該模塊,使得其能夠為后續的功能和業務服務。當完成安全服務實體的使用后,可通過調用Release 函數實現實體的釋放。
以獲取數字簽名為例,在本例中數字簽名采用ECC 算法,而消息摘要采用MD5。則初始化后,需要調用GetSecureRandom Instance 并傳入MD5ECC 和WinCEProvider,以指定算法和provider。
這里通過上述方法獲得了一個簽名對象,即ESCSignature 類實例。此后調用SetKey,并傳入一個私鑰,實現私鑰的設置。至此該模塊就具備了簽名的能力,通過調研用Sign,并傳入消息和輸出地址,將消息進行簽名并輸出。為驗證簽名是否正確,調用SetKey設置公鑰,并調用Verify,傳入消息本身和經過簽名的消息,如果驗證通過,則簽名成功。
在邏輯的最后,需要手動調用Reset 函數重置獲取到的證書,確保其在內存被銷毀,最后調用Release 釋放對象。
本次設計的社會保險互聯網業務安全體系中,一方面將數字簽名用于身份認證,另一方面將數字簽名用于內容認證。在該模式下,存在一個第三方CA 充當信任中介。用戶通過向CA 申請數字證書,并利用證書在第三方進行身份認證或者提交自己簽名的信息給其他用戶。此時,交互雙方均可以向CA 請求身份驗證,以建立信任關系。
本次所設計的社會保險互聯網業務安全體系,其所使用的身份認證協議是基于基于移動公鑰和ISO 鑒別框架完成的,選用雙向協議。該類型協議具備較高的機密性,也難以被干擾。
AB 雙方通常首先到CA 獲取能夠到達對方的的證書路徑和密鑰,并基于雙向協議進行認證。圖1 可見雙向協議的認證邏輯。

圖1:雙向協議認證邏輯
基于上述所選擇和設計的認證協議,本次研究特別設計了Section 類、Licence 類、CSign 類、CVerify 類以及AuthenHelper 類,分別應對系統對于秘密信息段、對業務中的私密消息、數字簽名過程、簽名認證及數據傳輸等的管理業務的實現。
Section 類中定義了本次通信所需要的證書路徑,同時定義了包括寫數據、讀數據、操作選擇等函數,以實現相應功能。
Licence 用于定義Licence 的結構和一些功能,包括獲取Licence 對象內容、Section 對象的管理等操作。
CSign 類用于實現系統的簽名功能,提供了包括獲取私鑰、公鑰長度、簽名方名稱、系統功能的函數,同時提供了簽名功能的實現函數。
CVerify 類則主要提供ESC 認證和公鑰獲取函數。
AuthenHelper 負責完成數據的傳輸,提供包括獲取服務端buffer 長度、向header 或者body 中寫入數據、傳輸數據以及獲取數據回應等等函數。
實務中,用戶側首先進行證書獲取,并基于獲取到的證書鏈,構建通信所需的section 對象信息。此后利用AuthenHelper 將其傳遞到服務端,由服務端保存并下發隨機種子。服務端在驗證時,將客戶端簽名的信息進行獲取,并進行簽名驗證,以確認是否有通信的權限。
本文基于社會保險互聯網業務的實際需求,對相應的安全體系進行設計與實現。該體系利用數字證書和安全構件,通過設計身份認證管理模式、交互協議和身份認證過程,實現了基于PKI 的社會保險互聯網業務安全體系的構建。一方面進一步提升了社會保險互聯網業務的安全性和穩定性,另一方面也為相應業務的安全性擴展提供了可能。