{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action":["iot:Publish"], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": ["iot:Connect"], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ]}清單 1:開發人員使用 JSON 格式來描述物聯網設備的 AWS IoT 訪問權限策略。(代碼來源:AWS)雲就緒開發套件雖然雲提供商提供關於此類格式和程序的詳細規格,但提供商的支持論壇上經常充斥著開發人員遇到的非常小但關鍵的細節問題,這些問題使其無法順利完成身份驗證和訪問管理。更糟糕的是,從安全角度來看,無意識的濫用認證或不完整的訪問策略定義還有可能導致物聯網設備、網絡和應用受到攻擊。隨著現成即用的開發板和配套軟體包的推出,開發人員能夠在這些連接程序中快速導航,並使用供應商提供的示例快速連接到物聯網雲。例如,Espressif Systems 的 ESP32-Azure IoT 套件或 Seeed Technology 的 AZ3166 IoT 開發套件都包含經過 Azure 認證的開發板,且專門為輕鬆連接 Microsoft 雲而設計。Microsoft 提供完整的分步演示,包括受支持開發套件的身份驗證和訪問憑證等。以 AZ3166 開發板為例,開發人員只要按下板上的按鈕,即可啟動與本地 Wi-Fi 網絡的連接。一旦連接,他們可以使用適用於 Microsoft Visual Studio Code 的 Azure IoT Tools 擴展包中的 Azure IoT Device Workbench,來進行開發、調試,以及與 Azure IoT Hub 進行交互。通過使用此工具集及其代碼樣例包,開發人員可以在 Azure IoT Hub 中為物聯網設備創建對象,並使用提供的文件來配置包含憑證和其他元數據的關聯身份註冊表,用以將物聯網板連接至 Azure IoT Hub(圖 3)。Azure IoT Device Workbench 提供額外的支持軟體和元數據,讓開發人員可以快速加載 AZ3166 板和代碼樣例,並開始將開發板的溫度和溼度傳感器的測量數據傳輸到 Azure IoT Hub。在物聯網雲中為物理物聯網設備創建表示形式以及配置關聯的註冊表,所涉及的必要步驟只是將設備連接到物聯網雲。不過,要充分利用雲服務的優點,Azure IoT Hub 還需要一項訪問權限策略。為了對來自 AZ3166 傳感器的設備到雲的消息進行監控,開發人員只需使用 Azure 共享訪問策略屏幕,來選擇專門為快速啟用必要訪問權限而設計的預構建策略(圖 4)。在使用 AWS IoT 時,開發人員可以轉用開發套件,如 Microchip Technology 的 AT88CKECC-AWS-XSTK-B 零接觸配置套件及配套軟體,來對雲連接進行快速評估。此版本是早期 Microchip 零接觸配置套件的更新版,預先加載了身份驗證憑證。使用該套件提供的其他腳本,開發人員可以快速將開發板連接到 AWS IoT,而無需處理私鑰和證書問題(請參閱「採用零接觸方法安全鎖定物聯網設備」)。其他開發套件包括 Renesas 的 RTK5RX65N0S01000BE RX65N 雲套件和 Infineon Technologies 的 KITXMC48IOTAWSWIFITOBO1 AWS IoT 套件,擴展了對 AWS IoT 連接的支持,並且支持快速開發基於 Amazon FreeRTOS 的應用。AWS 提供了詳細的指導說明,有助於註冊開發板,創建身份驗證憑證,以及加載所提供的 JSON 策略以連接至 AWS IoT 和使用 AWS 服務。簡化大規模物聯網部署的配置開發套件(如前文所述的套件)可作為快速開發物聯網應用的原型,以及探索物聯網雲服務連接要求的有效平臺。但在實際應用中,開發人員通常需要轉用更高級的方法,而這些方法專為簡化現實應用中的物聯網設備配置而設計。Azure IoT 和 AWS IoT 都支持各種方法,以允許對大規模部署中的個別設備或大量物聯網設備進行更自動化的配置。以 AWS IoT 為例,開發人員可以使用自舉方式進行證書配置。亦即,智能產品在交付時會提供自舉證書,其中包含關聯的最低訪問權限以供請求和訪問新證書(圖 5)。使用自舉證書時,設備可以連接到雲(見圖 5 中的「1」),請求 ("2") 新證書,接收 ("3") 由 AWS 無伺服器 Lambda 函數生成的證書 URL,以及從 AWS Simple Storage Services (S3) 存儲桶檢索 ("4") 該證書。而使用該新證書,設備則可以重新登錄到 AWS IoT ("5"),以便繼續正常操作。AWS 還提供其他雲服務,以支持使用執行資源(如 AWS Lambda 函數)對身份驗證令牌進行動態配置。例如,某汽車應用可能依賴一系列臨時連接,在這些連接中,使用令牌更實用而且更安全。在適用於物聯網身份驗證和授權的 AWS 模塊批准令牌請求以後,AWS Security Token Service (STS) 會生成一個令牌以傳輸到汽車系統。使用該令牌,這些系統可以訪問需要由 AWS Identity and Access Management (IAM) 服務驗證的 AWS 服務(圖 6)。AWS 為訪問權限的動態分配提供類似功能。此時,其他 AWS Lambda 函數會分配一組與有效令牌關聯的策略(圖 7)。其他物聯網雲服務允許開發人員更有效地處理大規模部署中的配置。例如,AWS IoT 提供車隊配置功能,包括支持前文所述自舉方法的更大規模部署。Azure IoT 的設備配置服務提供組註冊功能,支持對擁有相同 X.509 證書或 SAS 令牌的大量物聯網設備進行配置。安全責任共擔IoT 雲提供商提供若干有效方法,以提升物聯網應用的端對端安全。儘管如此,IoT 開發人員不能預期這些方法可以承擔其特定物聯網應用的全部安全要求重任。實際上,雲服務提供商會使用具體的模型(如 AWS 的責任共擔模型)來仔細地概述其在物聯網應用安全領域內的具體角色和責任(圖 8)。AWS 和 Microsoft Azure 都提供責任共擔文檔,說明與解釋在保護資源、數據和應用過程中提供商的自身角色,以及客戶所扮演的角色。在其說明文檔中,Microsoft 還概述了安全責任共擔和合規性要求之間的部分關係。最後,雲提供商還負有保護雲安全的責任,而客戶則要對在雲中使用的應用、數據和資源負責。總結IoT 應用依賴以基於硬體的機制為基礎所建立起來的安全層,來實現加密和安全密鑰存儲。和任何聯網產品一樣,當物聯網設備連接雲服務時,安全威脅可能存在於任何形式的交互過程當中。為了保護自身及其客戶,IoT 雲提供商針對身份驗證和訪問權限管理制定了具體的要求。雖然提供商會提供關於此類要求及相關規格的詳細說明文檔,但開發人員還是有可能發現他們為實現安全連接所做的努力有時候會使資源暴露在風險當中,甚至適得其反地使其不可訪問。使用開發板和相關軟體,開發人員可以快速連接雲服務,並快速設計物聯網應用原型,同時保證端對端安全。作者:Stephen Evanczuk
來源:Digi-Key
聲明:本文由作者原創,文章內容系作者個人觀點,電子發燒友網轉載僅作為傳達一種不同的觀點,不代表電子發燒友網對該觀點的贊同或支持,如有異議,歡迎聯繫電子發燒友網。 更多熱點文章閱讀