PKI/CA與數字證書

JDNew發表於2018-03-13

寫在前面

現在開始接觸CA相關的內容,對一些名詞還是不甚瞭解,在遇到一些問題的時候也不能理解,剛好最近看了一本《PKI/CA與數字證書技術大全》,裡面介紹的比較系統全面,也對剛接觸這方面的人來說能有個入門。

1. PKI

所有與數字證書相關的各種概念和技術,統稱為PKI( Public Key Infrastructure 公鑰基礎設施)。

PKI通過引入CA,數字證書,LDAP,CRL,OCSP等技術並制定相應標準,有效地解決了公鑰與使用者對映關係,集中服務效能瓶頸,離線狀態查詢等問題。同時為促進並提高證書應用的規範性,還制定了很多與證書應用相關的各種標準。

所以以下我們提到的CA,數字證書,OCSP等名詞都是在PKI下的,即PKI裡面包含了這些東西。那麼這些名詞每個都是為了解決某個問題而產生的,所以當我們瞭解後看到這些名詞的時候,就能反應出它們是什麼意思,是要解決什麼問題的。

1.1 PKI體系框架

這裡寫圖片描述

PKI體系框架主要包含三個內容:

這裡寫圖片描述

1.1.1 數字證書與私鑰

關於數字證書

使用者或系統只有擁有自己的公鑰和私鑰後,才能實現數字簽名和加密解密功能,由於公鑰是隨機產生的,因此從公鑰無法直接判斷屬於哪個使用者。

為解決公鑰與使用者對映關係問題,PKI引入了數字證書。數字證書裡包含了使用者身份資訊,使用者公鑰資訊 (兩者用於確定使用者) 和CA的私鑰數字簽名 (使用CA的公鑰可判斷證書是否被篡改)

私鑰一般被儲存在硬體密碼裝置中(像U盾之類的)。

1.1.2 數字證書的管理

關於CA

為了解決數字證書的簽發問題,PKI引入了CA(Certificate Authority), 對數字證書進行集中籤發。 它實際是一種特殊的公鑰管理中心,對數字證書的全生命週期進行管理,包括:數字證書的簽發和更新,數字證書的作廢,凍結和解凍,查詢或下載,狀態查詢等。 像廣州CA,深圳CA就屬於這類,可去他們的官網上進行相關了解。

關於KMC

為解決私鑰的備份與恢復問題,PKI引入了KMC(Key Management Center)。 使用者公私鑰對由KMC產生,KMC對私鑰做備份;公私鑰也可由使用者自己產生,並將私鑰安全提交給KMC做備份。

關於雙證書

為防止使用者身份被冒用,應保證使用者私鑰的唯一性,不允許備份恢復;為防止公鑰加密後的資料無法解密,應提供使用者私鑰的備份恢復機制

為解決這兩種矛盾需求,PKI引入了雙證書機制:簽名證書和加密證書。 簽名證書的公私鑰對由使用者自己產生,KMC不備份私鑰;加密證書金鑰對由KMC產生,且KMC對加密私鑰進行備份。

關於LDAP

為解決對CA證書的查詢或下載的效能問題,PKI引入 LDAP(Light-weight Directory Access Protocol 輕量目錄訪問協議)技術。

DAP(Directory Access Protocol 目錄訪問協議)是對資料管理的讀取功能進行特殊優化的技術,適合快速響應和大容量的查詢服務,應用系統只需通過X.500協議就能對資料進行快速查詢。但由於該協議過於複雜,國際組織對其進行簡化,形成了LDAP標準。

關於CRL和OCSP

為解決對CA證書有效性方面的查詢,PKI引入了CRL(Certificate Revocation List)和OCSP(Online Certificate Status Protocol) 技術。前者需要使用者按時定期下載,可用於離線使用;後者則可實時線上查詢。

關於RA

為對使用者提供 面對面 的證書業務服務,負責使用者證書辦理/作廢申請,使用者身份稽核,製作證書並移交使用者等功能。PKI引入了RA(Registry Authority)

關於電子認證服務機構

為保證CA系統在數字證書管理方面的規範性、合規性和安全性,PKI引入了電子認證服務機構, 以第三方運營的方式對外提供數字證書相關服務。

這裡寫圖片描述

1.1.3 數字證書的應用

基於數字證書可實現四種基本安全功能:身份認證,保密性,完整性和抗抵賴性。

身份認證

如網路身份證。

保密性

如不洩露信用卡資訊。

完整性

如已簽訂的合同不會被某一方私自修改。

抗抵賴性

如發生交易糾紛時,可通過驗證對方的私鑰簽名來確認。

1.2 PKI信任模型

首先了解一下幾個概念:

  1. 信任:在ITU X.509規範中,“信任”定義為“當實體A認為實體B的行為與A所預期的完全一致時,則稱實體A信任實體B”。

  2. 使用者信任CA中心是指,使用者相信該CA中心的所有數字證書管理行為均符合政策法規,運營規範和資訊保安等要求。

  3. 使用者信任數字證書是指,使用者相信該數字證書持有人的身份是真是有效地,並不等於使用者信任該數字證書的持有人。

  4. 從信任CA中心到信任其簽發的使用者數字證書,這種信任傳遞關係的前提是,該使用者數字證書必須通過以下四個方面的合法性驗證:

    4.1. 驗證該數字證書是否偽造。使用CA證書中公鑰即可離線驗證。

    4.2. 驗證該數字證書中資訊是否正確。由CA中心在簽發數字證書時已保證。

    4.3. 驗證該數字證書是否與持證人一致。可要求持證人使用私鑰對特定資料進行加密或簽名,然後使用數字證書中的公鑰來解密或驗籤。

    4.4. 驗證該數字證書是否在黑名單上。通過CRL或OCSP實現。

  5. 信任錨:CA中心是信任的產生來源或信任起點。

  6. 認證路徑:一條從信任錨到數字證書之間構建的信任關係傳遞路徑,也叫證書路徑或信任鏈。

1.2.1 根CA信任模型

最上級CA中心只有一個,成為根CA,其它CA稱為子CA。根CA的數字證書由自己簽發,屬於自簽名證書,子CA的數字證書由上級CA證書籤發。信任錨可以是根CA,也可以是子CA。

以下圖為例:使用者X可信任使用者A證書,信任鏈為根CA——子CA1——使用者A證書。

PKI/CA與數字證書

1.2.2 交叉認證信任模型

根CA之間可以互相簽發交叉認證證書。

以下圖為例,使用者Y就可以信任使用者J證書。信任鏈為根CA2——根CA2(1)——根CA1——子CA12——使用者J證書

PKI/CA與數字證書

1.2.3 橋CA信任模型

在這裡引入獨立的橋CA中心,等同於虛擬的根CA。所有根CA與橋CA之間互相簽發交叉認證證書。與交叉認證信任模型類似。

PKI/CA與數字證書

1.2.4 信任列表信任模型

使使用者可以有多個信任錨。

PKI/CA與數字證書

相關文章