MQTT連接阿里雲IoT(三)

概述

上一篇文章介紹瞭如何通過TCP方式讓MQTT連接到阿里雲IOT,並附帶了代碼。

設備接入物聯網平臺之前,需通過身份認證。目前,物聯網平臺支持使用設備密鑰、ID²和X.509證書進行設備身份認證。那麼,今天來看一下阿里雲IOT身份認證方式的其中一種,設備密鑰認證。

設備密鑰認證

【官網介紹】
在創建產品時,認證方式選擇爲設備密鑰,設備接入物聯網平臺時,需使用密鑰進行身份認證。

物聯網平臺使用ProductKey標識產品,DeviceName標識設備。ProductSecret和DeviceSecret分別是產品和設備的密鑰。設備證書(ProductKey、DeviceName和DeviceSecret)用於校驗設備合法性。認證通過後,方可接入物聯網平臺。針對不同的使用環境,物聯網平臺提供了使用密鑰認證的三種認證方案。

  • 一機一密:每臺設備燒錄自己的設備證書(ProductKey、DeviceName和DeviceSecret)。
  • 一型一密:同一產品下設備燒錄相同產品證書(ProductKey和ProductSecret)。需開通產品的動態註冊功能,設備通過動態註冊獲取DeviceSecret。
  • 子設備動態註冊:網關連接上雲後,子設備通過動態註冊獲取DeviceSecret。

三種方案在易用性和安全性上各有優勢,您可以根據設備所需的安全等級和實際的產線條件靈活選擇。方案對比,如下表所示。

在這裏插入圖片描述

簡單理解

我們重新梳理下IOT裏面的產品和設備的定義,然後結合以上驗證方式來說明一遍。要不然光是這些概念還是會有點懵圈。

首先是產品和設備,我們前面的文章有介紹如何創建產品和設備,那麼產品如何理解呢。

根據百度百科的介紹:

產品是指做爲商品提供給市場 ,被人們使用和消費,並能滿足人們某種需求的任何東西,包括有形的物品、無形的服務、組織、觀念或它們的組合。

舉個例就知道了。
比如,華爲Mate30手機,這就是一個產品,那假如說要華爲現在要研發一款新手機 Mate50,那這也是一個產品。

那什麼是設備呢?
理解產品,設備就不難理解了,設備就是產品對應的真實的物理設備,那mate30是一個產品,產品是唯一的,而設備就是mate30真實的手機,那mate30這個產品對應的設備可能就有幾千萬臺。

這個概念說清楚過後,我們在結合物聯網系統來說一下。

物聯網中我們有多個不同的產品,比如說 電視、檯燈、空調,而每個產品下面會對應很多臺設備。當我們在物聯網平臺創建一個產品後,同時要創建很多臺設備,然後將設備證書(ProductKey、DeviceName和DeviceSecret)燒錄到真實的設備中去。然後設備啓動後就會使用這些信息去請求服務器進行驗證,驗證成功後才能將設備產生的數據上報給服務器。基本流程就是這樣。

所以就回到了我們本文前面提到的設備密鑰認證方式,認證方式有三種:一機一密、一型一密、子設備動態註冊。

我們上一篇文章中介紹的代碼連接服務器,那種方式其實就是一機一密驗證,因爲我們在平臺創建設備後已經知道了ProductKey、DeviceName和DeviceSecret,所以直接將這三個信息用於連接服務器時驗證就好了。這種方式的安全性是最高的。

還有一種對應的認證方式是一型一密,它和一機一密最大的區別就在於需要動態去請求DeviceSecret,然後設備使用設備證書再與雲端建立連接。

ok,介紹完以上概念,下一篇我們主要介紹一下一型一密的使用方式具體該如何通過Qt的HTTP接口來動態註冊。

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