《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 物聯(lián)網(wǎng)安全基礎(chǔ)知識(shí):安全連接到物聯(lián)網(wǎng)云服務(wù)

物聯(lián)網(wǎng)安全基礎(chǔ)知識(shí):安全連接到物聯(lián)網(wǎng)云服務(wù)

2020-12-28
來源:關(guān)鍵基礎(chǔ)設(shè)施安全應(yīng)急響應(yīng)中心

  物聯(lián)網(wǎng) (IoT) 安全依賴于多層保護(hù),可從物聯(lián)網(wǎng)設(shè)備的硬件基礎(chǔ)一直延伸到執(zhí)行環(huán)境。不過,對(duì)于任何聯(lián)網(wǎng)設(shè)備來說,威脅依然存在,針對(duì)云連接的典型物聯(lián)網(wǎng)應(yīng)用要求也可能讓物聯(lián)網(wǎng)設(shè)備和云服務(wù)暴露在新攻擊之下。為了緩解這些威脅,物聯(lián)網(wǎng)云提供商采用特定的安全協(xié)議和策略,但若使用不當(dāng),它們反而會(huì)讓物聯(lián)網(wǎng)應(yīng)用更容易受到攻擊。通過使用預(yù)先配置的開發(fā)板,開發(fā)人員可以快速借鑒主要物聯(lián)網(wǎng)云服務(wù)所使用的安全方法,對(duì)連接進(jìn)行身份驗(yàn)證以及授權(quán)使用物聯(lián)網(wǎng)設(shè)備和云資源。

  本文將說明兩大云服務(wù) Amazon Web Services (AWS) 和 Microsoft Azure 所使用的連接要求,并且介紹開發(fā)人員可以如何使用來自眾多供應(yīng)商的開發(fā)套件及相關(guān)軟件,來快速連接這些服務(wù)。

  物聯(lián)網(wǎng)門戶在云服務(wù)中所扮演的角色

  當(dāng)一臺(tái)物聯(lián)網(wǎng)設(shè)備連接到某個(gè)資源,如云服務(wù)或遠(yuǎn)程主機(jī),其自身以及因擴(kuò)展整個(gè)物聯(lián)網(wǎng)網(wǎng)絡(luò)而可能受到偽裝成合法服務(wù)或服務(wù)器的威脅。相反地,云服務(wù)本身也面臨著來自黑客的類似攻擊威脅,黑客會(huì)模仿物聯(lián)網(wǎng)設(shè)備事務(wù)以試圖對(duì)云防御機(jī)制進(jìn)行滲透。為了幫助確保保護(hù)物聯(lián)網(wǎng)設(shè)備和云資源,云服務(wù)需要采用特定的安全協(xié)議對(duì)登錄進(jìn)行雙向身份驗(yàn)證并對(duì)后續(xù)操作加以授權(quán),以確定是否允許使用服務(wù)。此類協(xié)議通常包含在一系列服務(wù)內(nèi),以在物聯(lián)網(wǎng)設(shè)備和云資源之間提供安全門戶。

  類似于其他可用的物聯(lián)網(wǎng)云服務(wù)平臺(tái),AWS 和 Azure 分別提供特定入口門戶,以供物聯(lián)網(wǎng)設(shè)備用來與每家提供商的全套云資源進(jìn)行交互。這些云資源包括虛擬機(jī) (VM) 和軟件即服務(wù) (SaaS) 產(chǎn)品等。Azure IoT Hub 和 AWS IoT 使用功能類似的機(jī)制和能力組合,能夠?yàn)楦髯韵鄳?yīng)的企業(yè)云產(chǎn)品提供此類門戶。

  在最低程度上,這些及其他物聯(lián)網(wǎng)門戶會(huì)使用特定的身份驗(yàn)證協(xié)議來建立安全連接。這些協(xié)議可通過每家提供商的軟件開發(fā)套件 (SDK) 實(shí)現(xiàn)。對(duì)于 AWS,物聯(lián)網(wǎng)設(shè)備使用雙向身份驗(yàn)證來連接設(shè)備網(wǎng)關(guān)。而設(shè)備網(wǎng)關(guān)會(huì)使用設(shè)備注冊(cè)表中保存的信息來連接物聯(lián)網(wǎng)設(shè)備和其他物聯(lián)網(wǎng)支持服務(wù)。該寄存器可存儲(chǔ)唯一設(shè)備標(biāo)識(shí)碼、安全憑證,以及管理對(duì) AWS 服務(wù)進(jìn)行訪問所需的其他元數(shù)據(jù)(圖 1)。在 Azure 中,身份注冊(cè)表具有類似的功能。

  微信圖片_20201228214712.jpg

  圖1 和其他云提供商一樣,AWS會(huì)為開發(fā)人員提供一系列專用服務(wù),用以在物聯(lián)網(wǎng)設(shè)備和企業(yè)云服務(wù)之間提升事務(wù)的安全性和有效性。(圖片來源: Amazon Web Services)

AWS IoT 和 Azure IoT 都提供有相關(guān)服務(wù),能在與每臺(tái)物理物聯(lián)網(wǎng)設(shè)備有關(guān)的虛擬設(shè)備中維護(hù)狀態(tài)信息。在 AWS IoT 中,設(shè)備影子將為 AWS IoT 提供此功能;而設(shè)備孿生則為 Azure IoT 提供類似功能。

  這種安全門戶概念可延伸到物聯(lián)網(wǎng)邊緣服務(wù),例如 AWS Greengrass 或 Azure IoT Edge 等。這些邊緣服務(wù)產(chǎn)品可將部分云服務(wù)和功能下放至本地網(wǎng)絡(luò),并且在大規(guī)模部署中,邊緣系統(tǒng)會(huì)放置在靠近物聯(lián)網(wǎng)設(shè)備和系統(tǒng)的位置。開發(fā)人員可以使用 Azure IoT Edge 等服務(wù)來實(shí)現(xiàn)應(yīng)用業(yè)務(wù)邏輯,或提供所需的其他功能來縮短延遲,或向本地操作人員提供服務(wù),如工業(yè)自動(dòng)化等(圖 2)。

微信圖片_20201228214938.jpg

  圖2 為了支持邊緣計(jì)算,云服務(wù)提供商會(huì)提供Microsoft Azure Edge等專用服務(wù),使部分Azure IoT云服務(wù)更靠近與物聯(lián)網(wǎng)應(yīng)用有關(guān)的物理設(shè)備。(圖片來源:Microsoft Azure)

應(yīng)對(duì)物聯(lián)網(wǎng)門戶連接性要求

  不管是通過邊緣系統(tǒng)進(jìn)行連接,還是直接連接至提供商的物聯(lián)網(wǎng)服務(wù),物聯(lián)網(wǎng)設(shè)備通常需要滿足一系列要求,才能連接提供商的物聯(lián)網(wǎng)門戶并使用提供商的云服務(wù)。雖然細(xì)節(jié)有差異,但物聯(lián)網(wǎng)設(shè)備至少要提供某些項(xiàng)目,如私鑰、X.509 證書或其他安全令牌。在設(shè)備-云連接序列的身份驗(yàn)證階段,這些密鑰、證書或令牌會(huì)為物聯(lián)網(wǎng)門戶提供關(guān)于物聯(lián)網(wǎng)設(shè)備身份的認(rèn)證或證明。此外,物聯(lián)網(wǎng)云服務(wù)通常需要一套策略規(guī)范,用于定義物聯(lián)網(wǎng)設(shè)備和云服務(wù)之間交互所需的訪問權(quán)限。

  和其他企業(yè)計(jì)算要求一樣,需要使用由主要物聯(lián)網(wǎng)云服務(wù)(如 AWS IoT 和 Azure IoT)指定的特定格式和程序,來提供用于身份驗(yàn)證的認(rèn)證信息以及用于訪問管理的策略信息。這些服務(wù)不僅在最低程度上支持基于證書的身份驗(yàn)證,它們還支持使用其他形式的認(rèn)證。例如,開發(fā)人員可以在 AWS IoT 中使用以 JSON Web Token (JWT) 為基礎(chǔ)的基于令牌的身份驗(yàn)證方法,或在 Azure IoT 中使用共享訪問簽名 (SAS) 令牌。

  如前文所述,這些服務(wù)使用注冊(cè)表來保存每臺(tái)物聯(lián)網(wǎng)設(shè)備的元數(shù)據(jù)。除安全和其他信息以外,此類注冊(cè)表還會(huì)保存訪問權(quán)限策略,而這些策略需要進(jìn)行定義以連接物聯(lián)網(wǎng)設(shè)備。雖然針對(duì)不同的云服務(wù)有不同的指定方式,但這些策略定義對(duì)不同通信通道和實(shí)體的訪問權(quán)限進(jìn)行了描述。例如,一項(xiàng)簡單的 AWS IoT 訪問權(quán)限策略可能會(huì)使用 JSON 格式來指明:AWS IoT 設(shè)備注冊(cè)表中帶有特殊“物件”名稱的物聯(lián)網(wǎng)設(shè)備只能在具有相同的相關(guān)物件名稱的通道中進(jìn)行連接與發(fā)布消息(清單 1)。

 微信截圖_20201228215007.png

  清單 1:開發(fā)人員使用 JSON 格式來描述物聯(lián)網(wǎng)設(shè)備的 AWS IoT 訪問權(quán)限策略。(代碼來源:AWS)

   云就緒開發(fā)套件

  雖然云提供商提供關(guān)于此類格式和程序的詳細(xì)規(guī)格,但提供商的支持論壇上經(jīng)常充斥著開發(fā)人員遇到的非常小但關(guān)鍵的細(xì)節(jié)問題,這些問題使其無法順利完成身份驗(yàn)證和訪問管理。更糟糕的是,從安全角度來看,無意識(shí)的濫用認(rèn)證或不完整的訪問策略定義還有可能導(dǎo)致物聯(lián)網(wǎng)設(shè)備、網(wǎng)絡(luò)和應(yīng)用受到攻擊。隨著現(xiàn)成即用的開發(fā)板和配套軟件包的推出,開發(fā)人員能夠在這些連接程序中快速導(dǎo)航,并使用供應(yīng)商提供的示例快速連接到物聯(lián)網(wǎng)云。例如,Espressif Systems 的 ESP32-Azure IoT 套件或 Seeed Technology 的 AZ3166 IoT 開發(fā)套件都包含經(jīng)過 Azure 認(rèn)證的開發(fā)板,且專門為輕松連接 Microsoft 云而設(shè)計(jì)。

  Microsoft 提供完整的分步演示,包括受支持開發(fā)套件的身份驗(yàn)證和訪問憑證等。以 AZ3166 開發(fā)板為例,開發(fā)人員只要按下板上的按鈕,即可啟動(dòng)與本地 Wi-Fi 網(wǎng)絡(luò)的連接。一旦連接,他們可以使用適用于 Microsoft Visual Studio Code 的 Azure IoT Tools 擴(kuò)展包中的 Azure IoT Device Workbench,來進(jìn)行開發(fā)、調(diào)試,以及與 Azure IoT Hub 進(jìn)行交互。通過使用此工具集及其代碼樣例包,開發(fā)人員可以在 Azure IoT Hub 中為物聯(lián)網(wǎng)設(shè)備創(chuàng)建對(duì)象,并使用提供的文件來配置包含憑證和其他元數(shù)據(jù)的關(guān)聯(lián)身份注冊(cè)表,用以將物聯(lián)網(wǎng)板連接至 Azure IoT Hub(圖 3)。

微信圖片_20201228215115.jpg

  圖3 Microsoft Azure IoT Device Workbench 中提供的代碼樣例和憑證可以幫助開發(fā)人員完成配置,以便將 Seeed Technology 的 AZ3166 IoT 開發(fā)套件連接至 Azure IoT Hub。(圖片來源:Microsoft Azure)

Azure IoT Device Workbench 提供額外的支持軟件和元數(shù)據(jù),讓開發(fā)人員可以快速加載 AZ3166 板和代碼樣例,并開始將開發(fā)板的溫度和濕度傳感器的測(cè)量數(shù)據(jù)傳輸?shù)?Azure IoT Hub。

  在物聯(lián)網(wǎng)云中為物理物聯(lián)網(wǎng)設(shè)備創(chuàng)建表示形式以及配置關(guān)聯(lián)的注冊(cè)表,所涉及的必要步驟只是將設(shè)備連接到物聯(lián)網(wǎng)云。不過,要充分利用云服務(wù)的優(yōu)點(diǎn),Azure IoT Hub 還需要一項(xiàng)訪問權(quán)限策略。為了對(duì)來自 AZ3166 傳感器的設(shè)備到云的消息進(jìn)行監(jiān)控,開發(fā)人員只需使用 Azure 共享訪問策略屏幕,來選擇專門為快速啟用必要訪問權(quán)限而設(shè)計(jì)的預(yù)構(gòu)建策略(圖 4)。

微信圖片_20201228215226.jpg

  圖4 開發(fā)人員可以使用預(yù)構(gòu)建的策略輕松授權(quán)使用 Azure 云服務(wù)以及來

自 eed Technology 的 AZ3166 IoT 開發(fā)套件的傳感器數(shù)據(jù)。(圖片來源:Microsoft Azure)

在使用 AWS IoT 時(shí),開發(fā)人員可以轉(zhuǎn)用開發(fā)套件,如 Microchip Technology 的 AT88CKECC-AWS-XSTK-B 零接觸配置套件及配套軟件,來對(duì)云連接進(jìn)行快速評(píng)估。此版本是早期 Microchip 零接觸配置套件的更新版,預(yù)先加載了身份驗(yàn)證憑證。使用該套件提供的其他腳本,開發(fā)人員可以快速將開發(fā)板連接到 AWS IoT,而無需處理私鑰和證書問題(請(qǐng)參閱“采用零接觸方法安全鎖定物聯(lián)網(wǎng)設(shè)備”)。

  其他開發(fā)套件包括 Renesas 的 RTK5RX65N0S01000BE RX65N 云套件和 Infineon Technologies 的 KITXMC48IOTAWSWIFITOBO1 AWS IoT 套件,擴(kuò)展了對(duì) AWS IoT 連接的支持,并且支持快速開發(fā)基于 Amazon FreeRTOS 的應(yīng)用。AWS 提供了詳細(xì)的指導(dǎo)說明,有助于注冊(cè)開發(fā)板,創(chuàng)建身份驗(yàn)證憑證,以及加載所提供的 JSON 策略以連接至 AWS IoT 和使用 AWS 服務(wù)。

  簡化大規(guī)模物聯(lián)網(wǎng)部署的配置

  開發(fā)套件(如前文所述的套件)可作為快速開發(fā)物聯(lián)網(wǎng)應(yīng)用的原型,以及探索物聯(lián)網(wǎng)云服務(wù)連接要求的有效平臺(tái)。但在實(shí)際應(yīng)用中,開發(fā)人員通常需要轉(zhuǎn)用更高級(jí)的方法,而這些方法專為簡化現(xiàn)實(shí)應(yīng)用中的物聯(lián)網(wǎng)設(shè)備配置而設(shè)計(jì)。Azure IoT 和 AWS IoT 都支持各種方法,以允許對(duì)大規(guī)模部署中的個(gè)別設(shè)備或大量物聯(lián)網(wǎng)設(shè)備進(jìn)行更自動(dòng)化的配置。

  以 AWS IoT 為例,開發(fā)人員可以使用自舉方式進(jìn)行證書配置。亦即,智能產(chǎn)品在交付時(shí)會(huì)提供自舉證書,其中包含關(guān)聯(lián)的最低訪問權(quán)限以供請(qǐng)求和訪問新證書(圖 5)。

微信圖片_20201228215729.jpg

  圖5 AWS IoT 在物聯(lián)網(wǎng)設(shè)備中支持字舉證書配置方法。(圖片來源:Digi-Key Electronics,原始資料來源于  Amazon Web Services)

使用自舉證書時(shí),設(shè)備可以連接到云(見圖 5 中的“1”),請(qǐng)求 (“2”) 新證書,接收 (“3”) 由 AWS 無服務(wù)器 Lambda 函數(shù)生成的證書 URL,以及從 AWS Simple Storage Services (S3) 存儲(chǔ)桶檢索 (“4”) 該證書。而使用該新證書,設(shè)備則可以重新登錄到 AWS IoT (“5”),以便繼續(xù)正常操作。

  AWS 還提供其他云服務(wù),以支持使用執(zhí)行資源(如 AWS Lambda 函數(shù))對(duì)身份驗(yàn)證令牌進(jìn)行動(dòng)態(tài)配置。例如,某汽車應(yīng)用可能依賴一系列臨時(shí)連接,在這些連接中,使用令牌更實(shí)用而且更安全。在適用于物聯(lián)網(wǎng)身份驗(yàn)證和授權(quán)的 AWS 模塊批準(zhǔn)令牌請(qǐng)求以后,AWS Security Token Service (STS) 會(huì)生成一個(gè)令牌以傳輸?shù)狡囅到y(tǒng)。使用該令牌,這些系統(tǒng)可以訪問需要由 AWS Identity and Access Management (IAM) 服務(wù)驗(yàn)證的 AWS 服務(wù)(圖 6)。

微信圖片_20201228215955.jpg

  圖6 主要云服務(wù)提供商提供其他形式的身份驗(yàn)證認(rèn)證,例如,由 AWS Security Token Service(STS)動(dòng)態(tài)生成安全令牌的這種流程。(圖片來源:Amazon Web Services)

AWS 為訪問權(quán)限的動(dòng)態(tài)分配提供類似功能。此時(shí),其他 AWS Lambda 函數(shù)會(huì)分配一組與有效令牌關(guān)聯(lián)的策略(圖 7)。

微信圖片_20201228221038.jpg

  圖7 開發(fā)人員可以使用云服務(wù)來實(shí)現(xiàn)訪問權(quán)限的動(dòng)態(tài)分配,它尤其適用于具有臨時(shí)連接或短期操作的應(yīng)用。(圖片來源:Amazon Web Services)

其他物聯(lián)網(wǎng)云服務(wù)允許開發(fā)人員更有效地處理大規(guī)模部署中的配置。例如,AWS IoT 提供車隊(duì)配置功能,包括支持前文所述自舉方法的更大規(guī)模部署。Azure IoT 的設(shè)備配置服務(wù)提供組注冊(cè)功能,支持對(duì)擁有相同 X.509 證書或 SAS 令牌的大量物聯(lián)網(wǎng)設(shè)備進(jìn)行配置。

  安全責(zé)任共擔(dān)

  IoT 云提供商提供若干有效方法,以提升物聯(lián)網(wǎng)應(yīng)用的端對(duì)端安全。盡管如此,IoT 開發(fā)人員不能預(yù)期這些方法可以承擔(dān)其特定物聯(lián)網(wǎng)應(yīng)用的全部安全要求重任。實(shí)際上,云服務(wù)提供商會(huì)使用具體的模型(如 AWS 的責(zé)任共擔(dān)模型)來仔細(xì)地概述其在物聯(lián)網(wǎng)應(yīng)用安全領(lǐng)域內(nèi)的具體角色和責(zé)任(圖 8)。

微信圖片_20201228221103.jpg

  圖8 和其他主要云提供商一樣,AWS也對(duì)自身與云用戶共擔(dān)的責(zé)任進(jìn)行了說明,以便在一方面保護(hù)云基礎(chǔ)設(shè)施,另一方面保護(hù)客戶的應(yīng)用。(圖片來源:Amazon Web Services)

AWS 和 Microsoft Azure 都提供責(zé)任共擔(dān)文檔,說明與解釋在保護(hù)資源、數(shù)據(jù)和應(yīng)用過程中提供商的自身角色,以及客戶所扮演的角色。在其說明文檔中,Microsoft 還概述了安全責(zé)任共擔(dān)和合規(guī)性要求之間的部分關(guān)系。最后,云提供商還負(fù)有保護(hù)云安全的責(zé)任,而客戶則要對(duì)在云中使用的應(yīng)用、數(shù)據(jù)和資源負(fù)責(zé)。

  總結(jié)

  IoT 應(yīng)用依賴以基于硬件的機(jī)制為基礎(chǔ)所建立起來的安全層,來實(shí)現(xiàn)加密和安全密鑰存儲(chǔ)。和任何聯(lián)網(wǎng)產(chǎn)品一樣,當(dāng)物聯(lián)網(wǎng)設(shè)備連接云服務(wù)時(shí),安全威脅可能存在于任何形式的交互過程當(dāng)中。為了保護(hù)自身及其客戶,IoT 云提供商針對(duì)身份驗(yàn)證和訪問權(quán)限管理制定了具體的要求。雖然提供商會(huì)提供關(guān)于此類要求及相關(guān)規(guī)格的詳細(xì)說明文檔,但開發(fā)人員還是有可能發(fā)現(xiàn)他們?yōu)閷?shí)現(xiàn)安全連接所做的努力有時(shí)候會(huì)使資源暴露在風(fēng)險(xiǎn)當(dāng)中,甚至適得其反地使其不可訪問。使用開發(fā)板和相關(guān)軟件,開發(fā)人員可以快速連接云服務(wù),并快速設(shè)計(jì)物聯(lián)網(wǎng)應(yīng)用原型,同時(shí)保證端對(duì)端安全。

 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。