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