Azure IoT 中級(5)- 在 DPS/IoT Hub中使用X509證書的準備工作(1)瞭解證書鏈

準備工作(1)瞭解證書鏈

 

本文介紹如下內容:

1. 瞭解證書鏈

2. 使用OPENSSL和 微軟提供的示例工具生成自簽名證書並應用在IoT Hub/DPS中;

 

視頻講解:

您可以在B站觀看視頻講解:https://www.bilibili.com/video/av92976806/

或在本站觀看:https://www.51azure.cloud/post/2020/3/3/azure-iot-5-iot-x509-cert-chain

 

 

圖文講解:

數字證書是用來認證公鑰持有者身份合法性的電子文檔,以防止第三方冒充行爲。數字證書由 CA(Certifacate Authority) 負責簽發,關鍵內容包括 頒發s者證書有效期使用者組織使用者公鑰 等信息。

數字證書涉及到一個名爲 PKI(Public Key Infrastructure) 的規範體系,包含了數字證書格式定義、密鑰生命週期管理、數字簽名及驗證等多項技術說明,不在本文中詳細展開。

簽發證書的過程

  1. 撰寫證書元數據:包括 簽發人(Issuer)地址簽發時間有效期 等,還包括證書持有者(Owner)基本信息,比如 DN(DNS Name,即證書生效的域名)Owner 公鑰 等信息
  2. 使用通用的 Hash 算法(如SHA-256)對證書元數據計算生成 數字摘要
  3. 使用 Issuer 的私鑰對該數字摘要進行加密,生成一個加密的數字摘要,也就是Issuer的 數字簽名
  4. 將數字簽名附加到數字證書上,變成一個 簽過名的數字證書
  5. 將簽過名的數字證書與 Issuer 的公鑰,一同發給證書使用者(注意,將公鑰主動發給使用者是一個形象的說法,只是爲了表達使用者最終獲取到了 Issuer 的公鑰)

驗證證書的過程

  1. 證書使用者獲通過某種途徑(如瀏覽器訪問)獲取到該數字證書,解壓後分別獲得 證書元數據數字簽名
  2. 使用同樣的Hash算法計算證書元數據的 數字摘要
  3. 使用 Issuer 的公鑰 對數字簽名進行解密,得到 解密後的數字摘要
  4. 對比 2 和 3 兩個步驟得到的數字摘要值,如果相同,則說明這個數字證書確實是被 Issuer 驗證過合法證書,證書中的信息(最主要的是 Owner 的公鑰)是可信的

上述是對數字證書的簽名和驗證過程,對普通數據的數字簽名和驗證也是利用了同樣的方法。

我們再來總結一下“簽發證書”與“驗證證書”兩個過程,Issuer(CA)使用 Issuer 的私鑰 對簽發的證書進行數字簽名,證書使用者使用 Issuser 的公鑰 對證書進行校驗,如果校驗通過,說明該證書可信。

由此看出,校驗的關鍵是 Issuer 的公鑰,使用者獲取不到 Issuer 的私鑰,只能獲取到 Issuer 的公鑰,如果 Issuer 是一個壞傢伙,誰來證明 Issuer 的身份 是可信的?

這就涉及到一個信任鏈條了,也就是證書鏈。

 

 

看一個案例, 比如在本站的證書中,可以查看到證書鏈條:

 

 

根證書是DigiCert,中間證書是CN=Encryption Everywhere DV TLS CA-G1, 葉證書是 www.51azure.cloud

 

證書鏈在物聯網設備製造過程中的應用:

在本例中,X 公司對 Y 工廠進行簽名,Y 工廠轉而對 Z 技術人員進行簽名,而 Z 技術人員最後要對智能 X 小組件進行簽名,整個過程中不需要暴漏或傳遞任何私鑰,保證安全。

 

 

證書鏈在DPS中的應用:

例如,假設有五臺設備具有以下證書鏈:

  • 設備 1:根證書 -> 證書 A -> 設備 1 證書
  • 設備 2:根證書 -> 證書 A -> 設備 2 證書
  • 設備 3:根證書 -> 證書 A -> 設備 3 證書
  • 設備 4:根證書 -> 證書 B -> 設備 4 證書
  • 設備 5:根證書 -> 證書 B -> 設備 5 證書

最開始,可爲根證書創建單個啓用的組註冊條目,讓五臺設備均獲得訪問權限。

如果之後證書 B 出現安全風險,可以爲證書 B 創建一個禁用的註冊組條目,以防止設備 4 和設備 5 進行註冊。

如果之後設備 3 出現安全風險,可爲其證書創建一個禁用的單個註冊條目。 這會撤消設備 3 的訪問權限,但仍允許設備 1 和設備 2 進行註冊。

 

 

本系列其他文章:

  1. (視頻)Azure IoT 中級(1)-Device Provisioning Service(DPS)概覽
  2. (視頻)Azure IoT 中級(2)-理解DPS組註冊和單獨註冊
  3. (視頻)Azure IoT 中級(3)-(案例1)使用DPS通過對稱密鑰進行單個設備註冊
  4. (視頻)Azure IoT 中級(4)-(案例2)使用DPS通過對稱密鑰進行設備組註冊
  5. (視頻)Azure IoT 中級(5)- 在 DPS/IoT Hub中使用X509證書的準備工作(1)瞭解證書鏈
  6. (視頻)Azure IoT 中級(6)- 在 DPS/IoT Hub中使用X509證書的準備工作(2)創建自簽名證書並驗證所有權
  7. (視頻)Azure IoT 中級(7)- (案例3)設備通過X509證書經DPS驗證後註冊到IoT Hub並開始通信

 

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