數字證書——權威機構對私鑰持有者身份的認可

數字證書是什麼?數字證書如何獲取和使用? 文章圍繞數字證書的相關問題展開拓展,歡迎感興趣的童鞋閱讀。

数字证书——权威机构对私钥持有者身份的认可

在現代密碼學中,非對稱密碼算法應用十分常見,銀行卡、U盾以及網絡通信中應用的https,都應用了非對稱密碼算法技術。

相對於對稱密碼算法,非對稱密碼算法的提出,在一定程度上可以簡化密鑰管理的難題,但由於非對稱密碼算法中的公鑰在分發過程中可能被截取後篡改,接收方也無從核查接收到的公鑰所對應私鑰的持有者身份,因而引入了數字證書。

一、什麼是數字證書

大學畢業時學校會頒發學位證書和學歷證書;駕照考試通過後交管局會頒發機動車駕駛證書……相同的,個人身份認證通過之後,數字證書認證機構(Certificate Authority,簡稱CA)會頒發數字證書(也叫公鑰證書)。

和學歷證書、駕照相似,數字證書中包含個人信息,聯繫方式,以及個人公鑰等信息,其中個人身份認證通過屬於獲取數字證書的前提條件,個人身份認證由CA(或專門用於對用戶提供面對面的證書業務服務機構Registry Authority,簡稱RA)來完成,CA機構根據電子認證業務準則(CPS,Certification Practice Statement)的要求完成用戶的個人身份認證。

二、數字證書的獲取與使用

個人用戶可自行生成一對公私鑰對,將公鑰發送給認證機構CA,CA確認用戶身份之後,使用自身的私鑰對個人用戶的身份信息和公鑰信息進行加密處理(簽名)後形成數字證書,此時個人用戶即獲得了一張個人數字證書。

數字證書可建立公鑰與用戶之間的對應關係,通常應用在驗證個人用戶的數字簽名中,也應用在對隱私信息的加密中。在應用層面,之所以引用數字證書而不直接應用個人用戶的公鑰,目的是通過可信任的認證機構CA對用戶身份的認可,使個人用戶的數字簽名合法化,同時讓第三方使用數字證書加密更加安全,避免中間人篡改公鑰。

三、數字證書認證機構CA

數字證書認證機構(Certificate Authority,簡稱CA),也常見CA中心或證書認證中心等稱呼,擁有自己的公鑰和私鑰,負責給用戶簽發數字證書。常見的數字證書認證機構有:國外的Verisign,國內的CFCA、BJCA、GDCA、天威誠信等。

CA簽發數字證書具體過程如下:

(1)將用戶身份信息和用戶公鑰信息,按照特定格式組成數據D。

(2)使用哈希算法對數據D進行計算得到摘要值H。

(3)使用CA自身私鑰對摘要值H進行簽名得到數字簽名S。

(4)將用戶身份信息、用戶公鑰信息和數字簽名S,按照特定格式(如X.509)組成數字證書。

CA 不僅負責給用戶簽發數字證書,還需要履行對數字證書的全生命週期管理職責,CA主要職責包括:

(1)數字證書的簽發和更新。對新用戶簽發數字證書;在老用戶有需要時,對其更新數字證書。

(2)數字證書的狀態變更,包括:吊銷、掛失、解掛等。證書吊銷後將成為無效證書,永遠不能使用;證書掛失後將成為無效證書,但可以通過解掛恢復成有效狀態。

(3)數字證書的查詢及下載。CA對外提供公開的查詢及下載服務,允許用戶根據條件隨時查詢證書並下載。常用服務方式為LDAP, LDAP是Light weight Directory AccessProtocol(輕型目錄訪問協議)的縮寫。CA系統通過LDAP機制對外發布所有證書及CRL。用戶端可以通過LDAP協議訪問LDAP服務器,按需下載滿足條件的證書和CRL。

(4)數字證書狀態查詢。提供公開服務方式,允許用戶隨時查詢證書狀態,以便判斷該證書是否處於有效狀態。常用服務方式有CRL和OCSP。

四、數字證書狀態查詢

如果用戶的個人數字證書已經處於非正常狀態(過期、吊銷、凍結等),CA將通過CRL、OCSP等方式告知正在進行簽名驗證的第三方。

CRL是Certificate Revocation List的縮寫,表示證書吊銷列表。CA或CRL簽發者定期簽發併發布CRL,並在CRL中指明下次簽發的最晚時間。因CRL為定期發佈,存在用戶證書已臨時掛失,但CRL狀態未及時發佈的情況,此時第三方進行簽名驗證仍是可以通過的。

OCSP是Online Certificate Status Protocol的縮寫,表示在線證書狀態協議。CA系統通過OCSP機制為用戶提供在線證書狀態查詢服務。用戶端將待查詢證書序列號按照OCSP協議組織成OCSP請求包,然後將OCSP請求包發送給OCSP服務器,OCSP服務器查詢數據庫獲得該序列號對應證書的狀態,並組織成OCSP響應包後返回給用戶端。用戶端解析OCSP響應包後獲得該證書的當前狀態。相對比與CRL方式,OCSP查詢的數字證書狀態更為準確。

SOCSP是Simple Online Certificate Status Protocol的縮寫,表示簡化版在線證書狀態協議。由於OCSP請求包和響應包需要數字簽名,從而導致其執行效率不高。為提高OCSP的響應速度,採用MAC算法代替數字簽名,形成簡化版的OCSP。

五、雙證書

如果用戶的私鑰不慎丟失,將造成公鑰加密後的數據無法解密,為解決用戶私鑰的備份問題,CA採用KMC(Key Management Center,密鑰管理系統)提供用戶私鑰備份服務,用戶可自行選擇將私鑰進行安全備份,需要時進行恢復。也可由KMC生成用戶公鑰和私鑰,而後KMC將私鑰備份並交給用戶。

私鑰備份存在如下矛盾:用戶私鑰應具備唯一性,否則無法證明用戶身份是否被冒用;但若無私鑰備份服務,用戶私鑰不慎丟失,公鑰加密後的數據將無法解密,可能造成重要信息丟失的問題。

為解決上述矛盾,CA引入了雙證書機制(簽名證書和加密證書)。簽名證書的私鑰只用於簽名,簽名證書的公鑰只用於驗籤,不用於加密信息,簽名證書的公私鑰對必須由用戶自己產生,KMC 不備份簽名私鑰。加密證書的公鑰只用於加密信息,加密證書的私鑰只用於解密信息,不用於簽名,加密證書的公私鑰對由KMC產生,且KMC對加密私鑰進行備份。

題圖來自 Unsplash,基於CC0協議


分享到:


相關文章: