證書撤銷

數字證書的“生命”不一定會延續到失效日期。
當訂戶個人身份信息發生變化,或者訂戶私鑰丟失、泄露或者疑似泄露時,證書訂戶應及時地向CA提出證書的撤銷請求,CA也應及時地把此證書放入公開發布的證書撤銷列表。證書的撤銷也表示了證書生命的終結。
此外,數字證書在一些特殊情況下也可能在其失效日期之前被撤銷。例如,數字證書訂戶沒有按時向CA公司繳納年費,數字證書訂戶擅自將證書進行了CA所不允許的用途且被CA發現,或者政府機關等權力部門(超出PKI系統技術範疇但是具有法律行政權力的部門單位)提出對尚處於有效期內的某數字證書的撤銷要求。
當發生上述各種情況時,相應的數字證書繼續正常使用可能會造成較為嚴重的影響,應當及時撤銷。比如私鑰泄露,可能會被其它獲得此私鑰的實體仿造數字簽名去簽署各種電子檔案等,造成不可預計的各種結果包括經濟損失。
CA一般採用證書撤銷列表的方式將被撤銷的證書告知其他訂戶,CRL中列舉著所有在有效期內但被撤銷的數字證書。
證書撤銷的流程如下:
1. 訂戶或者其上級單位向RA提出撤銷請求;
2. RA審查撤銷請求;
3. 審查通過後,RA將撤銷請求傳送給CA或者CRL簽發機構;
4. CA或者CRL簽發機構修改證書狀態,並簽發新的CRL。
當該數字證書被放入CRL後,數字證書則被認為失效。注意,失效並不意味著無法被使用。如果竊取到甲的私鑰的乙用甲的私鑰簽名了一份檔案傳送給丙,並附上甲的證書,如果丙忽視了對CRL的查看,丙就依然會用甲的證書成功的驗證這份非法的簽名,並會認為甲確實對這份檔案簽名。
隨之而來一個話題,就是如何讓各依賴方能夠容易、及時、正確地得到他們需要了解的證書的撤銷信息。這涉及到證書撤銷狀態的發布方式和發布時間這兩個方面。
首先,我們已經知道CA一般會初始化和維持一個CRL,羅列著已經被撤銷的數字證書。CRL的發布方式一般是通過網路,包括Web、FTP等,在數字證書的擴展里一般有存放CRL的地址。除此之外,本地一般會通過一個CRL快取機制來快取著一份最新的CRL。
其次,CRL的發布間隔時間也是一個值得考慮的問題。這裡存在著一個博弈,如果CA非常頻繁地更新CRL,那么CA運營的成本將提高,但是可以把作廢證書可能造成的損失降低。反之,降低CRL的更新頻率,CA在節省這方面成本的同時,也加大了作廢證書由於沒有及時發布而使得依賴方蒙受損失的風險。CA應該選擇合適的證書撤銷列表發布策略來達到最最佳化的成本和風險控制[/url]]。上面所提到的CRL快取時間和CA的CRL更新周期應該是一致,使得本地快取的CRL是當前最新的CRL。
常用的證書撤銷狀態發布方式還有線上證書狀態協定(Online Certificate Status Protocol,簡稱為OCSP),該協定為依賴方提供對證書狀態的實時線上查詢。依賴方不用檢查證書撤銷列表而是向證書狀態查詢伺服器線上詢問某證書的狀態。但是OCSP伺服器必須對查詢的結果進行數字簽名,而簽名是消耗計算資源的操作,所以對OCSP伺服器的要求很高。由於查詢者可以是任何實體,沒有辦法進行身份驗證,所以OCSP伺服器的這種線上的回響方式很可能會遭到DOS/DDOS攻擊。
證書撤銷樹(Certificate Revocation Tree,簡稱為CRT)是一個比較折中的方案。CRT是基於二叉HASH樹的對傳統CRL的改造,它基本上擁有了CRL和OCSP的優勢,且可以快速地返回查詢結果。
[[i]] Chengyu Ma, Nan Hu, Yingjiu Li. On the Release of CRLs in Public Key Infrastructure. 15th USENIX Security Symposium.

相關詞條

熱門詞條

聯絡我們