數字證書你真的瞭解嗎

密碼學相關概念

明文:任何人都能理解的消息
密文:明文消息經過某種編碼後,得到密文
加密:將明文消息變成密文消息
解密:將密文消息變成明文消息
加密算法:進行加密的算法
解密算法:進行解密的算法
密鑰:只有發送方和接收方掌握的消息
對稱密鑰加密:加密和解密使用相同的密鑰
非對稱密鑰加密:加密與解密使用不同密鑰,分爲公鑰和私鑰

證書概念

  • 數字證書:指在互聯網通訊中標誌通訊各方身份信息的一個數字認證,在網上用它來識別對方身份的真實性。本質上是一種電子文檔,作用是證明某某東西確認是某某東西。
  • CA證書授權中心:負責發送和管理證書的權威機構。一般來說,CA必須是所有行業和所有公衆都信任的、認可的,因此它必須具有足夠的權威性。
  • 證書用途分類
    (1)簽名證書:簽名證書只能用於簽名和驗證簽名,爲了密鑰的安全,密鑰一般在客戶端產生和保存
    (2)加密證書:加密證書只能用於加密,其中密鑰對由CA產生,通過保護算法和協議發送給用戶保存,同時CA中心也保存該對密鑰,以備份管理和回覆
  • 證書格式:有PEM和DER兩種編碼格式,通常.crt後綴標識公鑰,用.key標識私鑰。將公鑰和私鑰捆綁在一起保存,後綴通常爲.pfx或.p12
  • 證書內容:頒發者、使用者、有效期、公鑰、簽名,版本、序列號、算法
  • 證書信任鏈
    -CA:數字證書認證中心的簡稱
    —根CA:處在信任鏈的頂端,其證書公鑰默認導入各種操作系統與瀏覽器中
    -----中級CA:處於信任鏈中間,根CA或其他中級CA頒發的證書,還能繼續頒發子證書
    --------個人:處於信任鏈末端,中級CA或根CA頒發的證書
    注意:證書之間的信任關係是可以嵌套的,比如C信任A1,A1信任A2,A2信任A3,只要信任C,則後續所有證書都是可以信任的

證書工作原理

在這裏插入圖片描述

  • step1:Client向Server發送一個通信請求,信息內容:隨機數1、支持的加密算法
  • step2:Server向Client回覆選定的加密算法和一個隨機數2,併發送自己的數字證書,證書中含有服務端的公鑰,用來加密信息,私鑰由服務端持有
  • step3:Client收到證書後,去驗證證書的真實性,若驗證沒有問題,則說明數字證書中的公鑰確實是服務端的。驗證完數字證書後,Client生成一個隨機值(預主密鑰),然後基於選定的算法將隨機數1、隨機數2和預主密鑰組合生成對稱會話密鑰,再將剛纔的預主密鑰用Server的公鑰進行加密發送給Server端,並告知後續的通信將使用此對稱會話密鑰
  • step4:Server端用私鑰解密得到預主密鑰,同樣基於選定的算法將隨機數1、隨機數2和預主密鑰組合生成對稱會話密鑰,根Client的會話密鑰相同,之後通信將使用此對稱會話密鑰加密傳輸

疑問
1、爲什麼不直接使用開始的非對稱加密密鑰進行數據通信?
答:①使用非對稱密鑰進行數據傳輸速率慢
②若使用非對稱加密密鑰傳輸數據,則服務端用私鑰加密後的數據,任何擁有服務端公鑰的用戶都能解密該數據
2、非對稱加密密鑰在此過程中的作用?
①因爲私鑰只有服務端擁有,因此客戶端可以根據對方是否有私鑰來判斷對方身份的真實性
②使用非對稱密鑰爲後續協商出對稱密鑰作掩護,保證後續通信的安全

SSL概念

SSL(安全套接層)基於Https下的一個協議加密層,它建立在可靠的傳輸協議(如TCP)之上,爲高層協議提供數據封裝、壓縮、加密等基本功能,SSL協議分爲兩層:
1、SSL記錄協議層
-----作用:爲高層協議提供基本的安全服務。針對http協議進行了特別的設計,使得http能夠在SSL運行。記錄封裝各種高層協議,具體實施壓縮解壓縮、加密解密、計算和校驗mac等與安全有關的操作;
2、SSL握手協議層
-----作用:協調客戶端和服務器之間的狀態,使雙方達到同步的狀態。握手協議層包括SSL握手協議、SSL密碼參數修改協議、應用數據協議和SSL告警協議,這些協議用於SSL管理信息的交換,允許應用協議傳輸數據之前相互驗證,協商加密算法和生成密鑰等。

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