基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化_第1頁
基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化_第2頁
基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化_第3頁
基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化_第4頁
基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于EJBCA的證書狀態(tài)查詢系統(tǒng)的實現(xiàn)與優(yōu)化星論文網(wǎng)  來源:  發(fā)布時間:2010-05-30 18:23:36 1 引言隨著電子商務(wù)的迅速發(fā)展,PKI(Public Key Infrastructure,公鑰基礎(chǔ)設(shè)施)技術(shù)的應(yīng)用將越來越廣泛。在PKI框架中,CA(Certification Authority,認(rèn)證中心)的主要功能是頒發(fā)和管理證書。證書有一定的生命期,而由于某些原因(私鑰泄漏等)一些證書在到期之前會被撤銷,證書將不再有效。證書狀態(tài)查詢是PKI系統(tǒng)中一個重要的問題?,F(xiàn)有PKI系統(tǒng)所提供的證書狀態(tài)查詢機制一般是基于CRL(Cer

2、tificate Revoke List,證書撤銷列表)的查詢機制和基于OCSP協(xié)議(Online Certificate Status Protocol,在線證書狀態(tài)協(xié)議)的實時查詢機制。CRL是一種最簡單、最常用的證書撤銷方法,CRL實質(zhì)上是由頒發(fā)證書的CA定期簽發(fā)的一個簽名的數(shù)據(jù)結(jié)構(gòu),內(nèi)含被該CA撤銷的證書列表。CRL使用證書序列號來標(biāo)識每一個被撤銷的證書。使用證書的系統(tǒng)就可以通過查詢“最近簽發(fā)”的CRL 來查詢證書的狀態(tài)。由于CRL是定期發(fā)布的,所以不能保證證書撤銷信息的實時性和準(zhǔn)確性。OCSP協(xié)議是PKIX工作組在RFC2560中提出的協(xié)議,給用戶提供了一種方便快捷的數(shù)字證書狀態(tài)查詢

3、通道,它可以滿足那些要求提供比CRL更及時的證書撤銷信息的操作要求,例如涉及大量資金的交易或者股票買賣。因而OCSP可以作為周期性的CRL的一種代替機制或補充機制,使得PKI體系能更有效、更安全地應(yīng)用于各個領(lǐng)域。目前,在校園網(wǎng)中部署CA系統(tǒng)的技術(shù)已經(jīng)相對成熟,而且有許多開源的CA系統(tǒng)可供參考。使用獨立的PKI系統(tǒng),不僅有助于校園網(wǎng)統(tǒng)一管理,而且可以節(jié)省大量的費用。EJBCA用JAVA編寫,是一個具有完整功能的證書認(rèn)證體系,并提供了一個開放的、高性能的、具有獨立平臺和基于組件的CA。它包含有PKI中幾乎所有重要的功能部件,比如RA(Registration Authority,注冊中心)、CA、

4、CSDB(Certificate Storage Database,證書存儲數(shù)據(jù)庫)、CRL、OCSP等。為了提高校園網(wǎng)安全性,這里使用EJBCA建立GDUFCA。2 EJBCA系統(tǒng)的安裝配置在安裝軟件的配置上,這里選擇最新版本的EJBCA軟件,并經(jīng)多方測試優(yōu)化組合。相關(guān)軟件均可通過開源網(wǎng)站下載得到。表1  EJBCA系統(tǒng)的軟件組合 軟件名稱及版本 下載地址JDK1.6.0_9 JBOSS-4.2.2.GA EJBCA_3.7.2 Apache-ant-1.7.0 MySQL 5.0 MySQL-connector

5、-java-5.0.6 Jce_policy-1_6_0 MySQL-front-3.2 部署EJBCA系統(tǒng)的過程如下:(1)生成初步部署文件ejbca.ear。在%EJBCA_HOME%目錄下,運行:ant bootstrap。生成完畢,運行%JBOSS_HOME%/run.bat文件,啟動jboss。由于內(nèi)存處理任務(wù)較繁重,為了防止內(nèi)存溢出錯誤,設(shè)置ANT_OPTS變量,參數(shù)為:ANT_OPTS=-Xmx512m。(2)安裝管理CA并初始化EJBCA系統(tǒng)。首先啟動MySQL數(shù)據(jù)庫,然后在%EJBCA_HOME%/下,運行以下命令:ant install,安裝管

6、理CA并初始化EJBCA系統(tǒng)。安裝時,將“CN=AdminCA1,O=EJBCA Sample,C=SE”設(shè)置為:“CN=GDUFCA,O=GDUF,C=CN”;將“CN=localhost,O=EJBCA Sample,C=SE”設(shè)置為:“CN=localhost,O=GDUF,C=CN”。安裝完畢,停止JBOSS。(3)重新部署整個系統(tǒng)。在%EJBCA_HOME%目錄下,運行命令:ant deploy。將重新部署整個系統(tǒng),并用密鑰庫配置Sevlet容器。(4)安裝管理員證書。將%EJBCA_HOME%/p12/superadmin.p12證書導(dǎo)入瀏覽器,默認(rèn)密碼是ejbca。方法為:選擇證

7、書文件,并單擊右鍵,在彈出的對話框中選擇“安裝PFX”,就會打開導(dǎo)入證書的對話框。(5)重新啟動JBOSS。登錄http:/localhost:8080/ejbca/。如果可以進入管理員(administrator)頁面(要提示證書)說明安裝成功。管理地址為:https:/localhost:8443/ejbca/adminweb/index.jsp。分別單擊左側(cè)的“系統(tǒng)配置”、“個人選項”,在右側(cè)的管理員首選項中設(shè)置Web界面默認(rèn)語言為“ZH”(中文)。3 CRL機制的實現(xiàn)CRL使用證書序列號來標(biāo)識每一個被撤銷的證書。使用證書的系統(tǒng)就可以通過查詢“最近發(fā)布”的CRL 來查詢證書的狀

8、態(tài)。 “最近發(fā)布”的意思是可能隨著本地策略改變,但是它通常意味著最近一次發(fā)行的CRL。EJBCA下產(chǎn)生CRL是在圖形界面下完成的。首先通過管理員身份,進入“基本功能”界面,單擊該界面中的“創(chuàng)建CRL”按鈕即可創(chuàng)建新的CRL,并能夠生成最新的*.CRL文件。CRL的完整性和可靠性由它本身的數(shù)字簽名保證,簽名者一般就是證書的簽發(fā)者。如圖1所示。 圖1 創(chuàng)建CRL的界面CA按照正常周期(例如,每隔一小時、每天或者每周)發(fā)行一次新的CRL,這就有可能出現(xiàn)新的撤銷是在一個正常CRL發(fā)布周期之后不久,而遠離下一次發(fā)布的周期。由于CRL是定期發(fā)布的,所以不能保證證書撤銷信息的實時性和準(zhǔn)確性。在EJ

9、BCA的CRL中,包含一個列表的頒發(fā)日期“最新日期”以及下一個CRL的頒發(fā)日期“到期日期”,由這兩個日期信息,用戶可以判斷當(dāng)前擁有的CRL是否是最新的。系統(tǒng)本身也應(yīng)用這些信息幫助管理CRL緩沖區(qū),即在下一個CRL頒布之前,用戶可以一直使用原來CRL的數(shù)據(jù)結(jié)構(gòu)。第2版的CRL擴展域其內(nèi)容為一個或多個CRL擴展的序列,可以創(chuàng)建完全CRL,以便將某個CA域內(nèi)的所有撤銷信息都包括在一個CRL中。完全CRL嚴(yán)格按照下次更新時間進行頒布,因此在同一個時刻只有一個有效的CRL可以提供撤銷的信息。4 OCSP機制的實現(xiàn)CRL具有兩個缺陷:第一,在校園網(wǎng)絡(luò)環(huán)境中,隨著CRL規(guī)模的增加,在下載和保存的過

10、程中會耗費大量的時間和存儲資源;第二,在CRL的發(fā)布周期中會出現(xiàn)時間間隔,使得被撤銷的證書仍能夠通過驗證,形成潛在的安全漏洞。在這種情況下,OCSP協(xié)議應(yīng)運而生。OCSP協(xié)議即在線證書狀態(tài)協(xié)議,是用于OCSP請求者(客戶端)和 OCSP響應(yīng)者(服務(wù)器)之間的請求/相應(yīng)協(xié)議。OCSP客戶端發(fā)送一個證書狀態(tài)查詢請求給OCSP服務(wù)器,并且等待直到服務(wù)器返回一個響應(yīng)。這個協(xié)議描述了在客戶端檢查證書狀態(tài)和服務(wù)器提供狀態(tài)之間所需要交換的數(shù)據(jù)。在合理的實現(xiàn)方式下,OCSP可以解決CRL的兩個問題。OCSP協(xié)議對OCSP客戶端和OCSP響應(yīng)器之間所需要交換的數(shù)據(jù)進行了描述。一個OCSP請求包含以下數(shù)據(jù):協(xié)議版

11、本、服務(wù)請求、目標(biāo)證書標(biāo)識和可選的擴展項等。OCSP響應(yīng)器在接收到一個請求之后,首先應(yīng)檢查這個請求的編碼格式是否正確,然后再根據(jù)響應(yīng)器的配置和請求中所包含的信息,向客戶返回一個響應(yīng)(確定回復(fù)或出錯信息)。首先,OCSP響應(yīng)器返回確定的回復(fù)時,該響應(yīng)必須進行數(shù)字簽名。被用來簽名響應(yīng)信息的密鑰必須屬于下列中的一個:頒發(fā)所涉及證書的CA,是一個信任的響應(yīng)器(它的公鑰被請求者信任),是CA指派的響應(yīng)器(被授權(quán)的響應(yīng)器,它具有一張由CA直接頒發(fā)的用來表示此響應(yīng)器可以為本CA發(fā)布OCSP響應(yīng)的特別標(biāo)記證書)。一個確定的回復(fù)信息由以下幾部分組成:版本號、響應(yīng)器名稱、對每一張被請求證書的回復(fù)、可選擴展項、簽名

12、算法、對象標(biāo)識和簽名值。在對每一張被請求證書的回復(fù)中都包含有證書狀態(tài)?!罢!睜顟B(tài)表示這張證書沒有被撤銷,“撤銷”狀態(tài)表示證書已被撤銷,“未知”狀態(tài)是表示響應(yīng)器不能判斷請求的證書狀態(tài)。EJBCA軟件在用戶通過客戶端程序或者瀏覽器遞交OCSP證書查詢請求的時候,在線查詢服務(wù)器先加載CA證書到緩存中,然后根據(jù)用戶請求內(nèi)容來確定OCSP響應(yīng)器,再獲得所要查詢的證書的狀態(tài),并返回響應(yīng)信息給客戶。系統(tǒng)的安全管理員可以決定授權(quán)和撤銷一個OCSP響應(yīng)器。在EJBCA的公共界面中,單擊左側(cè)的“Fetch CA&OCSP Certificates”鏈接,即可了解最新的證書撤銷信息。以IE瀏覽器為例。單擊

13、“For Internet Explorer”下的“OCSPResponder Certificate”,可以看到當(dāng)前的撤銷證書。如圖2所示。 圖2 OCSP在線查詢用戶發(fā)送一個application/ocsp-request請求,服務(wù)器接收并驗證是不是application/ocsp-request類型的用戶請求。通過后,根據(jù)用戶請求獲取對應(yīng)的響應(yīng)器證書并產(chǎn)生一個基本的響應(yīng)信息。該響應(yīng)信息會根據(jù)不同的證書狀態(tài)進行擴充,然后查詢和獲取用戶需要查詢的證書狀態(tài),形成最終的響應(yīng)信息后簽發(fā)該信息返回給用戶。當(dāng)管理員需要更新或撤銷OCSP證書時,使用超級管理員登錄到管理界面。這里以廣東金融學(xué)院

14、的肇慶分CA為例。單擊“CA功能”下的“編輯CA”, 在出現(xiàn)的網(wǎng)絡(luò)界面中,對肇慶子CA(GDUFZQCA)進行編輯。在其中的“OCSP服務(wù)”中,單擊“撤銷并刪除OCSP證書”即可進行設(shè)置。如圖4-13所示。 圖3 撤銷并更新OCSP證書其次,當(dāng)OCSP響應(yīng)器返回出錯信息時,該響應(yīng)不用簽名。出錯信息包括:請求編碼格式不正確、內(nèi)部錯誤、稍后再試、請求需要簽名、未授權(quán)等。5 OCSP系統(tǒng)的改進實際應(yīng)用中,盡管OCSP能夠提供實時和最新的證書狀態(tài)信息,但這并不意味著來自O(shè)CSP的響應(yīng)和證書當(dāng)前撤消狀態(tài)相比就是零延遲。針對OCSP協(xié)議的一些局限性,本文提出了針對EJBCA的OCSP系

15、統(tǒng)改進方案。對于這些參數(shù)的設(shè)置優(yōu)化,可以打開/ejbca/conf安裝目錄,將perties.sample重命名為:perties,然后對配置參數(shù)進行修改。在本方案中,將OCSP作為一個獨立的服務(wù)器來實現(xiàn)。如圖4-14所示。 圖4 OCSP系統(tǒng)體系結(jié)構(gòu)圖本系統(tǒng)主要由以下部分組成:(1)OCSP服務(wù)器,實現(xiàn)對OCSP協(xié)議消息流的處理。它直接接受OCSP客戶端的證書狀態(tài)查詢請求,通過查詢OCSP數(shù)據(jù)庫的信息生成對查詢請求的響應(yīng),并調(diào)用加密機對響應(yīng)進行簽名,然后將響應(yīng)返回給OCSP客戶端。(2)OCSP數(shù)據(jù)庫。存儲證書的狀態(tài)信息,其內(nèi)容和CA數(shù)據(jù)庫中必須同步

16、。(3)證書狀態(tài)信息接收器,實現(xiàn)同步OCSP數(shù)據(jù)庫和CA數(shù)據(jù)庫中的證書狀態(tài)信息。每當(dāng)CA系統(tǒng)有證書發(fā)布或者證書撤銷時,該接收器就可以接收到這些證書狀態(tài)信息,并更新OCSP數(shù)據(jù)庫中的相應(yīng)信息。(4)證書狀態(tài)信息發(fā)送器。每當(dāng)CA系統(tǒng)有證書發(fā)布或者證書撤銷時,CA系統(tǒng)就實時地通過該發(fā)送器向OCSP響應(yīng)器發(fā)送相關(guān)的證書狀態(tài)信息。(5)OCSP客戶端。通過執(zhí)行標(biāo)準(zhǔn)的OCSP協(xié)議向OCSP響應(yīng)器提出查詢請求。通過上述部件的有機組合,構(gòu)成一個完整的OCSP體系。6 結(jié)束語本文介紹了PKI的相關(guān)知識,結(jié)合實際在校園網(wǎng)中部署了開源EJBCA系統(tǒng),建立學(xué)校CA認(rèn)證中心,實現(xiàn)了CRL和OCSP兩種證書狀態(tài)查詢方式并對它們的優(yōu)缺點進行了論述,提出了一個改進的的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論