摘要:實現了一種面向電子政務的CA證書發放系統。該系統是基于B/S模式的,通過SSL連接頒發證書,采用了端對端加密、權限管理和訪問控制等安全機制,具有權威性、公正性和可信賴性,并且已成功應用于四川省政府采購系統。
關鍵詞:電子政務; 公鑰構架; 認證中心; 數字證書; 中間件
中圖分類號:TP393.08文獻標志碼:A
文章編號:1001-3695(2007)08-0170-03
電子政務[1]是指政府機構在其管理和服務職能中,運用現代信息和通信技術,在網絡上實現政府組織結構和工作流程的重組優化,全方位地向社會提供高效、優質、規范、透明的管理與服務。電子政務所涵蓋的信息系統是政府機構用于執行政府職能的信息系統。政府機構從事的行業性質與國家緊密聯系,所涉及的眾多信息均帶有保密性,信息安全問題尤其重要。因此,越來越多的電子政務平臺選擇PKI[2~4]作為應用系統開發的基礎。而如何實現各級單位CA證書的申請和發放是其中至關重要的問題。
本文結合政府采購電子政務系統的需求,設計了一種基于B/S模式的認證中心數字證書發放系統。管理員可以通過Web瀏覽器,通過SSL連接登錄政府采購管理網站來為下級成員頒發證書。而數字證書保護密鑰通過密鑰發放中間件加密和客戶端密鑰接收控件解密后,安全地打印到密碼信封中,然后發放到用戶手中。
1CA證書發放系統
1.1系統結構
整個證書發放系統包括以下幾個部分:CA證書服務器、證書發布服務器、RA服務器、政府采購管理網和權限數據庫,同時采用異地災難恢復子系統保證電子政務系統穩定性和不間斷性。系統結構如圖1所示。
該平臺是安全的電子政務平臺,所以證書發放系統中的所有連接均采用SSL。
CA證書服務器是整個證書發放系統的基礎和核心,負責生成數字證書和證書撤銷列表(CRL)、撤銷證書和恢復密鑰等。
證書發布服務器是基于LDAP[5]的,它是CA與用戶的交互界面,維護了CA對外公布的所有人的公鑰證書和證書撤銷列表CRL。用戶可以通過Web瀏覽器訪問證書發布服務器,查詢、下載其他用戶的公鑰證書、根CA證書和證書撤銷列表CRL。
RA服務器對用戶的資格進行審查,執行是否同意給某個申請者發放證書、撤銷證書等操作。
政府采購管理網也承擔了一部分RA的職責,提供了審核與政府采購業務有關的人員注冊信息,請求證書服務器生成證書,并且向權限數據庫中添加與該人員相關的權限信息。
異地災難恢復子系統在異地建立和維護一個備份系統,利用資源冗余性和地理分散性來保證電子政務系統對災難事件的抵御能力。該異地災難恢復子系統是基于Internet的,它高效地實現了遠程備份和服務自動切換等功能。1.2應用流程
a)初始化CA認證中心,生成認證中心的自簽名根證書和一份超級管理員證書。
b)超級管理員使用自己的證書,通過Windows客戶端程序[6](該程序是一個CORBA服務的客戶端)連接認證中心,為政府采購管理員頒發個人證書,并且為政府采購管理網站頒發服務器證書。
c)用戶通過Internet,到政府采購公眾網填寫相關的證書申請信息,也可以持有關證件到注冊中心RA填寫書面申請。
d)政府采購管理員使用自己的證書,通過Web瀏覽器,通過SSL連接登錄政府采購管理網站,對已申請用戶的資料進行審核。如果審核通過,就向CA提交證書申請請求,并且根據該用戶的角色設定相應的權限信息[7]。目前,用戶被分為地方政府監管人員、采購供應商和評審專家等。其中地方監管人員可以繼續為其下級人員頒發證書,并完成相應的監管責任;采購供應商可以使用自己的證書登錄政府采購網,對采購信息進行投標;評審專家則對采購供應商的投標進行評標。
e)CA證書服務器為該用戶產生證書后,將證書返回給政府采購管理網站,并且打印證書保護密鑰到密碼信封,然后政府采購管理網站將證書和密碼信封發送給用戶。
f)政府采購管理網站的各種人員得到自己的證書后,就可以使用證書登錄政府采購管理網,進行與其角色相應的政府采購業務。
整個過程中,政府采購管理員及其他用戶的頒發證書均采用B/S模式,通過SSL連接登錄政府采購管理網來為下級頒發證書,同時為各級采購人員定義相關的訪問權限。
2具體實現
2.1認證中心的實現
認證中心用來給整個電子政務系統的合法用戶和服務器頒發證書。當電子政務系統的管理員與電子政務系統的管理系統進行交互時,雙方要進行相互的身份認證,只有擁有有效證書的用戶才能對電子政務系統進行維護和管理,只有擁有相應證書的服務器的數據才會被管理員客戶端所接收。
認證中心所頒發的證書格式遵從X.509標準,密鑰對的生成采用了RSA算法。它在實現上主要由四個模塊(圖2)組成[8],分別是CORBA接口服務模塊、訪問控制模塊、CA證書操作模塊和證書數據庫模塊。
訪問控制模塊是基于CORBA over SSL的,用于驗證客戶端連接的合法性。訪問控制以管理員的證書作為登錄憑證,這比常用的口令密碼方式更具有安全性。如果連接合法,CORBA接口服務模塊將進行證書操作和數據庫操作。證書服務器本質上是一個CORBA對象服務器,客戶端連接證書服務器的調用均是通過CORBA接口服務器模塊實現的。證書服務器提供的對外接口稱為CA_Server,使用MICO提供CORBA服務。
CA證書操作模塊完成了證書服務器邏輯上的功能實現,使用OpenSSL提供SSL支持,它主要完成產生符合X.509標準的證書、符合PKCS12標準的證書和證書撤銷列表CRL。
證書數據庫用來存放已頒發的證書,并且在存放前對證書作加密處理。同時可以進行查詢、插入、刪除和修改等工作。
2.2證書密鑰發放中間件
SSL只能保證點對點的安全,它工作在傳輸層之上,對將要通過網絡進行傳輸的信息進行加密。而需要打印到密碼信封中的證書保護密鑰在傳輸端點有泄漏的可能,這就給服務留下了一個隱患。因此,此中間件[9]在生成證書保護密鑰后,對它進行加密,這就彌補了SSL的不足,實現信息端對端的安全。該中間件主要由密鑰生成模塊、加密模塊和發送模塊組成,如圖3所示。
中間件的加密模塊考慮了效率、安全性和可擴展性等因素,綜合運用了對稱加密技術和非對稱加密技術。其中的關鍵步驟如下:
a)證書密鑰發放中間件自動生成一份隨機的對稱密鑰,即會話密鑰KS。
b)密鑰發放中間件使用會話密鑰KS來對明文實體M進行加密,得到密文實體:
c)密鑰發放中間件使用證書發放管理人員的公鑰證書KU對會話密鑰KS進行加密,得到加密的會話密鑰:
d)密文C和加密的會話密鑰S通過發送模塊發送。
使用上述方法,可以在每次頒發證書時均使用不同的隨機會話密鑰,增加了密碼破譯的難度,從而有效地防止了數字證書保護密鑰在網絡傳輸中與客戶端時的泄漏。
2.3政府采購管理網站
在整個證書發放系統中,政府采購管理網站充當了相當一部分RA的功能,它主要完成了審核與政府采購業務有關人員的個人注冊信息;上級管理員向下級授權和頒發證書;權限數據庫管理。以下是主要實現:
a)政府采購管理網的證書發放管理員對用戶的注冊信息進行核對,以決定是否提交審核。如果提交審核,則在審核中以決定批準還是拒絕用戶的證書申請。
b)用戶的證書申請審核通過后,管理網站通過一個CA代理來向證書服務器提交生成證書的請求。CA代理在管理網站服務器上作為一個共享的函數庫模塊存在,它對證書服務器提供的服務進行包裝和過濾。證書生成后,管理員通過管理網站給用戶頒發證書,并且把證書保護密鑰打印到密碼信封。
c)權限數據庫中存放了用戶的證書和該用戶所擁有的權限與角色之間的綁定關系。它作為CA證書一個重要的補充,與CA共同完成用戶特權的管理。
2.4客戶端密鑰接收控件
證書發放管理員通過Web瀏覽器下載證書后,需要把證書保護密鑰打印到密碼信封。此證書保護密鑰是經過加密的,所以客戶端密鑰接收控件需要對此進行解密。
客戶端密鑰接收控件是基于ActiveX技術的,并且在客戶端的瀏覽器上執行。它主要由接收模塊、解密模塊和打印控制模塊組成,如圖4所示。
接收控件的關鍵步驟如下:
a)密鑰接收控件的接收模塊接收到經過加密的保護密鑰C和會話密鑰S,同時接收模塊還從服務器端取得打印格式和其他的數據信息。
b)密鑰接收控件的解密模塊讀取證書發布管理人員的私鑰證書KR后,用它來解密被加密的會話密鑰S:
d)明文實體M直接傳至打印控制模塊,同時此模塊從接收模塊取得打印格式和其他數據信息后,進行精確的定位,并調用打印機把證書保護密鑰打印到密碼信封中。
3結束語
本文設計并實現了一種面向電子政務的證書發放系統。它是基于B/S模式的,證書和證書保護密鑰均能安全地發送到用戶手中。目前該系統已成功應用于四川省政府采購系統,實際運行效果良好,對電子政務的推廣和發展具有積極意義。
參考文獻:
[1]JIANG Luquan, WU Ruiming, LI Ying, et al. Citizenoriented community egovernment service platform[C]//Proc of ICSSSM’05.2005:14341437.
[2]李濤.網絡安全概論[M].北京:電子工業出版社,2004.
[3]YOUNGLOVER W. Public key infrastructure:how it works[J]. Computing Control Engineering Journal, 2001,12(4):99102.
[4]HUNT R. PKI and digital certification infrastructure[C]//Proc of the 9th IEEE International Conference.2001:234-239.
[5]甘玲,李濤,浦海挺,等.一種基于LDAP的證書發布服務器[J].四川大學學報:工程科學版,2004,36(3):104107.
[6]黃銳,李濤,王姝妲,等.基于B/S和C/S混合模式的CA證書發放實現[J].計算機應用研究,2006,23(3):113115.
[7]HERZBERG A, MASS Y, MIHAEL J. Access control meets public key infrastructure[C]//Proc of IEEE Symposium on Security and Privacy.[S.l.]: IEEE Computer Society Press,2000:214.
[8]張巍,李濤,徐春林,等.認證中心FSCA的設計與實現[J].計算機工程,2003,29(12):120125.
[9]VINOSKI S. The performance presumption: middleware evaluation[J]. Internet Computing,2003,7(4):88-90.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”