PKI/CA工作原理,架構

相關概念

  • PKI:Public Key Infrastructure,公鑰基礎設施。
  • CA:Certificate Of Authority,認證中心。
  • 數字證書:提供了一種發佈公鑰的簡便途徑;
    一個數字證書包括:擁有者身份信息、公鑰、CA數字簽名、有效期等其他信息。
  • 數字簽名:用來確認信息發送者的身份,保證信息的完整性和抗否認性。

數字簽名

圖1 數字簽名

  • 數字簽名的生成:對於要傳輸的消息原文使用消息摘要算法(MD5、SHA)生成消息摘要,發送方使用自己的私鑰對摘要進行加密,生成數字簽名。
  • 數字簽名的驗證:數字簽名同消息一通傳輸給接收方,接收方對簽名使用發送方的公鑰解密還原摘要,並對得到的原文進行hash計算出消息摘要,比對兩份消息摘要是否相同,可以保證消息的完整性和抗否認性。

用發送發私鑰生成數字簽名、用發送方公鑰解密,可以證明消息確實是由公鑰擁有者發出的。
兩份摘要的比對結果,可以證明消息在傳輸的過程中是否被改動。

數字證書

數字簽名要發揮作用,首先需要接收方獲取發送方的公鑰。如何證明獲取的公鑰確實是發送方的公鑰而不是假冒的呢?數字證書提供了一種發佈公鑰的簡便方法。

圖2 證書的申請、發佈、使用

圖3 數字證書的生成與驗證

簡單地來說,把上面的原文換成公鑰、身份信息、有效期等其他信息,就是數字證書的生成和驗證過程。

  • 數字證書的生成:CA收到數字證書申請並認證申請者的真實身份後,把申請者的公鑰、身份信息、數字證書的有效期等信息作爲消息原文,進行hash生成摘要,並用CA的私鑰加密進行簽名;數字簽名與證書擁有者的公鑰、身份信息、證書有效期等其他信息共同組成數字證書。
  • 數字證書的驗證:數字證書生成後,經歷圖2中3、4、5的傳輸過程,來到接收方。接收方收到消息證書後,使用CA公鑰對數字簽名解密生成消息摘要,對證書內容進行hash生成摘要,兩份摘要進行比對可證明證書內容的完整性與真實性。

使用CA私鑰進行簽名和解密,可以證明證書確實是由CA發佈的;
兩份摘要的對比結果,可以證明證書內容是否在傳輸過程中被改動;
如果消息原文中的公鑰和身份信息是CA的,則是CA自簽名的過程。

通信過程

數字證書提供了一種發佈公鑰的簡便途徑,大家通過向CA申請認證發佈自己的公鑰,通過向CA驗證來確認自己獲得了別人的公鑰。下圖展示了通信雙方互相獲得公鑰以後的通信過程。

圖4 通信過程

  • 發送方對要傳輸消息原文進行hash,生成消息摘要,用發送方的私鑰生成數字簽名;
  • 隨機生成對稱祕鑰,對原文加密,生成密文;
  • 用接收方公鑰加密對稱祕鑰;
  • 將加密後的對稱祕鑰、數字簽名與密文一通發送;
  • 接收方收到後,用自己的私鑰解密對稱祕鑰;
  • 用對稱祕鑰解密密文,得到原文;
  • 對原文hash得到摘要,用發送方的公鑰解密簽名得到摘要,對方兩份摘要。

非對稱加密安全性高,但計算量大效率低,因此使用對稱祕鑰對通信的主要內容進行加密;對稱祕鑰每次使用隨機生成,用完即丟棄,降低風險;
用接收方公鑰加密對稱祕鑰,保證了只有接收方纔能對密文進行解密;
用發送發私鑰進行簽名,使得接收方可以驗證消息的發送方和消息是否被修改過,保證了信息的完整性和抗否認性。

PKI/CA架構

完整的PKI/CA系統如下部分:

  • 安全服務器:安全服務器面向普通用戶,用於提供證書申請、瀏覽、證書撤銷列表、證書下載等安全服務;用戶需要首先得到安全服務器的證書(該證書由CA頒發);
  • 註冊機構RA:在CA體系結構中起承上啓下的作用,一方面向CA轉發安全服務器傳輸過來的證書申請請求,另一方面向LDAP服務器和安全服務器轉發CA頒發的數字證書和證書撤銷列表(CRL)。
  • LDAP服務器:Lightweight Directory Access Protocol(輕量目錄訪問協議),提供目錄瀏覽服務,負責將註冊機構服務器RA傳輸過來的用戶信息以及數字證書加入到服務器上。用戶通過訪問LDAP服務器就能夠得到其他用戶的數字證書。
  • CA服務器:整個證書機構的核心,負責證書的簽發。CA首先 產生自身的私鑰和公鑰,然後生成數字證書,並且將數字正常傳輸給安全服務器。CA還負責爲安全服務器、RA服務器生成數字證書。
  • 數據庫服務器:CA中的核心部分,用於CA中數據(如密鑰和用戶信息等)、日誌、統計信息的存儲和管理。

圖5 PKI系統

證書申請過程

  • 用戶申請:用戶獲取CA的數字證書(根證書),與安全服務器建立連接;生成自己的公鑰和私鑰,將公鑰和自己的身份信息提交給安全服務器,安全服務器將用戶的申請信息傳送給RA服務器。
  • RA審覈:RA收到用戶的申請,用戶向RA證明自己的身份,RA進行覈對。如果RA同意用戶申請證書的請求,則對證書申請信息做數字簽名;否則拒絕用戶的申請。
  • CA發行證書:RA將用戶申請和RA簽名傳輸給CA,CA對RA數字簽名做認證,如果驗證通過,則同意用戶請求,頒發證書,然後將證書輸出。如果驗證不通過,則拒絕證書申請。
  • RA轉發證書:RA從CA得到新的證書,首先將證書輸出到LDAP服務器以提供目錄瀏覽,再通知用戶證書發行成功,告知證書序列號,到指定的網址去下載證書。
  • 用戶證書獲取:用戶使用證書序列號去指定網址下載自己的數字證書,只有持有與申請時提交的公鑰配對的私鑰才能下載成功。

證書撤銷過程

  • 用戶申請:用戶向RA發送一封簽名加密郵件,申請撤銷證書。
  • RA審覈:註冊機構同意證書撤銷,並對申請簽名。
  • CA更新CRL:CA驗證證書撤銷請求的RA簽名,如果正確,則同意申請,並更新CRL,並輸出。
  • RA轉發CRL:註冊中心收到CRL,以多種方式將CRL公佈(包括LDAP服務器)。
  • 用戶告知:用戶訪問LDAP服務器,下載或瀏覽CRL。

證書的管理

認證中心CA負責維護和發佈證書廢除列表CRL(certificate revocation lists,又稱爲證書黑名單)。
當一個證書,特別是其中的公鑰因爲其他原因無效時(不是因爲到期),CRL提供了一種通知用戶和其他應用的中心管理方式。CA系統生成CRL以後,放到LDAP服務器中或Web服務器的合適位置,供用戶查詢或下載。



作者:ZYJ2016
鏈接:https://www.jianshu.com/p/c65fa3af1c01
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章