任興元 王佳慧 馬利民 郭曉蕾
1(國家海洋信息中心 天津 300171)2(國家信息中心 北京 100045)3(北京信息科技大學 北京100101)4(北京宇航系統工程研究所 北京 100076)
近年來國家高度重視海事發展,在海事信息化建設方面不斷加大投入,有效地提升了我國海洋信息發布與信息處理的能力和服務水平。特別在當前國家將互聯網+、大數據和人工智能提升為國家戰略的情況下,需要繼續提升我國海事業務的信息化建設水平、管理效能和公共服務水平[1]。目前,我國海洋政務部門針對不同的業務,已經建成了多個海洋信息管理系統。其中,洋山港海事局開發了“洋山港轄區水上交通大數據智能服務平臺”,實現了多個信息系統數據的共享及智能分析[2]。互聯網+海洋政務服務平臺,對我國現有的海洋信息系統進行梳理,解決信息孤島問題,實現資源整合,全面公開海洋政務服務事項,優化服務方式和服務流程,全面提升海洋部門政務服務水平。上述信息系統的建設對于我國海洋信息化推進具有重要意義,但是目前我國海洋信息系統普遍存在著重建設、輕管理的問題,特別是在信息安全管理方面,可能僅堆砌了一些防火墻、反病毒網關等安全硬件產品,而整體的安全防護規劃和信息保護機制不夠健全[3]。而作為信息安全最重要的服務,身份認證、訪問控制機制以及電子公文的不可否認性驗證技術是海洋信息系統的重要組成部分。常見的基于用戶名和密碼的認證方式容易遭受密碼猜測攻擊,而基于數字證書的PKI(Public Key Infrastructure)公鑰基礎設施可以利用公鑰加密技術完成對信息系統用戶的身份認證[4]。用戶在完成身份認證的基礎上,對信息系統相關資源的訪問需要進一步進行管理和授權,因為不同角色的用戶具有的訪問權限是不一樣的,這一需求可以通過PMI(Privilege Management Infrastructure)完成[5]。目前,研究人員已經開展了很多PKI和PMI的相關技術研究。文獻[6]提出基于PKI/PMI的電子政務集成用戶可信度的管理,以滿足電子政務的安全需求。文獻[7]提出PKI和PMI技術在醫院信息系統中的應用,解決了電子病歷系統的安全訪問控制問題。文獻[8]分析了在目前大數據發展趨勢下,信息系統互聯互通及數據共享面臨的安全風險,并提出PKI/PMI機制解決海量數據業務應用系統面臨的安全風險。政務服務事項作為海洋政務服務系統中的重要環節,其真實性、完整性和不可否認性的驗證具有重要的安全意義,可信時間戳在此方面具有一定的應用價值[9-10]。文獻[11]研究了稅收管理系統中利用電子簽章和可信時間戳技術實現電子表單的文書版式化和防篡改。文獻[12]利用PKI技術和可信時間戳技術,實現了電子商務系統的數據完整性、電子舉證和責任認定等安全功能。文獻[13]研究了可信時間戳技術在醫院電子檔案的中實現精準可信的時間認證的應用。
本文基于PKI、PMI和可信時間戳等技術,結合互聯網+海洋政務服務平臺,提出一種行之有效的信息安全解決方案,主要解決目前在國家海事信息化實際建設和使用過程中面臨的非法用戶登錄,口令猜測攻擊以及政務服務過程的機密性、完整性和不可否認性的問題。同時,將該安全方案基于C++和XML等編程語言進行了實現,并通過實驗測試驗證了該安全模型在身份認證、授權管理等方面的功能。實驗結果表明,該方案可以有效解決海洋政務服務系統面臨的安全問題,具有較高的實用價值。
PKI以公鑰加密技術為基礎,基于數字證書PKC(Public Key Certificate)來實現用戶公鑰與其身份的綁定,可實現數據電文的加密解密、數字簽名和網絡實體認證等安全服務。PKI是一個可以支持數字證書的創建、存儲和分發的框架,它能夠為所有網絡用戶透明地提供可驗證的公鑰和證書管理功能。
PKI由一個可信的認證機構(Certificate Authority,CA)通過數字簽名來將用戶的公鑰信息和用戶的其他可標識身份的信息(如姓名、身份證號等)進行綁定,確保用戶身份的唯一性,用于在互聯網上認證用戶的身份。
PKI通過公鑰加密技術建立一整套嚴密的身份認證系統,它可以確保信息傳輸的保密性、網上通信雙方身份的確定性、發送消息的不可否認性、交換數據的完整性。PKI的基礎是公鑰加密技術,其中用戶公鑰是公開的,通過數字證書進行分發,這就使得通信雙方在無須事先交換密鑰信息的情況下,保證了對話的機密性、信息的完整性和用戶身份的可認證。
PKI系統是由CA、注冊機構(Register Authority,RA)、證書庫(包含證書和證書撤銷列表)、密鑰管理中心(Key Management Center,KMC)、應用程序接口API等基本組成部分組成,如圖1所示。
在PKI完成對用戶的身份認證后,還需要完成用戶個人身份認證到權限信息的映射,以實現更加安全合理的信息系統資源的訪問權限控制。PMI作為授權管理基礎設施,它將訪問控制模塊從傳統的應用系統中剝離出來,以獨立的方式向用戶(包括應用程序)提供授權管理和用戶身份到權限信息映射的服務,提供的授權和訪問控制機制的特點在于:能夠根據實際應用的處理模式進行映射,而且與具體應用系統的開發及其管理沒有相關性。PMI具有以下優點:(1)在用戶的具體應用中,實現訪問控制與權限管理系統的開發、維護簡單化;(2)管理成本降低;(3)復雜性降低。PMI建立在身份認證即PKI的基礎上,用屬性證書(Attribute Certificate,AC)容納和標識權限信息,提供嚴格、靈活、高效的權限管理服務。權限的申請是通過管理屬性證書的申請來實現的,類似權限的發放、使用和撤銷管理也分別對應著管理屬性證書的簽發、驗證、注銷,權限與屬性證書兩者各自的生命周期都是有其對應關系的。
PMI的體系結構主要包括以下幾個部分:信任源點(Source of Authority,SOA),屬性權威(Attribute Authority,AA)、特權驗證者(Privilege Verifier,PV)、AA代理(AA Agent)、證書庫和通信協議,如圖2所示。

圖2 PMI體系架構
RBAC模型基于角色的訪問控制模型,現在常用于實現信息系統的權限管理設計。其基本思想是在實際應用系統中根據不同的職能崗位劃分出對應角色,角色與訪問權限相關,并且分配給用戶,角色集由會話激活,使用戶能夠間接地通過角色訪問目標資源。用戶與角色、操作權限與角色都是多對多的關系,即多個角色可以分配給一個用戶,多個用戶可以使用一個角色[15]。基于角色的訪問控制可以更好地模擬實際生活中的職責關系,又可以制定和管理授權策略,靈活度較高。在PMI中使用基于角色的訪問控制,為用戶簽發角色分配證書,用戶角色權限變更時,不必撤銷頒發給用戶的屬性證書,只需要變更角色規范證書中對應的權限,極大減少了系統開銷,具有強大的可操作性。
數字簽名和時間戳服務是電子文件簽名領域的兩種簽名形式,兩種簽名是互不沖突的。數字簽名解決了簽名人身份的真實性和數據電文內容的完整性,但其存在著有效期,用戶密鑰可能丟失和用戶可隨時吊銷證書的問題,導致證書持有者有否認簽名的可能,無法確認簽名的有效性,且對于時間不能保證。可信時間戳技術可以解決上述問題,同時對數據電文進行數字簽名和添加第三方可信時間戳,在需要時既可以保障數據電文的完整性、真實性,又可以確認簽名時的數字證書是否在有效期范圍之內,且與數字簽名搭配后才能徹底解決電子公文的法律效力和責任認定的問題。
可信時間戳是由一個被法律和公眾認可的第三方充當時間戳服務中心(Time Stamp Authority,TSA),用其私鑰對數據和相關信息簽名形成的具有法律效力的數字憑證,其中包含對數據摘要形成的“指紋”、TSA收到請求的時間、時間戳服務中心的相關信息等。它能證明一個文檔在某個時間點是否已存在以及完整性,且與電子數據唯一對應。時間戳組成如圖3所示。

圖3 時間戳組成
本文在對身份認證技術、授權管理技術、訪問控制技術和可信時間戳技術研究的基礎上,建立了一個安全可信的互聯網+海洋政務服務平臺。系統實現了對用戶統一身份認證,對于不同用戶,根據給不同的身份授予不同的訪問操作權限,使他們能夠進行相應授權的訪問和操作,從而保障了互聯網+海洋政務服務平臺信息資源的安全訪問。同時,系統還融合了可信時間戳技術為整個系統提供時間保障和確認機制。本系統結構如圖4所示。

圖4 安全的互聯網+海洋政務服務平臺
1)互聯網+海洋政務服務平臺建立了一套完整的PKI認證系統,為各個本系統的用戶統一簽發數字證書PKC,提供用戶在互聯網的安全認證服務。系統集成公鑰證書的應用,在用戶登錄系統時,必須提交權威認證機構CA頒發的用戶證書,通過證書來實現身份認證,同時通過公鑰加密技術和數字簽名技術,實現相關電子公文傳輸的機密性和抗抵賴性等安全需求。
2)實現對不同用戶統一的權限管理。完善權限認證,系統賦予互聯網+海洋政務服務平臺中不同職責用戶不同的角色,不同角色對應不同的權限,不同的權限對應著海洋政務服務平臺不同的訪問和操作功能,實現安全訪問控制,防止非法訪問和篡改電子公文信息。
3)可信時間戳是時間戳服務中心TSA用自己的私鑰對數據和產生時間進行簽名得到的,TSA必須由可信任的第三方機構擔當,而時間必須由權威授時中心來負責保障其準確可靠性,任何個人和機構不能對時間進行修改以保障某一文件或操作在某一時間已存在時間的權威,為互聯網+海洋政務服務平臺提供具有法律效力的時間證據。
身份認證模塊為整個互聯網+海洋政務服務平臺的用戶頒發數字證書用于身份認證,當然包括應用程序、服務中心,以及可信時間戳服務中心TSA的數字證書,但其證書擴展中的增強型用法要明確標識為時間戳。以政務服務服務管理系統為例,在用戶訪問政務服務服務管理時進行身份驗證,確保其公鑰證書的有效性。
用戶首先要申請自己的公鑰證書,如圖5所示,用戶需要填寫自己的個人信息,然后客戶端生成一對密鑰,私鑰由用戶自己保存,且需要口令保護,公鑰和個人信息一起生成請求信息提交給注冊機構RA,等待審核。

圖5 PKI證書申請頁面
RA管理員登錄到PKI系統,查看用戶的證書請求,審核用戶的信息,對證書請求進行驗證,如同意為用戶頒發證書,則對用戶申請信息簽名后發送給CA,由CA為用戶簽發證書,如圖6所示。

圖6 管理員處理證書請求頁面
用戶獲得證書后,就可以在網絡上進行身份認證,提交公鑰證書后,證書驗證通過后可登錄互聯網+海洋政務服務平臺。基于公鑰數字證書實現身份認證可以有效解決傳統認證方式面臨的口令猜測攻擊問題,有效提高信息系統安全性。圖7為互聯網+海洋政務服務平臺登錄界面。

圖7 互聯網+海洋政務服務平臺登錄界面
2.2.1授權管理模塊
互聯網+海洋政務服務平臺的用戶主要分為四大類型:自然人/法人,事項受理人員,業務辦理人員,系統管理人員。實際應用中,可根據工作職責進行更細粒度的角色劃分和定義。根據RBAC最小權限原則,所有用戶都可申請公鑰證書和屬性證書,驗證公鑰證書和屬性證書,以及憑公鑰證書登錄查看自己的基本信息。
由此,本文根據四大類型人群所訪問和操作政務事項的性質做出如下四類角色的定義和權限劃分:
1)公眾通過互聯網訪海洋政務服務門戶網站,申請相關的政務服務。系統則需要為每一個公眾用戶分配唯一的公鑰證書,以確保用戶認證的安全性。在系統中,具體事務辦理的內容可根據安全保密程度設立在安全標簽屬性中設立安全級別,同時在屬性證書中分配相應的安全級別。然后為公眾用戶設定合理的訪問權限,根據安全級別從低到高來訪問,其具有的權限如圖8所示。

圖8 海洋政務系統用戶權限管理
通過提交自己的公鑰證書后,可以看到自己政務事項辦理的基本信息;如:姓名、年齡、電子郵箱、聯系方式、事件辦理進度等內容。此外,用戶通過公鑰證書+角色為自然人/法人的屬性證書+驗證碼+短信(動態令牌),可動態提升訪問權限級別,查閱更多信息。
2)海洋政務事項處理人員通常具有兩種角色,政務大廳受理人員和海洋政務事項辦理人員,其訪問權限如圖9所示。

圖9 海洋政務系統事項受理人員權限管理
(1)作為政務大廳受理人員,可以通過互聯網+海洋政務服務平臺,采用公鑰證書+作為受理人員角色的屬性證書的認證方式登錄,可查閱、新建事項辦理信息。
同時,出于對政務事項的安全性的保護以及明確政府辦公人員責任,政務大廳受理人員在以事項受理人員角色登錄后,如果要查閱或新建政務事項辦理信息,需要在修改后的文件后加蓋可信第三方的時間戳,然后用自己的私鑰進行數字簽名。政務事項辦理人員權限管理如圖10所示。

圖10 海洋政務系統事項辦理人員權限管理
(2)作為業務辦理人員,主要負責對已受理的政務事項按照相關部門規定,進行審核和辦理,需要驗證已提交的事項辦理相關材料的真實有效性以及是否齊全。若齊全則審批通過,事項辦理進入下一個流程環節;否則退回處理,此時事項申請的自然人/法人可以在自己的系統頁面內看到事項辦理的進度以及是否成功或失敗的原因。業務辦理人員在完成政務事項審批之后,要添加時間戳并用自己的私鑰進行數字簽名備檔。最后添加歸檔時間,添此后,政務事項審批流程便不可再被更改。
3)授權管理人員主要負責對系統內用戶進行授權,在用戶提交證書申請信息后,查看用戶的請求,進行核實之后,為用戶簽發證書。在本系統中管理員角色一分為二,分別負責PKC和AC的請求管理和核實簽發。本文中為了簡便明了,僅定義為一個角色,其權限信息如圖11所示。

圖11 系統管理員權限
所有用戶需要行使以上角色的權限都要先申請該角色的屬性證書。用戶在申請屬性證書AC時首先要對用戶進行身份認證,具體過程如下:① 用戶在客戶端向屬性權威提交代表身份的公鑰證書,屬性權威發送給申請者一個隨機數X,申請者用他的私鑰RK對X進行簽名,即Sig(X,RK),屬性權威根據申請者的公鑰PK驗證其簽名的真實性,如果簽名確實由用戶的私鑰產生,則認為該申請者確實為公鑰證書持有者本人,即通過身份認證。② 屬性權威驗證通過之后,用戶繼續提交申請所需的角色及申請該角色需要提交的個人信息,請求屬性權威簽發相應的屬性證書。屬性權威將請求信息進行保存,由系統管理人員核查用戶提交的信息以及用戶和所申請角色是否相符之后進行決策判斷,審核通過后屬性權威用自己的私鑰為AC申請者簽發屬性證書。系統將證書可放在用于提供目錄服務的數據庫供用戶查詢下載屬性證書。具體申請流程如圖12所示。

圖12 用戶屬性證書申請流程
授權管理模塊還要提供可驗證屬性證書的服務供訪問控制模塊調用,包括:驗證用戶的屬性證書的簽名的正確性,確保其由屬性權威的公鑰簽名形成;驗證用戶屬性證書的有效性,確保屬性證書仍在有效期范圍內;驗證屬性證書的簽發者的權威性,確保其為可信任的授權者。
2.2.2訪問控制模塊
因為整個系統建立在身份認證的基礎上,所以需要用戶用自己的公鑰證書登錄系統,提交證書后,訪問控制模塊調用PKI系統身份認證服務接口的證書驗證服務,核實用戶的身份,在驗證之后由訪問控制模塊將決策結果返回用戶的基本信息頁面,包括姓名、年齡等。
在用戶想要更多權限時,可以提交自己的屬性證書。訪問控制模塊必須確保用戶的角色分配屬性證書與用戶提交的公鑰證書的關聯性,屬性證書的持有者應與公鑰證書的持有者相同或公鑰證書的頒發者標識和序列號與屬性證書ID號相關聯,以防非冒名使用用戶的權限。調用授權管理模塊提供的驗證服務接口驗證用戶提交的屬性證書,確保其有效性。然后從屬性證書提取用戶的角色信息,根據其角色信息和授權策略,判斷用戶角色的權限是否包含執行該請求的最小權限集,決定用戶是否可以執行該請求,如果用戶角色權限覆蓋請求操作,則返回給用戶請求的目標資源頁面,否則返回用戶信息頁面,對海洋政務系統平臺進行嚴格的訪問控制。流程如圖13所示。

圖13 用戶訪問權限控制過程
可信時間戳為海洋政務服務管理平臺提供準確可靠的時間。政務辦理人員在對政務事項進行操作之后,若需修改,要進行數字簽名來確認,以供必要時查證。然而政務辦理人員用于簽名的公鑰存在有效期和丟失問題,存在不承認簽名的可能。故本文添加了時間戳系統為數字簽名提供準確可靠的時間。可信時間戳服務中心應由國家權威授時中心進行守時和授時,本文中用系統時間代替,可信時間戳模塊的設計如圖14所示。

圖14 可信時間戳模塊架構
可信時間戳的申請流程如下:
1)政務辦理人員使用數字證書登錄海事電子安全系統后,指定政務事項處理公文,客戶端程序對政務事項處理公文提取指紋(Hash值),這樣可信時間戳中心也不能看到政務事項處理的內容,保證機密性和隱私性。
2)提交政務事項處理公文的摘要信息到可信時間戳系統,請求加蓋時間戳。
3)可信時間戳服務中心收到請求信息后,添加收到請求時的時間,用自己的私鑰進行簽名后形成時間戳返回給用戶。
4)保存政務事項處理公文指紋和時間戳到數據庫。
5)政務辦理人員收到時間戳后,將時間戳和政務處理事項一起進行數字簽名,然后存儲到數據庫,若添加時間戳后不進行簽名,則之前的操作將不被保存。
圖15為本文中申請時間戳和響應的頁面。可看到,首先選擇形成時間戳請求的參數信息,哈希算法是指對文件進行摘要的算法,系統提供了SHA1和MD5兩種;策略是指時間戳服務中心簽發時間戳的策略,本文中為可簽發所有數據電文的策略;no_nonce指是否在請求中添加一個很大的隨機數,若添加,時間戳響應中也必須有此值,且不能改變,否則用戶有理由相信時間戳出錯;cert是指是否在時間戳響應中攜帶時間戳服務中心的數字證書。選擇參數完畢后可點擊發送,由時間戳服務中心返回時間戳。

圖15 可信時間戳申請及相應詳情
可信時間戳的驗證流程為:(1)用戶使用數字證書登錄海事政務服務管理系統后,指定政務服務事項,用瀏覽器程序對其提取電子指紋,將時間戳和指紋一起發送給時間戳服務中心請求驗證。(2)時間戳服務中心TSA收到請求后,用自己的私鑰對時間戳進行解密提取摘要信息,然后和用戶發送的摘要信息進行對比,若一樣則認為該文件是在時間戳中包含的時間已存在,反之則認為文件已被修改。若用戶只發送了摘要信息,則TSA還需到數據庫根據摘要信息查找時間戳。(3)返回政務服務事項處理的有效性檢查結果(是否被篡改、加蓋時間戳時間信息)。
本文的互聯網+海洋政務服務平臺的安全解決方案可以有效解決互聯網+海洋政務服務平臺面臨的一系列安全問題,如:口令猜測攻擊,政務事項處理的機密性、數據完整性鑒別問題和責任認定問題。
口令猜測攻擊:基于公鑰加密技術和數字證書的PKI框架在實現用戶身份認證時,完全基于CA對用戶數字證書有效性的驗證,因此不存在口令猜測攻擊問題。由于本系統基于公鑰加密技術,證書驗證時間比基于用戶名/口令驗證時間要長,但是安全性有了很大程度提高。
政務事項處理過程的機密性、完整性鑒別問題:本文基于公鑰加密技術,將系統內發出的政務事項處理公文在傳輸過程中實現加密,同時基于業務辦理人員的私鑰進行簽名。簽名完成后,需要向可信時間戳服務中心申請加蓋時間戳,確保政務事項處理公文在流轉過程中的機密性、完整性及不可否認性。
責任認定:政務事項處理公文在傳輸及閱讀過程中,根據不同角色具有的相應權限,可以由某些人員對政務事項處理公文進行修改,然而每次修改完成后,按照系統要求,需要用自己的私鑰進行簽名并且加蓋時間戳,進一步提升政務事項處理流程的法律舉證作用。
本文基于PKI、PMI、RBAC和可信時間戳技術,結合互聯網+海洋政務服務平臺,設計并實現一種用于互聯網+海洋政務服務平臺的安全解決方案,為保障海洋政務信息化奠定了安全基礎。系統運行結果表明,所開發的系統是一個安全可信的、統一的、完整的安全認證及權限統一管理與服務的平臺,可以有效保障海洋政務系統中用戶的身份認證及政務事項處理的完整性、機密性、不可抵賴性以及法律效力。下一步工作將針對海洋政務服務平臺提供安全的數據共享服務展開研究,在進一步加強海洋政務數據安全性的同時,實現海洋政務數據的分級分類整理,為其他信息系統提供數據共享服務,打破信息系統之間的隔閡,早日實現海洋政務數據共享和大數據分析,簡化辦事流程,提高服務效率。