Guardian 模組

「守護者模組」 是附加元件硬體,該硬體併入 Azure Sphere 晶片且實際連接到「棕色地帶」裝置上的連接埠 (也就是可能已在使用中的現有裝置)。 您可以使用守護者模組,將安全的 IoT 功能新增至不支援或未安全地支援網際網路連線的設備。 簡單來說,守護者模組提供了在現有裝置中實作安全連線的方法,但不會將這些裝置公開至網際網路。 因為這是 Azure Sphere 裝置,所以可以使用所有 Azure Sphere 安全性和連線功能:所有資料都會加密、OS 和應用程式更新都會安全地傳遞,而且驗證可確保此模組只會與信任的主機通訊。

以下是守護者模組的運作方式:

  • 守護者模組可透過裝置上的現有周邊連線到棕色地帶裝置,以及透過 Wi-Fi 或乙太網路連線到網際網路。 棕色地帶裝置本身並未連線到網路。

  • 除了自訂高階應用程式和您的案例所需的任何其他 Azure Sphere 應用程式以外,Azure Sphere OS 也會在守護者模組上執行。

  • 守護者模組會使用 Azure Sphere 安全性服務來進行憑證式驗證、失敗報告,以及無線軟體更新。

  • 棕色地帶裝置會與守護者模組通訊,該模組可藉由採取本機動作或向雲端 (例如 Azure IoT Central) 報告目前狀態來回應。

每個守護者模組都必須有高階 Azure Sphere 應用程式,也可能有即時可用的應用程式

您可以向廠商購買守護者模組並針對您的使用案例進一步自訂,也可以設計自己的守護者模組 (或許與硬體合作夥伴合作)。 如需硬體供應商的相關資訊,請參閱 Azure Sphere 網站

守護者模組的用途

守護者模組可以執行任何其他 Azure Sphere 裝置所能執行的作業。 守護者模組的可能使用案例包括:

  • 從棕色地帶裝置挑選資料並加以處理,然後將它安全地傳輸到雲端端點
  • 將資料傳送至多個端點,前提是它可以驗證每個端點
  • 收集無法從棕色地帶裝置取得的其他資料;例如,守護者模組上的感應器可提供環境資料,以便搭配棕色地帶裝置中的作業資料使用。
  • 當連線中斷時,儲存來自棕色地帶裝置的資料

適用於守護者模組的高階應用程式

守護者模組至少需要一個高階應用程式 。 高階應用程式會與網際網路 (包括 Azure Sphere 安全性服務和其他雲端服務) 進行上行通訊,並與棕色地帶裝置進行下行通訊。 這些連線必須連同其他裝置和應用程式專屬詳細資料列在應用程式資訊清單中。 因此,高階應用程式必須針對每個組織的棕色地帶裝置進行自訂撰寫或自訂。 如果您的守護者模組供應商提供應用程式,請確定您會收到高階應用程式的原始程式碼和程式庫,以便視需要更新應用程式。

在守護者模組上執行的高階應用程式需負責:

  • 建立及維護與棕色地帶設備的下行連線能力,以及與網際網路的上行連線能力
  • 處理從棕色地帶裝置上行傳送的資料,必要時將其解除封裝並儲存,且視情況與網際網路主機通訊
  • 處理從網際網路主機傳送的資料,必要時將其解除封裝並儲存,且視情況與棕色地帶設備通訊

應用程式可以連線至網頁伺服器並進行驗證,而且對這類連線使用相互驗證。 上行傳送的資料可能包括錯誤報告、作業參數或整體遙測。 Azure Sphere 可確保所有這類資料都已加密。

下行傳送的資料可能包括已更新的軟體或棕色地帶裝置的設定或參數變更。 為了避免潛在的安全性缺口,應用程式應該先驗證傳入的資料,再將它下行傳遞給棕色地帶裝置。

連線能力

對於從守護者模組到網際網路的上行連線,Azure Sphere 目前支援有線的乙太網路Wi-Fi

對於從守護者模組到棕色地帶設備的下行連線,您可以使用守護者模組所公開的任何週邊。 Azure Sphere OS 中的私人乙太網路支援 允許透過乙太網路連線到棕色地帶裝置,而不需要公開至公用網際網路。

週邊裝置支援

就像其他 Azure Sphere 裝置,守護者模組所公開的週邊有所不同。 選擇一個守護者模組,以提供您的案例所需的連線能力和感測功能。 視守護者模組的硬體架構而定 (也就是,其公開 Azure Sphere 晶片功能的方式),您可判斷用於存取個別功能的軟體是否必須當作高階或即時可用的應用程式實作。

儲存體考量

Azure Sphere 具備有限的儲存體,因此請仔細考慮守護者模組與棕色地帶裝置之間,以及守護者模組與雲端之間會交換多少資料。

Azure Sphere 應用程式最多可以使用 256 KiB 的 RAM。 如果您打算將資料從雲端下行傳送到棕色地帶裝置,請確定守護者模組有足夠的空間來保存資料。 例如,如果您想要傳遞棕色地帶裝置的韌體更新,請確定守護者模組上可用的儲存體可容納這些更新。 您可能需要以「區塊」方式傳送這類更新;Azure Sphere GitHub 範例存放庫中的 範例會顯示如何執行這項操作。 請記住,下游裝置也會需要類似的機制。

對於上行移動 (從棕色地帶裝置到守護者模組) 的資料,請確定您的應用程式可以處理上行連線失敗的問題。 如果棕色地帶裝置提供持續的遙測,您必須考慮哪些資料及其中有多少資料要保留,而後連線恢復時進行傳輸。

低電源考慮

耗電量是電池供電 Azure Sphere 裝置的關鍵因素。 有許多應用程式在大部分的情況中,守護者模組處於非使用中狀態。 例如,假設有一個 Azure Sphere 的裝置,每個小時一次都會從感應器網路收集資料,並將該資料上傳至雲端,這是每次執行時可能需要一或兩分鐘的作業。 在這些情況下,裝置所耗用的大部分耗電量都會浪費。

當裝置處於非作用中狀態時,讓裝置處於 電源關閉狀態 ,可大幅降低耗電量,進而增加電池壽命。

應用程式開發和部署

開發守護者模組的應用程式與針對任何其他 Azure Sphere 裝置開發應用程式並無不同。 您會需要存取 Azure Sphere 晶片上的服務 UART,以便從本機裝置讀取和寫入。 如果要設計自己的裝置,您必須確定已公開服務 UART 訊號,而且支援在守護者模組本身或在個別硬體上與服務 UART 連接的方式。 如果您向廠商購買模組,廠商應該提供可啟用此連線的解決方案。

如果您的供應商或其他第三方將建立應用程式,您可能需要提供您的 Azure Sphere 租用戶存取權,以便應用程式開發人員載入及測試應用程式,然後建立部署。 如果您的模組提供服務 UART 連線,您可以在最終部署前側載生產應用程式。

GitHub 上的 Azure Sphere 範例存放庫包含 參考解決方案 ,可示範如何使用 Azure Sphere 裝置來為現有裝置提供安全的網際網路存取。 Azure Sphere 裝置可作為雲端與連線到設備的外部 MCU 之間的介面。 當使用者啟用時,MCU 會從低電源狀態喚醒。 它會收集設備的資訊,例如使用量計數和剩餘的清查。 然後回到低電源狀態。 Azure Sphere 裝置會定期從外部 MCU 收集資料、執行計算、將資料傳送至雲端,以及在雲端和 MCU 之間傳輸資料。 此外,MCU 可以設定為從低電源狀態喚醒 Azure Sphere 裝置,以報告低庫存狀況。