天天看點

PKI機制簡介,輕松易懂(以Fabric網絡作為切入點)

  PKI,全稱是Public Key Infrastructure,可譯為公鑰基礎設施。它是網際網路中節點通信的安全保障機制,HTTPS中的‘S’就來源于PKI。

  要去學習一個技術,首先要從它的源頭考慮——為什麼需要PKI?它存在的價值是什麼?我們知道,在網絡通信或電子商務中,資訊互動的雙方需要保證對方真的是自己想要通信的人,以及通信的内容沒有被篡改過,即(1)資訊源頭可靠(2)資訊内容可靠。就此,才發展出了一套安全的通信機制PKI,說它是機制,因為它不是一項單一的技術,而是一系列安全技術的組合品,首先我們來看它的架構:

  

PKI機制簡介,輕松易懂(以Fabric網絡作為切入點)

  先來總體介紹PKI架構,我們先它的4個關鍵組成元素:

  (1)Certificate Authority(證書授權機構):負責發放證書的機構

  (2)Digital Certificate(電子證書):證明使用者身份的電子證明,由Certificate Authority發放(通常遵循X.509标準)

  (3)Public key & Private key(公鑰&私鑰):每個使用者的公鑰和私鑰,其中公鑰包含在由CA授予的Digital Certificate中

  (4)Certificate Revocation List(撤銷證書清單):列出哪些使用者的證書已經被撤銷,不再有效。由CA負責儲存

  一上來引入這些概念和名詞似乎會讓人摸不到頭腦,這和我們所說的安全通信有什麼關系,這些東西組合到一起怎麼就能保證我們的通信安全了?要理清這個問題,我們還要理清這中間省略的一部分邏輯。

  在Fabric網絡中,要求節點提供自己的身份證明,通過Identity這種機制來管理組織的通路權限,讓我們從最基本的技術開始推演。我們首先想到的就是用非對稱密鑰對中的私鑰來對自己傳輸的資訊進行簽名,然後資訊的接受方要想認證發送者身份的有效性隻要用發送方的公鑰來進行解密,那就可以确認對方的身份,這就是基本的數字簽名的思路。但是這種基本的方法有一個關鍵的缺陷,即我們并不知道我們擷取到“公鑰”是否就是發送者自己的,為了解決對公鑰的信任問題,我們就引入了CA(Certificate Authority)證書授權機構來對網絡節點使用的公鑰授予信任,(通過發放證書的形式)而這個CA,也就是PKI機制的信任基礎。

  CA給注冊申請Identity的組織或個人頒發電子證書來證明他們的身份,證書中包含了證書持有者的使用者名、公鑰資訊、有效期以及CA自身的數字簽名等。同時CA還提供密鑰的管理功能,包括密鑰的産生、密鑰的備份和恢複以及密鑰的更新。

  其中CA還要維護一份CRL(Certificate Revocation List),該list記錄了除了因證書過期外其他一切原因而撤銷的證書資訊,通常存儲在CA系統的LDAP服務上供使用者查詢和下載下傳,當然,CRL還在通信時檢驗證書是否是有效的過程中起關鍵作用。

  如此,我們再回到開頭,PKI機制,顧名思義,為網絡安全通信中公鑰信任問題提供了一套完整的解決方案,基于這個機制,可以和其他的很多技術或機制配合,在不同的應用中來建構自己的安全通信體系。