雷曉娟 崔廣印 金 一
(北京中油瑞飛信息技術(shù)有限責(zé)任公司 北京 100007)
數(shù)字證書在電子交易支付過程中充當(dāng)?shù)谌綋?dān)保人角色,是唯一確認(rèn)安全電子商務(wù)交易雙方身份的工具。證書有效與否關(guān)系到電子交易的安全性。傳統(tǒng)的CRL不能提供證書即時狀態(tài),而OCSP能夠?qū)⒆C書的即時狀態(tài)實(shí)時反饋給應(yīng)用系統(tǒng),彌補(bǔ)了CRL的不足。在實(shí)際應(yīng)用中,應(yīng)用系統(tǒng)作為OCSP客戶端將證書查詢請求發(fā)送給OCSP服務(wù)器,OCSP響應(yīng)器將查詢結(jié)果返回給客戶端,這個過程涉及到構(gòu)造OCSP請求數(shù)據(jù)和解析OCSP響應(yīng)數(shù)據(jù)兩個方面。本文結(jié)合應(yīng)用實(shí)踐,就OCSP協(xié)議語法及特點(diǎn)進(jìn)行分析討論。
OCSP請求語法分析
客戶端與服務(wù)器之間通訊需要遵循一套共同約定的語法向?qū)Ψ矫枋鏊鶄鬟f的信息。OCSP協(xié)議作為一種標(biāo)準(zhǔn)協(xié)議是按照ASN.1描述在OCSP客戶端與服務(wù)器之間所傳遞的信息。OCSP請求是根據(jù)語法規(guī)則經(jīng)過DER編碼的一組數(shù)據(jù),這組數(shù)據(jù)包括協(xié)議版本號、請求者名字、請求信息、擴(kuò)展項。請求語法如下:


在語法中數(shù)字簽名、請求者名稱以及擴(kuò)展項是可以選擇的。在實(shí)際請求中可以有選擇的包含這些項,然而如果OCSP要求數(shù)字簽名,那么數(shù)字簽名項則是不可缺少的,否則OCSP相應(yīng)器會返回一個sigRequired,告訴應(yīng)用程序所發(fā)請求沒有經(jīng)過數(shù)字簽名,如果OCSP對這個項沒有做特殊要求,在請求中則不必包含。需要注意的是:哈希算法標(biāo)識;發(fā)布者名稱的哈希值;發(fā)布者公鑰的哈希值;要查詢的證書序列號是構(gòu)成OCSP請求的關(guān)鍵項,是缺一不可的。
OCSP響應(yīng)語法分析
客戶端接收到的是OCSP響應(yīng)器返回的一個經(jīng)過DER編碼的數(shù)據(jù)。OCSP響應(yīng)器在接收到客戶端的請求后,至少會發(fā)送OCSPResponseStatus 枚舉結(jié)構(gòu)中6種響應(yīng)狀態(tài)的其中一種指明對請求的處理狀態(tài)。響應(yīng)語法如下:

在以上OCSPResponse結(jié)構(gòu)中,OCSPResponseStatus枚舉了6種OCSP對請求的處理狀態(tài),“0”代表successful表示響應(yīng)被有效確認(rèn),響應(yīng)器會返回給客戶端responseBytes響應(yīng)信息。

responseBytes是個比較大的數(shù)據(jù)體,其中包含證書標(biāo)識符、證書狀態(tài)、響應(yīng)有效時間等在內(nèi)的大量信息,客戶端需要做好接收大數(shù)據(jù)的準(zhǔn)備,在實(shí)際應(yīng)用中這個數(shù)據(jù)體大約接近3千字節(jié)。證書狀態(tài)CertStatus,在OCSP協(xié)議中有3個響應(yīng)標(biāo)識符:good(0)、revoked(1)、unknown(2)。
0表示證書處于正常狀態(tài)(good);
1表示證書處于被撤銷狀態(tài)(revoked),在實(shí)際中這個意義會被擴(kuò)展,不僅表示證書被撤銷,還可以表示證書被凍結(jié)和證書已經(jīng)過期失效等狀態(tài);
2表示證書處于未知狀態(tài)(unknown),說明所查詢的證書不是本CA所頒發(fā)。應(yīng)用系統(tǒng)從responseBytes中提取所關(guān)心的證書狀態(tài)值以判斷證書的可信任性。 然而,如果OCSP響應(yīng)器返回值指明對請求的處理狀態(tài)不是successful,而是OCSPResponseStatus 枚舉結(jié)構(gòu)中其它5種響應(yīng)之一,那么就沒有responseBytes響應(yīng)信息返回。OCSPResponseStatus 枚舉結(jié)構(gòu)中除0以外其余枚舉值都是OCSP相應(yīng)器向客戶端說明請求被拒絕的原因,它們的含義分別是:
1 代表非法確認(rèn)請求
2 代表發(fā)布者內(nèi)部錯誤
3 代表稍候重試
4 代表必須對請求簽名
代表請求未被授權(quán)
當(dāng)前,不僅在金融交易,在信息化程度高的大型企業(yè)已經(jīng)把信息安全列入到企業(yè)信息化發(fā)展規(guī)劃中,使用數(shù)字證書實(shí)現(xiàn)身份認(rèn)證和資源的訪問控制,將OCSP作為先進(jìn)的證書查詢技術(shù)被應(yīng)用,以O(shè)CSP作為主要證書狀態(tài)查詢手段,以CRL作為后備查詢工具。OCSP已經(jīng)開始逐步替代CRL成為證書查詢的首選工具。
[1]ISO/IEC 8824-1:2002 抽象語法記法一(ASN.1 )第1部分:基本記憶規(guī)范.
[2]IETF(互聯(lián)網(wǎng)工程特別工作組)RFC2560.