數字證書——權威機構對私鑰持有者身份的認可
數字證書是什么?數字證書如何獲取和使用? 文章圍繞數字證書的相關問題展開拓展,歡迎感興趣的童鞋閱讀。
在現代密碼學中,非對稱密碼算法應用十分常見,銀行卡、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協議
此類文章受眾范圍比較小,閱讀量不大。讓我欣慰的是還有打賞者,感謝。??
還是很有用~