摘 要: CA認證是保證網上數據傳輸和網上身份認證的一種有效手段,PKI/CA認證體系是目前比較流行的一種可靠的安全認證體系。本文給出一種方便有效的網上CA認證中心的搭建方式,重點討論了CA認證中心證書的發布、認證、管理等問題,給出了一個包含CA認證中心和RA注冊中心的完整CA認證系統的設計思想和具體實現方法。
關鍵詞: CA認證; 網絡安全; Web平臺; PKI
為保障網上數字信息的傳輸安全,除了在通信傳輸中采用更強的加密算法等措施外,必須建立一種信任及信任驗證機制,即參加電子商務的各方必須有一個可以被驗證的標識,這就是CA(Certificate Authority)認證[1-2]。
CA認證是保證網上數據傳輸和網上身份認證的一種有效手段,PKI/CA認證體系是目前比較流行的一種可靠的安全認證體系。CA認證中心是公鑰基礎設施PKI(Public Key Infrastructure)框架中負責發布和撤銷證書的系統,它可以按照一定的信任模型來組織一個有效的信任系統[3,4]。CA認證中心為每個CA用戶發放一個數字證書,用來標識用戶的身份,從而保證網上交易的安全性和不可抵賴性。
本系統的主要功能就是發放和管理數字證書,主要提供公鑰加密和數字簽名服務等功能,CA認證系統是電子商務、電子政務等系統開展的基礎,可以方便地為人們提供安全的通信方式,可以保護數據傳輸的安全性,從而建立一個安全的網上信任環境。
1 CA認證技術
1.1 CA認證
CA認證的主要任務是受理數字證書的申請、簽發數字證書及對數字證書進行管理。CA作為可信任的第三方機構,把用戶的密鑰和其他的標示信息捆綁在一起,承擔公鑰體系中公鑰的合法性檢驗的責任。CA 認證中心為每個客戶發放數字證書,使第三者不能偽造和篡改證書,并負責產生、分配并管理所有參與網上信息交換各方所需的數字證書,是安全電子信息交換的核心[3]。CA認證中心負責數字證書的申請、簽發、制作、廢止、認證和管理,提供網上客戶身份認證、數字簽名、電子公證、安全電子郵件等服務業務。
1.2 數字證書
數字證書是用來表示網上用戶身份真實性的。數字證書就是網上表示用戶身份的一系列數據,是由CA頒發的。目前使用較為廣泛的數字證書的格式是X.509 v3格式。X.509 v3公鑰證書的適用性非常廣,采用ASN.1語法進行編碼[5]。
1.3 RA
RA(Register Authority)是注冊審核機構,RA提供了用戶與CA之間的接口,主要功能是用來收集用戶信息和確認用戶身份。一般來說,RA接受用戶的注冊申請,并確認用戶是否符合申請資格,最終決定CA是否給其簽發數字證書,RA還負責對發放的證書進行管理。發放的證書一般可以存在IC卡或USB設備中,RA系統是整個CA系統不可缺少的部分。本系統的RA部分就是由基于J2EE的Web平臺架構、MVC設計模式實現,并采用Oracle來存儲信息。
2 系統功能需求
2.1 系統功能需求模型
一個完善的CA認證系統應具備的主要功能如圖1所示。
系統具有三種使用角色:用戶、RA管理員、CA管理員。下面將對他們進行詳細的用例分析。
(1) 用戶的用例圖如圖2所示。
(2) RA管理員用例圖如圖3所示。
(3) CA管理員用例圖如圖4所示。
2.2 詳細功能需求
(1) 用戶注冊。為了方便系統和用戶管理,系統必須要有注冊功能,用戶注冊之后將會擁有更多的權限,能夠使用更多的功能。
(2) 用戶登錄。注冊之后的用戶可以登錄系統,使用系統的更多功能。
(3) 證書申請。采用在線申請方式和離線申請方式。
在線申請:申請人登錄到RA注冊網站,通過網頁提交申請信息,完成申請;離線申請:申請人到專門的RA申請機構,填寫由申請機構提供的申請表,并提供相關的證件,完成申請。在證書申請階段,申請人需要提供能夠標示自己身份的公鑰信息。申請信息提交到RA之后,證書申請過程即可完成。
(4) 申請人信息審核。RA系統在接收到用戶提交的申請之后,必須對證書進行審核,確認申請者是否具備申請條件,是否能夠為該用戶頒發數字證書。審核的范圍一般包含兩個方面:申請人提供的申請信息是否真實可信和申請證書的用途是否正確合法。
(5) 證書簽發。申請人的申請通過審核之后,CA中心就需要為合法用戶簽發數字證書,證書簽發后,必須通過一定的渠道進行發布并儲存,才能被用戶使用。證書的發放有兩種形式,一是在線發送,簽發完畢后直接發送到用戶郵箱中;二是離線發放,CA將證書存入介質,一般為IC卡或USB設備,再由用戶攜帶有效證件到CA處領取。證書的存放一般不需要加密存儲,因為證書中存在CA的數字簽名,證書中的任何改動都可以被發現,從而保證證書信息的完整性。
(6) 證書更新。CA證書申請時都有有效期,一般為1年或3年,最長一般也不超過5年,這也是由實際因素和理論因素所決定的,實際因素:CA主體(包括單位和個人)的信息不是一成不變,一旦這些信息發生了變化,CA證書的有效性和真實性就難以得到保證。另外,理論上的因素主要有:目前的電子計算機的運算速度發展很快,新的加密算法和破解算法也層出不窮,一個加密算法很難保證一直不會被破解,因此長期使用一種加密算法的做法并不可取,CA證書需要在一定時間后及時更新。這就是證書的更新功能。每一個證書在申請時都有一個有效期,證書有效期期滿后就需要更換新證書。
(7) 證書吊銷。用戶申請的證書也可能丟失或被盜竊,一旦發生了這些意外情況,就需要證書的吊銷功能,證書的吊銷就是用戶在證書的有效期結束之前,要求停止使用證書,并作廢證書。證書的吊銷一般有兩種情況:
① 必須是上級CA對下級證書的吊銷,而不能反向執行,出現這種情況一般是上級CA不能信賴下級CA。這時上級CA就可以吊銷下級CA的證書。
② 下級證書主動申請證書的撤消。出現這種情況一般是下級CA或用戶的自證書或密鑰丟失或被盜竊,為了避免更大的損失而申請吊銷證書。
(8) 證書歸檔。證書到了有效期,而用戶卻沒有申請繼續延長使用,這時就必須使用證書的歸檔功能。當用戶更新證書之后,原來的舊證書也是要進行歸檔操作的。另外用戶撤銷的證書不能隨意丟棄,也需要歸檔操作。
3 系統設計
3.1 系統功能設計
RA注冊中心主要負責普通用戶瀏覽系統、注冊用戶、申請證書以及RA管理員管理用戶、申請信息和管理系統。
RA系統設計為三種用戶權限,即一般游客、普通用戶和管理員。三種用戶應具備不同的權限,所看到的系統頁面也應該有所不同。一般游客功能比較少。很多功能只有在注冊成為普通用戶后才能使用。
(1) 普通用戶的活動圖如圖5所示。
(2) RA管理員的活動圖如圖6所示。
RA系統在接收到用戶提交的申請之后,必須對證書進行審核,確認申請者是否具備申請條件,是否能夠為該用戶頒發數字證書。審核的范圍一般包含:申請人提供的申請信息是否真實可信;申請證書的用途是否正確合法。
(3) CA管理員的活動圖如圖7所示。
申請人的申請通過審核之后,CA中心就需要為合法用戶簽發數字證書,證書簽發后,CA認證中心應包括證書簽發、證書更新、發布證書信息、證書歸檔、證書管理與維護等功能。
3.2 系統數據庫設計
系統的核心數據主要包括用戶的信息、認證中心管理用戶證書的相關數據。這些數據全部存在一個數據庫里。用戶的注冊信息、申請信息、有效證書信息、作廢或過期證書的信息將分別儲存在不同的表中。為了保證系統有良好的移植性和擴展性,本系統的數據庫采用Oracle9i數據庫。用戶證書申請表用于用戶申請證書,其中存儲的主要是用戶的申請信息;用戶證書表存儲的主要是用戶證書的相關信息;用戶申請撤銷表用于儲存用戶申請撤銷證書的信息;用戶撤銷證書表記錄被用戶撤銷的證書。
CA作為現代網絡與信息系統的安全基礎設施核心內容之一,在信息安全領域起到重要的作用,為電子商務、電子政務等網絡應用提供了認證完整性、保密性和不可否認性等安全服務。本文就CA認證系統的體系結構和各個組成部分作出了詳細的分析和設計,并給出了一種切實可行的系統實現方式,實現了CA系統的主要功能。
參考文獻
[1] 卡哈特.Cryptography and network security[M].北京:清華大學出版社,2005.
[2] RESCORLA E. SSL與TSL[M].北京:中國電力出版社,2002.
[3] 關振勝.公鑰基礎設施PKI與認證機構CA[M].北京:電子工業出版,2002.
[4] 寧宇鵬,陳昕. PKI技術[M]. 北京:機械工業出版社,2004.
[5] 邁瓦爾德.網絡安全基礎教程/Fundamentals of network security[M].北京:清華大學出版社,2005.