您是否使用 Microsoft Azure RTOS、ATECC608 或 TA100 安全元件,并希望為物聯(lián)網(wǎng) (IoT) 設(shè)備實(shí)施安全啟動(dòng)和 TLS 相互身份驗(yàn)證?如果是這樣,那么您來對地方了。
從嵌入式設(shè)備到 Azure 云安全性的 IoT 信任鏈由多個(gè)層組成。在這篇博文中,我們將重點(diǎn)介紹建立最基本的概念,即信任根,它由安全啟動(dòng)功能和使用 Microsoft Azure 實(shí)時(shí)操作系統(tǒng) (RTOS) 和 ATECC608 TrustFLEX 安全身份驗(yàn)證集成電路 (IC) 的 TLS 相互身份驗(yàn)證組成。
首先,當(dāng)您的物聯(lián)網(wǎng)設(shè)備使用標(biāo)準(zhǔn)微控制器(MCU)時(shí),如何實(shí)現(xiàn)某種程度的安全啟動(dòng)?這就是像 ATECC608 或 TA100 這樣的安全元件可以派上用場的地方。當(dāng)然,在這種情況下沒有bootROM,但是在沒有安全啟動(dòng)和安全啟動(dòng)之間,安全元素內(nèi)有一個(gè)隔離的公鑰進(jìn)行驗(yàn)證,威脅模型和業(yè)務(wù)條件可能會(huì)有利于基于安全元素的設(shè)計(jì)。在本例中,我們將使用傳統(tǒng)的 SAME54 Arm Cortex-M4?? MCU 和 ATECC608 TrustFLEX 安全元件附加板,用于代表物聯(lián)網(wǎng)終端節(jié)點(diǎn)的硬件?,F(xiàn)在,如果您的終端節(jié)點(diǎn)需要多線程,并且需要 Azure RTOS 才能從所有與 Azure 相關(guān)的嵌入式 API 中受益,那么 MCU 和安全元件之間的通信在此 RTOS 環(huán)境中如何工作?我們需要看看PKCS#11。
什么是PKCS#11以及它如何適應(yīng)Azure RTOS
PKCS#11 代表公鑰加密標(biāo)準(zhǔn)編號(hào) 11。它是一個(gè)接口,用于觸發(fā)將利用機(jī)密(密鑰)的加密操作。簡單來說,它是操作系統(tǒng)和硬件安全模塊(HSM)之間的標(biāo)準(zhǔn)接口。在我們的例子中,HSM是ATECC608,你猜對了,操作系統(tǒng)是Azure RTOS。
Microsoft Azure 已方便地將 PKCS#11 接口集成到其 Azure RTOS 中。

加密命令將通過 Azure RTOS 到 PKCS#11,但需要一個(gè)中間庫:Microchip CryptoAuthLib。該庫使安全元件與MCU或處理器無關(guān)。CryptoAuthLib 已經(jīng)支持來自 PKCS#11 接口的調(diào)用,并將其轉(zhuǎn)換為對 ATECC608 TrustFLEX 或 TA100 安全元件的低級(jí)命令,如下圖所示。

安全啟動(dòng)和 Azure 實(shí)時(shí)操作系統(tǒng)
嵌入式系統(tǒng)需要使用與簽署代碼的私鑰關(guān)聯(lián)的公鑰執(zhí)行橢圓曲線數(shù)字簽名算法 (ECDSA) 驗(yàn)證。ATECC608 TrustFLEX TLS 配置中的公鑰如下所示。下載信任平臺(tái)設(shè)計(jì)套件 (TPDS) 時(shí),無需 NDA 即可訪問它。

需要了解的是,Microsoft Azure提供“設(shè)備更新”服務(wù),您可以在其中使用預(yù)先生成的公鑰/私鑰對,其中私鑰在HSM中受到理想保護(hù),設(shè)備更新執(zhí)行代碼的簽名操作并創(chuàng)建簽名作為輸出。與簽名關(guān)聯(lián)的公鑰將使用Microchip安全密鑰配置服務(wù)預(yù)配(安全編程)到Microchip ATECC608 TrustFLEX插槽15中。TPDS 將引導(dǎo)您完成入職流程。簽署代碼的私鑰不應(yīng)離開公司 HSM,也不應(yīng)提供給任何合同制造商 (CM)。請記住,安全是一種共擔(dān)責(zé)任模型?,F(xiàn)在我們有一個(gè)簽名代碼,CM將在制造過程中從每個(gè)MCU中的設(shè)備更新加載該代碼。我們將使用配備 HSM 的工廠在其安全元件(ATECC608 TrustFLEX 或 TA100)中配置公鑰。CM 還將組裝已配置的安全元素,并且密鑰不會(huì)暴露給供應(yīng)鏈?,F(xiàn)在,物聯(lián)網(wǎng)設(shè)備公司可以靈活選擇CM。
相互身份驗(yàn)證
處理安全啟動(dòng)后,嵌入式設(shè)備和 Azure IoT 中心之間將進(jìn)行相互身份驗(yàn)證。在將數(shù)據(jù)推送到 Azure IoT 中心之前,嵌入式設(shè)備需要信任云,反之亦然。IoT 設(shè)備將與設(shè)備預(yù)配服務(wù) (DPS) 相互進(jìn)行身份驗(yàn)證。Microchip 提供的清單文件(其中包含與 TLS 相互身份驗(yàn)證請求的私鑰關(guān)聯(lián)的證書)上傳到 DPS 中。DPS 現(xiàn)在擁有公鑰列表,可以驗(yàn)證在嵌入式系統(tǒng)的安全元件內(nèi)頒發(fā)的簽名,以最終確定信任鏈。信任鏈由安全啟動(dòng)和相互身份驗(yàn)證組成,其中安全啟動(dòng)的公鑰和 TLS 相互身份驗(yàn)證的私鑰受到保護(hù),并與代碼、人員和制造商隔離,一直到嵌入式設(shè)備的開發(fā)和部署。然后,DPS 通過 Azure RTOS 支持和提供的 NetX TLS 基于受信任的 IoT 設(shè)備自信地與 Azure IoT Hub 通信。

TLS 相互身份驗(yàn)證依賴于公鑰基礎(chǔ)結(jié)構(gòu) (PKI),該基礎(chǔ)結(jié)構(gòu)可以是靜態(tài)的,也可以是托管的。對于靜態(tài)PKI,Azure可容納任何根證書公司,如Digicert,GlobalSign等。對于托管PKI,Microchip安全合作伙伴公司(如Crypto Quantique,KeyFACTOR和Kudelski)提供設(shè)備管理服務(wù)。他們的 API 可以直接插入 Azure 云環(huán)境,以吊銷、輪換和審核證書。
當(dāng)涉及到用于TLS安全元素的TrustFLEX時(shí),它們可以做比前面提到的兩個(gè)用例更多的功能,并解決各種用例,例如:
用于設(shè)備管理和所有權(quán)轉(zhuǎn)讓的私鑰輪換
用戶訪問權(quán)限和受控固件版本更新的公鑰輪換
固件 IP 保護(hù)
附件和一次性認(rèn)證
總而言之,可以使用 PKCS#11 實(shí)現(xiàn)訪問整個(gè)項(xiàng)目(包括 Azure RTOS),以使用預(yù)配置的 ATECC608 TrustFLEX 和 Microchip 安全預(yù)配服務(wù)實(shí)現(xiàn)安全啟動(dòng)和相互身份驗(yàn)證。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5198文章
20445瀏覽量
334003 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7401瀏覽量
129288 -
RTOS
+關(guān)注
關(guān)注
25文章
866瀏覽量
122979
發(fā)布評論請先 登錄
Azure RTOS ThreadX的搶占任務(wù)應(yīng)用實(shí)現(xiàn)與調(diào)試
使用MM32F3270基于Azure RTOS定時(shí)器組的應(yīng)用
適用于DB4560_STM32F4系列STM32Cube的Azure? RTOS軟件擴(kuò)展
適用于DB4595_STM32L5系列STM32Cube的Azure? RTOS軟件擴(kuò)展
適用于DB4596_STM32G4系列STM32Cube的Azure? RTOS軟件擴(kuò)展
適用于DB4412_STM32H7系列STM32Cube的Azure? RTOS軟件擴(kuò)展
恩智浦半導(dǎo)體用Microsoft Azure RTOS搭建安全的局域網(wǎng)和連接到云端
瑞薩電子主流32位MCU擴(kuò)展Microsoft Azure RTOS嵌入式開發(fā)套件
Microchip開發(fā)ATECC608A的安全增強(qiáng)版本 可實(shí)現(xiàn)輕松移植
使用MM32F3270基于Azure RTOS信號(hào)量的應(yīng)用
使用MM32F3270基于Azure RTOS動(dòng)態(tài)內(nèi)存管理的應(yīng)用
ATECC608A安全引導(dǎo)入門用例
ATECC608C加密認(rèn)證芯片技術(shù)解析與應(yīng)用指南
?Microchip ECC204安全認(rèn)證IC技術(shù)解析與應(yīng)用指南
如何使用Microsoft Azure RTOS和ATECC608 TrustFLEX安全元件
評論