Azure Sphere とは

Azure Sphere は、インターネットに接続されたデバイス用の通信機能とセキュリティ機能が組み込まれた、セキュリティで保護された高レベルのアプリケーション プラットフォームです。 これは、セキュリティで保護された接続されたクロスオーバマイクロコントローラーユニット(MCU)、カスタムの高レベルのLinuxベースのオペレーティングシステム(OS)、および継続的で再生可能なセキュリティを提供するクラウドベースのセキュリティサービスで構成されます。

Azure Sphere MCU は、リアルタイム処理機能と、高レベルのオペレーティング システムを実行する機能を統合します。 Azure Sphere MCU は、オペレーティング システムとアプリケーション プラットフォームと共に、リモートで更新、制御、監視、保守できる、セキュリティで保護されたインターネットに接続されたデバイスの作成を可能にします。 Azure Sphere MCU を含む接続デバイスは、既存の MCU と一緒に、または代わりに、セキュリティ、生産性、機会を強化します。 例えば:

  • セキュリティで保護されたアプリケーション環境、認証済み接続、および周辺機器のオプトイン使用により、スプーフィング、不正なソフトウェア、サービス拒否攻撃などによるセキュリティ リスクが最小限に抑えられます。
  • ソフトウェア更新プログラムは、問題を解決したり、新機能を提供したり、新たな攻撃方法に対抗したりするために、クラウドから接続されているデバイスに自動的にデプロイできるため、サポート担当者の生産性が向上します。
  • 製品使用状況データは、セキュリティで保護された接続を介してクラウドに報告して、問題の診断や新製品の設計に役立つ可能性があるため、製品サービス、顧客との積極的な対話、将来の開発の機会を増やすことができます。

Azure Sphere セキュリティ サービスは、Azure Sphere の不可欠な側面です。 このサービスを使用して、Azure Sphere MCU をクラウドと Web に安全かつ安全に接続します。 このサービスにより、デバイスは正規の承認されたソフトウェアの承認されたバージョンでのみ起動します。 さらに、セキュリティで保護されたチャネルを提供します。これにより、Microsoftは、セキュリティの問題を軽減するために、展開されたデバイスに OS 更新プログラムを自動的にダウンロードしてインストールできます。 製造元もエンドユーザーの介入も必要ないため、共通のセキュリティ ホールが閉じます。

Azure Sphere シナリオ

実際の設定での Azure Sphere のしくみを理解するには、このシナリオを検討してください。

Contoso, Ltd. は、Azure Sphere MCU を食器洗い機に埋め込むホワイトグッズ製品メーカーです。 DW100 食器洗い機は、複数のセンサーと、Azure Sphere MCU で実行されるオンボードの高レベル アプリケーションと MCU を組み合わせています。 アプリケーションは、Azure Sphere Security Service と Contoso のクラウド サービスと通信します。 次の図は、このシナリオを示しています。

IoT、Security Service、および製造元のクラウド テナントContoso ネットワーク接続型食器洗い機に接続します

左上から開始し、時計回りに移動します。

  • Microsoftは、Azure Sphere セキュリティ サービスを通じて Azure Sphere OS の更新プログラムをリリースします。

  • Contoso 製品エンジニアリングは、Azure Sphere Security Service を通じて DW100 アプリケーションの更新プログラムをリリースします。

  • Azure Sphere Security Service は、更新された OS と Contoso DW100 アプリケーション ソフトウェアをエンド ユーザーの場所にある食器洗い機に安全にデプロイします。

  • Contoso の食洗機サポートは、Azure Sphere Security Service と通信して、各エンド ユーザー デバイスで実行する必要がある Azure Sphere ソフトウェアと DW100 アプリケーション ソフトウェアのバージョンを決定し、サービスに報告されたエラー報告データを収集します。 Contoso の食器洗い機のサポートは、Contoso クラウド サービスと通信して追加情報を得ることもできます。

  • Contoso クラウド サービスは、トラブルシューティング、データ分析、顧客との対話のためのアプリケーションをサポートします。 Contoso のクラウド サービスは、Microsoft Azure、別のベンダーのクラウド サービス、または Contoso 独自のクラウドによってホストされる場合があります。

  • エンド ユーザーの場所にある Contoso DW100 モデルは、Azure Sphere Security Service への接続を介して更新された OS とアプリケーション ソフトウェアをダウンロードします。 また、Contoso のクラウド サービス アプリケーションと通信して、追加のデータを報告することもできます。

たとえば、食器洗い機上のセンサーは、水温、乾燥温度、リンス エージェント レベルを監視し、このデータを Contoso のクラウド サービスにアップロードします。このデータは、クラウド サービス アプリケーションによって潜在的な問題が分析されます。 乾燥温度が異常に高温または涼しいと思われる場合(故障した部分を示している可能性があります)、Contoso はリモートで診断を実行し、修理が必要であることを顧客に通知します。 食器洗い機が保証下にある場合、クラウド サービス アプリケーションは、お客様の現地の修理工場が交換部品を持っていることを保証し、メンテナンス訪問と在庫要件を減らすこともできます。 同様に、リンス剤が低い場合、食器洗い機は、より多くのリンス剤をメーカーから直接購入するように顧客に知らせる可能性があります。

すべての通信は、セキュリティで保護された認証された接続経由で行われます。 Contoso のサポートおよびエンジニアリング担当者は、Azure Sphere Security Service、Microsoft Azure 機能、または Contoso 固有のクラウド サービス アプリケーションを使用してデータを視覚化できます。 Contoso は、顧客向けの Web アプリケーションやモバイル アプリケーションを提供する場合もあります。このアプリケーションでは、食器洗い機の所有者がサービスを要求したり、食器洗い機のリソースの使用状況を監視したり、会社とやり取りすることができます。

Azure Sphere デプロイ ツールを使用して、Contoso は各アプリケーション ソフトウェアの更新プログラムを適切な食器洗い機モデルにターゲットとし、Azure Sphere Security Service はソフトウェア更新プログラムを適切なデバイスに配布します。 署名済みおよび検証済みのソフトウェア更新プログラムのみを食器洗い機にインストールできます。

Azure Sphere と高度にセキュリティ保護されたデバイスの 7 つのプロパティ

Azure Sphere プラットフォームの主な目標は、低価格で価値の高いセキュリティを提供し、価格に敏感なマイクロコントローラー搭載デバイスがインターネットに安全かつ確実に接続できるようにすることです。 ネットワークに接続されたおもちゃ、アプライアンス、およびその他のコンシューマー デバイスが一般的になるにつれて、セキュリティが最も重要になります。 デバイス ハードウェア自体をセキュリティで保護する必要があるだけでなく、ソフトウェアとそのクラウド接続もセキュリティで保護する必要があります。 運用環境のどこでもセキュリティが失効すると、製品全体と、潜在的に近くの何かや誰かが脅威にさらされる可能性があります。

Azure Sphere チームは、Microsoftの数十年にわたるインターネット セキュリティの経験に基づいて、高度にセキュリティ保護されたデバイスの 7 つのプロパティを特定しました。 Azure Sphere プラットフォームは、次の 7 つのプロパティを中心に設計されています。

ハードウェア ベースの信頼のルート。 ハードウェア ベースの信頼のルートにより、デバイスとその ID を分離できないため、デバイスの偽造やなりすましが防止されます。 すべての Azure Sphere MCU は、Microsoft設計されたプルトン セキュリティ サブシステム ハードウェアによって生成および保護される、許されない暗号化キーによって識別されます。 これにより、工場からエンド ユーザーへの信頼のセキュリティで保護された、改ざん防止されたハードウェア ルートが保証されます。

多層防御。 多層防御は、セキュリティの複数の層を提供するため、各脅威に対して複数の軽減策を提供します。 Azure Sphere プラットフォームの各ソフトウェア レイヤーは、その上のレイヤーがセキュリティで保護されていることを確認します。

小規模な信頼できるコンピューティング ベース。 ほとんどのデバイスのソフトウェアは信頼できるコンピューティング ベースの外部に残るため、攻撃の領域が減少します。 セキュリティで保護されたセキュリティ モニター、Pluton ランタイム、および Pluton サブシステム (いずれもMicrosoftが提供する) のみが、信頼されたコンピューティング ベースで実行されます。

動的コンパートメント。 動的コンパートメントは、1 つのエラーの範囲を制限します。 Azure Sphere MCU には、1 つのコンポーネントのセキュリティ侵害が他のコンポーネントに伝達されるのを防ぐために、ハードウェア ファイアウォールを含むシリコン対策が含まれています。 制約付きの "サンドボックス" ランタイム環境では、セキュリティで保護されたコードまたはデータがアプリケーションによって破損するのを防ぎます。

パスワードレス認証。 偽造不可能な暗号化キーによって検証された署名付き証明書を使用すると、パスワードよりもはるかに強力な認証が提供されます。 Azure Sphere プラットフォームでは、すべてのソフトウェア要素に署名が必要です。 デバイス間通信とクラウド間通信では、証明書を使用してさらに認証を行う必要があります。

エラー報告。 デバイス ソフトウェアまたはハードウェアのエラーは、新たなセキュリティ攻撃で一般的です。デバイス障害の原因となるエラーは、サービス拒否攻撃を構成します。 デバイス間通信は、潜在的なエラーの早期警告を提供します。 Azure Sphere デバイスは、運用データとエラーをクラウドベースの分析システムに自動的に報告でき、更新とサービスをリモートで実行できます。

再生可能なセキュリティ。 デバイス ソフトウェアは、既知の脆弱性やセキュリティ侵害を修正するために自動的に 更新 され、製品の製造元またはエンド ユーザーによる介入は必要ありません。 Azure Sphere セキュリティ サービスは、Azure Sphere OS とアプリケーションを自動的に更新します。

Azure Sphere アーキテクチャ

Azure Sphere ハードウェア、ソフトウェア、および Security Service を連携することで、デバイスのメンテナンス、制御、セキュリティに対する独自の統合されたアプローチが可能になります。

ハードウェア アーキテクチャは、接続されたデバイスに基本的にセキュリティで保護されたコンピューティング ベースを提供し、製品に集中できるようにします。

セキュリティで保護されたカスタム OS カーネルがMicrosoft記述された Security Monitor の上に実行されているソフトウェア アーキテクチャを使用すると、同様に、ソフトウェアの取り組みを付加価値の高い IoT およびデバイス固有の機能に集中できます。

Azure Sphere Security Service では、セキュリティで保護されたクラウドからデバイスへのチャネルとデバイスからクラウドへのチャネルを介した認証、ソフトウェアの更新、エラーレポートがサポートされています。 その結果、セキュリティで保護された通信インフラストラクチャが実現され、製品が最新の Azure Sphere OS を確実に実行できるようになります。 アーキテクチャ図とクラウド アーキテクチャの例については、「 Azure アーキテクチャの参照」を参照してください。

ハードウェア アーキテクチャ

Azure Sphere クロス オーバー MCU は、次の図に示すように、1 つのダイ上の複数のコアで構成されます。

ハードウェア アーキテクチャAzure Sphere MCU ハードウェア アーキテクチャ

各コアとそれに関連付けられたサブシステムは、異なる信頼ドメインにあります。 信頼のルートは、プルトン セキュリティ サブシステムに存在します。 アーキテクチャの各レイヤーは、その上のレイヤーが侵害される可能性があることを前提としています。 各レイヤー内では、リソース分離と動的コンパートメントによってセキュリティが強化されます。

Pluton セキュリティ サブシステムのMicrosoft

Pluton セキュリティ サブシステムは、Azure Sphere のハードウェア ベース (シリコン) セキュリティで保護された信頼ルートです。 これには、セキュリティ プロセッサ コア、暗号化エンジン、ハードウェア乱数ジェネレーター、公開/秘密キー生成、非対称および対称暗号化、セキュリティで保護されたブートの楕円曲線デジタル署名アルゴリズム (ECDSA) 検証のサポート、クラウド サービスによるリモート構成証明をサポートするシリコンでの測定ブート、エントロピ検出ユニットを含むさまざまな改ざん対策が含まれます。

セキュリティで保護されたブート プロセスの一環として、プルトン サブシステムはさまざまなソフトウェア コンポーネントを起動します。 また、ランタイム サービスを提供し、デバイスの他のコンポーネントからの要求を処理し、デバイスの他の部分の重要なコンポーネントを管理します。

高レベルのアプリケーション コア

高レベルのアプリケーション コアは、フル メモリ管理ユニット (MMU) を備えた ARM Cortex-A サブシステムを備えています。 これにより、信頼ゾーン機能を使用してプロセスのハードウェア ベースのコンパートメント化が可能になり、オペレーティング システム、高度なアプリケーション、およびサービスの実行を担当します。 ユーザー モードとスーパーバイザー モードの両方でコードを実行する Normal World (NW) と、Microsoft提供のセキュリティ モニターのみを実行する Secure World (SW) の 2 つの動作環境がサポートされています。 高レベルのアプリケーションは NW ユーザー モードで実行されます。

リアルタイム コア

リアルタイム コアは、ベアメタル コードまたはリアルタイム オペレーティング システム (RTOS) としてリアルタイム対応アプリケーションを実行できる ARM Cortex-M I/O サブシステムを備えています。 このようなアプリケーションは、周辺機器をマップし、高度なアプリケーションと通信できますが、インターネットに直接アクセスすることはできません。

接続と通信

最初の Azure Sphere MCU は、2.4GHz と 5GHz の両方で動作する 802.11 b/g/n Wi-Fi 無線を提供します。 高度なアプリケーションは、ワイヤレス通信サブシステムを構成、使用、照会できますが、直接プログラムすることはできません。 Wi-Fi を使用する代わりに、適切に装備されている Azure Sphere デバイスは、イーサネット ネットワーク上で通信できます。

多重 I/O

Azure Sphere プラットフォームでは、市場と製品の要件に合わせて埋め込みデバイスを構成できるように、さまざまな I/O 機能がサポートされています。 I/O 周辺機器は、高レベルのアプリケーション コアまたはリアルタイム コアにマップできます。

ファイアウォールのMicrosoft

ハードウェア ファイアウォールは、I/O 周辺機器がマップされているコアにのみアクセスできるようにするための "サンドボックス" 保護を提供するシリコン対策です。 ファイアウォールではコンパートメント化が課されるため、高度なアプリケーション コアにローカライズされたセキュリティ上の脅威が、周辺機器へのリアルタイム コアのアクセスに影響を与えるのを防ぎます。

内蔵 RAM とフラッシュ

Azure Sphere MCU には、4 MB 以上の統合 RAM と 16 MB の統合フラッシュ メモリが含まれています。

ソフトウェア アーキテクチャと OS

高レベルのアプリケーション プラットフォームでは、Azure Sphere OS と、インターネットとリアルタイム コアで実行されるリアルタイム対応アプリケーションの両方と通信できるデバイス固有の高レベル アプリケーションが実行されます。 次の図は、このプラットフォームの要素を示しています。

Microsoft指定された要素は灰色で表示されます。

アプリケーション プラットフォーム高度なアプリケーション プラットフォーム

Microsoftは、デバイス固有のアプリケーション以外のすべてのソフトウェアを提供および管理します。 デバイス上で実行されるすべてのソフトウェア (高レベル アプリケーションを含む) は、Microsoft証明機関 (CA) によって署名されます。 アプリケーションの更新プログラムは信頼されたMicrosoft パイプラインを通じて配信され、インストール前に各更新プログラムと Azure Sphere デバイス ハードウェアの互換性が検証されます。

アプリケーション ランタイム

Microsoft提供されるアプリケーション ランタイムは、POSIX 標準のサブセットに基づいています。 NW ユーザー モードで実行されるライブラリとランタイム サービスで構成されます。 この環境では、作成する高度なアプリケーションがサポートされます。

アプリケーション ライブラリでは、ネットワーク、ストレージ、および通信機能がサポートされています。この機能は、高度なアプリケーションで必要ですが、他の制約の中でも、直接汎用ファイル I/O またはシェル アクセスをサポートしていません。 これらの制限により、プラットフォームのセキュリティが維持され、Microsoftがセキュリティとメンテナンスの更新プログラムを提供できるようになります。 さらに、制約付きライブラリは、アプリケーションのバイナリ互換性を維持しながら、セキュリティを強化するためにシステム ソフトウェアを更新できるように、長期的な安定した API サーフェスを提供します。

OS サービス

OS サービスは、高レベルのアプリケーション コンテナーをホストし、Azure Sphere Security Service との通信を担当します。 すべての送信トラフィックのネットワーク認証とネットワーク ファイアウォールを管理します。開発中、OS サービスは、接続された PC と、デバッグ中のアプリケーションとも通信します。

カスタム Linux カーネル

カスタム Linux ベースのカーネルは、ブート ローダーと共にスーパーバイザー モードで実行されます。 カーネルは、Azure Sphere MCU のフラッシュと RAM フットプリントに対して慎重に調整されます。 これは、個別の仮想アドレス空間でのユーザー空間プロセスのプリエンプテーブル実行のためのサーフェスを提供します。 ドライバー モデルは、MCU 周辺機器を OS サービスとアプリケーションに公開します。 Azure Sphere ドライバーには、Wi-Fi (TCP/IP ネットワーク スタックを含む)、UART、SPI、I2C、GPIO などがあります。

セキュリティ モニター

Microsoft提供のセキュリティ モニターは SW で実行されます。 メモリ、フラッシュ、その他の共有 MCU リソースなどのセキュリティに依存するハードウェアを保護し、制限されたアクセスをこれらのリソースに安全に公開する責任があります。 Security Monitor ブローカーとゲートは、プルトン セキュリティ サブシステムと信頼のハードウェア ルートにアクセスし、NW 環境のウォッチドッグとして機能します。 ブート ローダーを起動し、NW にランタイム サービスを公開し、NW にアクセスできないハードウェア ファイアウォールやその他のシリコン コンポーネントを管理します。

Azure Sphere Security Service

Azure Sphere Security Service は、パスワードレス認証、更新、エラー報告の 3 つのコンポーネントで構成されます。

  • パスワードレス認証。 認証コンポーネントは、リモート構成証明とパスワードレス認証を提供します。 リモート構成証明サービスは、プルトン サブシステムで測定されたブート機能を使用するチャレンジ応答プロトコルを介して接続します。 これは、デバイスが正しいソフトウェアで起動しただけでなく、そのソフトウェアの正しいバージョンで起動したことを確認します。

    構成証明が成功すると、認証サービスが引き継ぎます。 認証サービスは、セキュリティで保護された TLS 接続を介して通信し、デバイスが Web サービス (Azure や会社のプライベート クラウドなど) に提示できる証明書Microsoft発行します。 Web サービスは証明書チェーンを検証するため、デバイスが正規のものであり、ソフトウェアが最新であり、Microsoftがソースであることを確認します。 その後、デバイスはオンライン サービスと安全に接続できます。

  • 更新。 更新サービスは、Azure Sphere OS とアプリケーションの自動更新を配布します。 更新サービスにより、継続的な操作が保証され、アプリケーション ソフトウェアのリモート サービスと更新が可能になります。

  • エラー報告エラー報告サービスは、展開されたソフトウェアの簡単なクラッシュ レポートを提供します。 より豊富なデータを取得するには、Microsoft Azure サブスクリプションに含まれているレポート機能と分析機能を使用します。

Azure Sphere Security Service に格納されているすべてのデータは、既定で保存時に暗号化されます。 Security Service は、Azure StorageAzure Cosmos DB、Azure Key Vaultにデータを格納し、そのようなサービスごとに保存時のデータ暗号化の実装を使用します。