證書撤銷方法探究論文

時間:2022-11-04 03:51:00

導(dǎo)語:證書撤銷方法探究論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

證書撤銷方法探究論文

摘要PKI是網(wǎng)絡(luò)安全的基礎(chǔ),其安全性和可靠性直接影響到上層的網(wǎng)絡(luò)安全,證書撤銷是PKI系統(tǒng)中重要的一個方面。本文詳細討論了現(xiàn)存的證書撤銷狀態(tài)信息方法,并結(jié)合時戳服務(wù)提出了新的解決方案.該方法在現(xiàn)有時戳協(xié)議的基礎(chǔ)上,通過時戳提供證書的狀態(tài)信息,可以有效降低系統(tǒng)成本,提高系統(tǒng)的工作效率。

關(guān)鍵詞PKI;證書撤銷列表;時戳服務(wù)

0引言

信息安全是日漸得到社會各方注意的熱點問題之一。如何在公共網(wǎng)絡(luò)上保證信息的完整性、機密性和不可否認性是各國推進電子商務(wù)、發(fā)展網(wǎng)絡(luò)事業(yè)的最大挑戰(zhàn)。公鑰體制正迅速地成為解決這一問題的基礎(chǔ)技術(shù),但它的廣泛應(yīng)用要求有一個公鑰基礎(chǔ)設(shè)施來和管理這些公鑰值。公鑰基礎(chǔ)設(shè)施(PublicKeyInfrastructure,簡稱PKI)作為一個普適性的基礎(chǔ)設(shè)施,能為多種協(xié)議和安全應(yīng)用提供統(tǒng)一接口和底層支撐。它能在沒有安全保障的公共網(wǎng)絡(luò)中實現(xiàn)認證、密鑰管理、數(shù)字簽名和不可否認等服務(wù),從而最大限度地滿足網(wǎng)絡(luò)安全的需要。在網(wǎng)絡(luò)安全問題日趨嚴重的今天,PKI的應(yīng)用具有非常重要的意義。

當密鑰對的公鑰以證書的形式公布后,在其整個有效期內(nèi)都應(yīng)該是可使用的。但是在某些情況下,比如發(fā)現(xiàn)或懷疑私鑰被損害、用戶名稱的改變以及主體和CA之間關(guān)系的變化(比如終止雇傭關(guān)系)等,可能需要在密鑰的有效期終止之前停止對該密鑰的使用。在這些情況下,客戶或CA需要撤消證書。用戶在驗證一個證書是否有效時,通常需要驗證該證書是否已被撤消,因此證書撤銷在PKI系統(tǒng)中的重要性不言而喻。由于PKI是網(wǎng)絡(luò)安全的基礎(chǔ),所以其安全性和可靠性直接影響到上層的網(wǎng)絡(luò)安全,本文詳細討論了PKI技術(shù)中有關(guān)證書撤銷的方式,并提出了新的解決方案。

1現(xiàn)存證書撤銷方案

證書撤銷的方法很多,最常用的方法是周期性的機制,比如CA頒發(fā)的證書撤消列表(CertificateRevokationList,簡稱CRL)。另一種方法是在線查詢機制如在線證書狀態(tài)協(xié)議。在文獻[3]中對現(xiàn)存的證書撤銷方法給予了詳細說明,在此本文僅對這些方式給以簡單介紹。

1.1周期機制

CRL是一些帶有時戳的被撤消證書的列表。CRL可以在已知的網(wǎng)址上或從CA自己的X.500目錄條目中定期進行。每個被撤消的證書在CRL中由其證書序列號來確認。CRL的完整性和可靠性由它本身的數(shù)字簽名來保障。

大規(guī)模網(wǎng)絡(luò)環(huán)境中PKI的構(gòu)成是復(fù)雜的,往往用于鑒別密鑰的不再是一個單獨的證書,而是一個證書鏈。要確認鏈中的證書的有效性,驗證者需要獲取與每一個證書相對應(yīng)的CRL并一一加以驗證。當CA的數(shù)量和層次較多時,下載和維護CRL就會成為沉重的負擔。

CRL是定期的,而撤銷請求的到達是隨機的,從證書撤銷請求到新的CRL公布之間的不確定的時間差。在這段時間中,被撤銷的證書的狀態(tài)是不一致的。這種不一致會嚴重影響到證書服務(wù)的質(zhì)量。所以對PKI系統(tǒng)來說,CRL的更新和頻率非常重要。另外隨著用戶的增加和系統(tǒng)使用時間延續(xù),CRL列表有可能變得越來越大,最后可能使用戶查詢起來極不方便。到目前為止,對這個問題的解決方案有如下幾種[6,7,8]:

(1)完全CRL:即所有撤消證書都列在一個CRL表里,這只可能適合于那些用戶群很小的PKI域。

(2)CA撤消列表(ARL):ARL不包括用戶證書的撤消信息,相當于專項專用,因此在用戶驗證證書路徑時會提高效率。

(3)CRL分布點:這是目前最常采用的機制。系統(tǒng)對整個認證空間分區(qū),并將一個單獨的CRL與每個區(qū)聯(lián)系。這種機制中的區(qū)段稱為CRL點或分配點,所有撤消認證的子集就保留在這些點上。分區(qū)可以按照撤消原因、撤消證書是CA證書還是終端實體證書、用戶的姓名等等來進行。每個點由一套名稱來標識,這組名稱可以有多種形式。一旦點定義下來,它們就可以包括在證書中,以至于那些必須檢查證書狀態(tài)的應(yīng)用程序可以訪問在證書中CRL點而不是主CRL中指定的CRL點,與主CRL相比,點中的CRL要小一些,可以加速證書狀態(tài)檢查的過程。CRL分配點可以通過使用證書中的cRLDistributionPoints擴展與證書聯(lián)系起來。

(4)間接CRL:它使得在一個CRL中來自多個CA的撤消信息。間接CRL的使用可以減小用戶在進行證書驗證過程中需要檢索的總的CRL的數(shù)目。

(5)證書撤消樹:這是基于雜湊樹概念的一種撤消列表方式。

(6)Delta-CRL擴展:Delta-CRL允許用戶只記錄上次完整CRL后所發(fā)生的改變。用戶維護著自己的CRL數(shù)據(jù)庫,并利用Delta-CRL不斷更新它。這樣避免了下載整個CRL,節(jié)省了通信帶寬和計算時間。每次Delta-CRL的時候,CA都需要同時一個完整的CRL。

事實上,這些擴展并沒有完全解決CRL撤消證書的延遲性問題。

1.2在線檢查

周期性撤消列表方法的問題之一就是,證書使用系統(tǒng)不能容忍由于時間間隔而造成的撤消通知的延遲。根據(jù)應(yīng)用環(huán)境,許多損害來自密鑰受損的當天。在理想的情況下,當用戶要使用某受損的證書時,他應(yīng)該馬上知道該證書已經(jīng)受損。

通過實時撤消檢查或在線狀態(tài)檢查(OCSP),希望確認證書有效性的證書使用系統(tǒng)可以實現(xiàn)和相應(yīng)的CA服務(wù)器之間的在線通訊。該通訊將返回關(guān)于該證書狀態(tài)的一條指示。CA必須實現(xiàn)高度可用的在線服務(wù),這種服務(wù)對所有的潛在用戶都是可用的,并且必須在安全的環(huán)境中提供這種服務(wù)。對證書使用系統(tǒng)來說,該通訊在實時性和來源上必須是安全可靠的。這要求對每一次通訊,CA都產(chǎn)生數(shù)字簽名,證書使用系統(tǒng)驗證該簽名。

實時狀態(tài)檢查在一些環(huán)境中運轉(zhuǎn)良好,特別是在證書主體和證書使用的封閉環(huán)境中。但成本可能成為一個問題,尤其當環(huán)境的規(guī)模擴大時,考慮到服務(wù)器需要為每個詢問通訊產(chǎn)生一個數(shù)字簽名,所要求的加密處理資源也將特別昂貴。安全服務(wù)器的運作成本(包括所有安全控制的實施)將會很高。

2結(jié)合時間戳的證書撤銷方案

在電子商務(wù)中,時間戳服務(wù)是一個必不可少的服務(wù),通過時間戳服務(wù)為交易雙方提供一個可信的交易時間,來標記交易的準確發(fā)生時間。RFC文檔3161詳細規(guī)定了PKI服務(wù)中提供時間戳服務(wù)的協(xié)議。作為一項重要的服務(wù),時間戳服務(wù)同樣必須進行安全防護,才能保證時間戳的安全性。時間服務(wù)器作為可信第三方TTP,客戶端發(fā)送消息X的摘要H(X)到時間服務(wù)器,時間服務(wù)器獲取當前時間t,并對(H(X),t)進行簽字,把時間t和簽字SigTSS{(H(X),t)}回復(fù)給客戶端。

因為所有簽字過程都需要一個可信的時間戳,作為簽字時間的一個保證。如果把時間服務(wù)器與CA的證書狀態(tài)服務(wù)器相關(guān)聯(lián),在客戶請求時間戳時,除了原來的時間戳請求消息外,還要求客戶提供將要使用的簽字證書的序列號,然后時間服務(wù)器根據(jù)證書的序列號,查詢該證書的狀態(tài),如果證書已撤消,則不給予時間戳,在沒有時間戳的情況下,使用該證書對應(yīng)私鑰的簽字是無效的,從而可防止用戶欺騙行為。同時在發(fā)給用戶的時間戳中包含當前時間和用戶的簽字證書序列號,其他用戶在驗證簽字時,首先驗證該時戳是否可信,然后再檢查用戶簽字證書的序列號與該時戳中的用戶簽字證書序列號是否一致,若一致,就說明簽字時用戶的簽字證書處于有效狀態(tài);若不一致,則可懷疑用戶有作弊行為,這樣,就可以安全地獲得用戶證書的狀態(tài)。該方案只需把原時間戳服務(wù)協(xié)議略加改造即可。

(1)簽字者在對消息X簽字前,首先向時間服務(wù)器發(fā)送請求,獲得時間戳,發(fā)送消息為:

TimeStampReq::=SEQUENCE{

versionINTEGER,

messageImprintMessageImprint,

reqPolicyTSAPolicyIdOPTIONAL,

nonceINTEGEROPTIONAL,

certReqBOOLEANDEFAULTFALSE,

extensions[0]IMPLICITExtensionsOPTIONAL}

MessageImprint::=SEQUENCE{

hashAlgorithmAlgorithmIdentifier,

hashedMessageOCTETSTRING

signCertIDINTEGER

}

該消息與rfc3161的協(xié)議相比增加了只增加了簽字證書的序列號,即消息中的陰影部分的內(nèi)容。

(2)時間服務(wù)器接受到請求后,首先檢查signCertID對應(yīng)的簽字證書的有效性,如果有效則按照通常的時間服務(wù)進行處理,生成響應(yīng)消息,發(fā)送給簽字者。響應(yīng)消息的格式為:

TimeStampResp::=SEQUENCE{

StatusPKIStatusInfo,

timeStampTokenTimeStampTokenOPTIONAL

}

TSTInfo::=SEQUENCE{

versionINTEGER,

policyTSAPolicyId,

messageImprintMessageImprint,

serialNumberINTEGER,

genTimeGeneralizedTime,

accuracyAccuracyOPTIONAL,

orderingBOOLEANDEFAULTFALSE,

nonceINTEGEROPTIONAL,

tsa[0]GeneralNameOPTIONAL,

extensions[1]IMPLICITExtensionsOPTIONAL}

在這個消息中格式與原來協(xié)議的格式一樣,只是messageImprint使用請求者發(fā)送來的messageImprint,即包含了請求者的簽字證書的序列號。時間戳是對TSTInfo的簽字,包括當前時間和messageImprint,因此其他用戶不能更改時戳中的簽字證書的序列號。

(3)簽字者按照正常時間戳的使用方式使用時間服務(wù)器發(fā)送來的時間戳,他在對消息X簽字時務(wù)必使用在時戳請求中包含的簽字證書序列號對應(yīng)的證書。

(4)其他用戶在驗證該簽字時,首先驗證時戳是否正確,然后在驗證簽字所使用的證書的序列號和時戳messageImprint中包含簽字證書序列號是否一致,如果一致則表明該證書在使用時是有效的。

在一個安全性要求較高的環(huán)境中,時間服務(wù)器是必須的,其安全性也是必須要保證的,這樣把證書狀態(tài)響應(yīng)服務(wù)與時間服務(wù)相連,可以節(jié)省狀態(tài)響應(yīng)服務(wù)器運行的成本,并且證書的使用者也可以通過驗證時戳達到驗證了證書狀態(tài)的目的,從而節(jié)省了用戶的資源和時間。

3結(jié)語

本文提出的結(jié)合時戳服務(wù),提供證書狀態(tài)信息,可以有效的解決證書撤銷帶來的問題,同時節(jié)約了用戶和系統(tǒng)的資源和時間,并且對當前的時戳服務(wù)只需做一些小的改進,容易實現(xiàn)。上述關(guān)于證書撤消的各種方法具有不同的及時性,可以應(yīng)用于各種不同的環(huán)境。除了成本方面的考慮,最合適的方法還依賴于風險評估。該領(lǐng)域的研究還在繼續(xù),新的撤消方法還會不斷出現(xiàn)。

參考文獻

1Housley.R,Fond.W,Polk.W,etal.InternetX.509PublicKeyInfrastructureCertificateandCRLProfile[S].(1999-1),RFC2459.

2AdamsC,FarrellS.InternetX.509PublicKeyInfrastructureCertificateManagementProtocols[S].(1999-03),RFC,2510.

3CarlisleAdams,SteveLloyd著,馮登國等譯.公開密鑰基礎(chǔ)設(shè)施——概念、標準和實施[M].人民郵電出版社,2001.1.

4金融系統(tǒng)電子商務(wù)聯(lián)絡(luò)與研究小組,電子商務(wù)——安全認證與網(wǎng)上支付[M],人民出版社.2000.4.

5Cain,P.,Pinkas,D.,andR.Zuccherato,"InternetX.509PublicKeyInfrastructureTimeStampProtocol",[S],rfc3161.

6薛源,周永彬,郭建鋒,倪惜珍.基于Huffman算法的證書撤銷樹[J].通信學報.2005,26(2):45-50.

7王永靜,謝冬青,陳華勇.證書撤銷機制的分析與設(shè)計[J].計算機應(yīng)用研究.2004,21(9):147-149.

8劉愛江,何大可,許長楓.基于排隊模型的證書撤銷機制分析.計算機應(yīng)用研究[J].2004,21(4):68-70.