1. 程式人生 > >區塊鏈技術之密碼學技術之數字證書

區塊鏈技術之密碼學技術之數字證書

自己 對稱加密 key ast 機構 成對 -m 操作 之前

技術分享圖片

數字證書

數字證書用來證明某個公鑰是誰的,並且內容是正確的。

對於非對稱加密算法和數字簽名來說,很重要的一點就是公鑰的分發。一旦公鑰被人替換(典型的如中間人攻擊),則整個安全體系將被破壞掉。

怎麽確保一個公鑰確實是某個人的原始公鑰?

這就需要數字證書機制。

顧名思義,數字證書就是像一個證書一樣,證明信息和合法性。由證書認證機構(CertificationAuthority,CA)來簽發,權威的CA包括verisign等。

數字證書內容可能包括版本、序列號、簽名算法類型、簽發者信息、有效期、被簽發人、簽發的公開密鑰、CA數字簽名、其它信息等等,一般使用最廣泛的標準為ITU和ISO聯合制定的X.509規範。

其中,最重要的包括簽發的公開密鑰、CA數字簽名兩個信息。因此,只要通過這個證書就能證明某個公鑰是合法的,因為帶有CA的數字簽名。

更進一步地,怎麽證明CA的簽名合法不合法呢?

類似的,CA的數字簽名合法不合法也是通過CA的證書來證明的。主流操作系統和瀏覽器裏面會提前預置一些CA的證書(承認這些是合法的證書),然後所有基於他們認證的簽名都會自然被認為合法。

PKI體系提供了一套完整的證書管理的框架。

PKI體系

在非對稱加密中,公鑰則可以通過證書機制來進行保護,如何管理和分發證書則可以通過PKI(Public Key Infrastructure)來保障。

顧名思義,PKI體系在現代密碼學應用領域處於十分基礎的地位,解決了十分核心的證書管理問題。

PKI並不代表某個特定的密碼學技術和流程,PKI是建立在公私鑰基礎上實現安全可靠傳遞消息和身份確認的一個通用框架。實現了PKI的平臺可以安全可靠地管理網絡中用戶的密鑰和證書,包括多個實現和變種,知名的有RSA公司的PKCS(Public Key Cryptography Standards)標準和X.509規範等。

一般情況下,PKI 至少包括如下組件:

  • CA(Certification Authority):負責證書的頒發和作廢,接收來自 RA 的請求,是最核心的部分;
  • RA(Registration Authority):對用戶身份進行驗證,校驗數據合法性,負責登記,審核過了就發給 CA;
  • 證書數據庫:存放證書,一般采用 LDAP 目錄服務,標準格式采用 X.500 系列。

CA 是最核心的組件,主要完成對證書的管理。

常見的流程為,用戶通過 RA 登記申請證書,CA 完成證書的制造,頒發給用戶。用戶需要撤銷證書則向 CA 發出申請。

之前章節內容介紹過,密鑰有兩種類型:用於簽名和用於加解密,對應稱為簽名密鑰對加密密鑰對

用戶證書可以有兩種方式。一般可以由 CA 來生成證書和私鑰;也可以自己生成公鑰和私鑰,然後由 CA 來對公鑰進行簽發。後者情況下,當用戶私鑰丟失後,CA 無法完成恢復。

區塊鏈技術之密碼學技術之數字證書