概述
設(shè)備接入物聯(lián)網(wǎng)平臺之前,需通過身份認(rèn)證。目前,物聯(lián)網(wǎng)平臺支持使用設(shè)備密鑰、ID2認(rèn)證、X.509證書和開源MQTT托管設(shè)備認(rèn)證進(jìn)行設(shè)備身份認(rèn)證。
設(shè)備密鑰認(rèn)證
創(chuàng)建產(chǎn)品時,認(rèn)證方式選擇為設(shè)備密鑰,然后在該產(chǎn)品下添加設(shè)備,獲取物聯(lián)網(wǎng)平臺頒發(fā)的ProductSecret、DeviceSecret等密鑰。設(shè)備接入物聯(lián)網(wǎng)平臺時,會使用物聯(lián)網(wǎng)平臺頒發(fā)的密鑰信息,進(jìn)行身份認(rèn)證。
針對不同的使用環(huán)境,物聯(lián)網(wǎng)平臺提供以下四種設(shè)備密鑰認(rèn)證方案。
一機(jī)一密:每臺設(shè)備燒錄自己的設(shè)備證書(ProductKey、DeviceName和DeviceSecret)。
一型一密預(yù)注冊:同一產(chǎn)品下設(shè)備燒錄相同產(chǎn)品證書(ProductKey和ProductSecret)。開通產(chǎn)品的動態(tài)注冊功能,設(shè)備通過動態(tài)注冊獲取DeviceSecret。
一型一密免預(yù)注冊:同一產(chǎn)品下設(shè)備燒錄相同產(chǎn)品證書(ProductKey和ProductSecret)。開通產(chǎn)品的動態(tài)注冊功能,通過動態(tài)注冊,設(shè)備不獲取DeviceSecret,而是獲取ClientID與DeviceToken的組合。
子設(shè)備動態(tài)注冊:網(wǎng)關(guān)連接上云后,子設(shè)備通過動態(tài)注冊獲取DeviceSecret。
四種方案在易用性和安全性上各有優(yōu)勢,您可以根據(jù)設(shè)備所需的安全等級和實際的產(chǎn)線條件靈活選擇。方案對比,如下表所示。
對比項 | 一機(jī)一密 | 一型一密預(yù)注冊 | 一型一密免預(yù)注冊 | 子設(shè)備動態(tài)注冊 |
設(shè)備端燒錄信息 | ProductKey、DeviceName、DeviceSecret | ProductKey、ProductSecret | ProductKey、ProductSecret | ProductKey |
云端是否需要開啟動態(tài)注冊 | 無需開啟,默認(rèn)支持。 | 需打開動態(tài)注冊開關(guān)。 | 需打開動態(tài)注冊開關(guān)。 | 需打開動態(tài)注冊開關(guān)。 |
是否需要提前在物聯(lián)網(wǎng)平臺創(chuàng)建設(shè)備,注冊DeviceName | 需要,產(chǎn)品下DeviceName唯一。 | 需要,產(chǎn)品下DeviceName唯一。 | 不需要。 | 需要,確保產(chǎn)品下DeviceName唯一。 |
產(chǎn)線燒錄要求 | 逐一燒錄設(shè)備證書,需確保設(shè)備證書的安全性。 | 批量燒錄相同的產(chǎn)品證書,需確保產(chǎn)品證書的安全存儲。 | 批量燒錄相同的產(chǎn)品證書,需確保產(chǎn)品證書的安全存儲。 |
|
安全性 | 較高 | 一般 | 一般 | 一般 |
是否有配額限制 | 有,不同維度(產(chǎn)品、實例和阿里云賬號)下設(shè)備接入配額的限制不同。詳細(xì)說明,請參見設(shè)備接入的使用限制。 | 有,單個網(wǎng)關(guān)最多可注冊1500個子設(shè)備。 | ||
其他外部依賴 | 無。 | 依賴網(wǎng)關(guān)的安全性保障。 |
X.509證書認(rèn)證
X.509是由國際電信聯(lián)盟(ITU-T)制定的數(shù)字證書標(biāo)準(zhǔn),具有通信實體鑒別機(jī)制。目前物聯(lián)網(wǎng)平臺僅尊享型企業(yè)版實例的云網(wǎng)關(guān)功能支持使用X.509證書進(jìn)行設(shè)備身份認(rèn)證。
使用X.509證書的操作流程,請參見使用X.509證書認(rèn)證。
ID2認(rèn)證
阿里云提供IoT設(shè)備身份認(rèn)證ID2(Internet Device ID)。ID2是一種物聯(lián)網(wǎng)設(shè)備的可信身份標(biāo)識,具備不可篡改、不可偽造、全球唯一等安全屬性。
在創(chuàng)建產(chǎn)品時,認(rèn)證方式選擇為ID2,設(shè)備接入物聯(lián)網(wǎng)平臺時,使用ID2身份認(rèn)證。
使用ID2認(rèn)證,需購買ID2服務(wù)。ID2服務(wù)購買方式和使用指南,請參見IoT設(shè)備身份認(rèn)證(ID2)用戶手冊。
目前,僅華東2(上海)地域的企業(yè)版實例和舊版公共實例下,支持使用ID2證書認(rèn)證。
連網(wǎng)方式選擇為LoRaWAN的產(chǎn)品不支持ID2認(rèn)證。
開源MQTT托管設(shè)備認(rèn)證
僅需要使用MQTT連接和消息上下行的場景中,為降低使用成本,設(shè)備接入物聯(lián)網(wǎng)平臺MQTT型企業(yè)版實例時,可使用Username、Password、SN信息作為設(shè)備密鑰進(jìn)行設(shè)備身份認(rèn)證。
認(rèn)證方式和使用說明,請參見開源MQTT托管設(shè)備認(rèn)證。
使用MQTT的簽名參數(shù)認(rèn)證
設(shè)備通過您自研的MQTT接入工具連接物聯(lián)網(wǎng)平臺時,需使用MQTT的簽名認(rèn)證參數(shù)username、passwd和mqttClientId進(jìn)行設(shè)備身份認(rèn)證。您可使用設(shè)備密鑰計算MQTT連接的簽名參數(shù)值,具體內(nèi)容,請參見如何計算MQTT簽名參數(shù)。