Azure Sphere とは
Azure Sphere は、インターネットに接続されたデバイス用の、セキュリティで保護された高レベルのアプリケーション プラットフォームであり、通信とセキュリティ機能が組み込まれています。 セキュリティで保護された接続型のクロスオーバー マイクロコントローラー ユニット (MCU)、カスタムの高レベルな Linux ベースのオペレーティング システム (OS)、および継続的かつ更新可能なセキュリティを提供するクラウドベースのセキュリティ サービスで構成されています。
Azure Sphere MCU では、リアルタイム処理機能が、高レベルのオペレーティング システムを実行する機能と統合されています。 Azure Sphere MCU と、そのオペレーティング システムおよびアプリケーション プラットフォームにより、リモートで更新、制御、監視、および保守できる、セキュリティで保護されたインターネット接続デバイスの作成が可能になります。 既存の MCU と共に、または既存の MCU の代わりに Azure Sphere MCU を含む接続されたデバイスにより、セキュリティ、生産性、機会が強化されます。 次に例を示します。
- セキュリティで保護されたアプリケーション環境、認証された接続、周辺機器のオプトイン使用により、スプーフィング、悪意のあるソフトウェア、サービス拒否攻撃などによるセキュリティ リスクが最小限に抑えられます。
- 接続されたデバイスにクラウドからソフトウェア更新プログラムを自動的に展開して、問題を解決し、新しい機能を提供し、新しい攻撃方法に対処することができるので、サポート担当者の生産性が向上します。
- セキュリティ保護された接続経由で製品の使用状況データをクラウドに報告して、問題の診断や新製品の設計に役立たせることができるので、製品のサービス、顧客とのよい関係、将来の開発に対する機会が増えます。
Azure Sphere Security Service は、Azure Sphere に不可欠な機能です。 このサービスを使用して、Azure Sphere MCU は安全かつ確実にクラウドや Web に接続します。 このサービスにより、正規の承認済みソフトウェアの許可されたバージョンでのみ、デバイスが起動することが保証されます。 さらに、セキュリティで保護されたチャネルが提供され、セキュリティの問題を軽減するために、Microsoft は展開されたデバイスに OS 更新プログラムを自動的にダウンロードしてインストールできます。 製造元もエンド ユーザーも介入する必要はなく、よくあるセキュリティ ホールが解消されます。
Note
Azure Sphere は、PAPI ベースのインターフェイスを Azure Sphere (レガシ) と、統合された Azure Resource Manager インターフェイスを Azure Sphere (統合) と言います。
Azure Sphere のシナリオ
実在の設定で Azure Sphere が動作する仕組みを理解するために、次のシナリオを検討します。
Contoso, Ltd は白物家電製品の製造元であり、Azure Sphere MCU を自社の食洗器に埋め込んでいます。 この DW100 食洗器では、複数のセンサーと、Azure Sphere MCU 上で実行されるオンボードの高度なアプリケーションに MCU が連結されています。 アプリケーションと、Azure Sphere Security Service および Contoso のクラウド サービスとの間で通信が行われます。 次の図にこのシナリオを示します。
Contoso のネットワーク接続型の食洗器
以下に、図の左上から時計回りに説明します。
Microsoft から、Azure Sphere セキュリティ サービスを通じて Azure Sphere OS の更新プログラムがリリースされます。
Contoso 製品の技術部門が、Azure Sphere Security Service 経由で、製品の DW100 アプリケーションに更新プログラムをリリースします。
更新された OS と Contoso DW100 アプリケーション ソフトウェアは、Azure Sphere Security Service によってエンドユーザーの場所にある食洗器に安全にデプロイされます。
Contoso の食洗器は、Azure Sphere ソフトウェアのバージョンを特定するために Azure Sphere Security Service との通信をサポートし、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 プラットフォームの主要目的は、マイクロコントローラーを利用した価格重視のデバイスで安全性と信頼性を確保してインターネットに接続できるように、高度なセキュリティを低コストで提供することにあります。 ネットワーク接続型の玩具、アプライアンス、およびその他のコンシューマー デバイスが一般的になるにつれて、セキュリティは最重要事項になっています。 デバイス ハードウェア自体がセキュリティで保護されるだけでなく、デバイスのソフトウェアとクラウド接続も保護される必要があります。 稼働環境のどこかのセキュリティが損なわれると、製品全体に加えて、潜在的にはその付近のあらゆるシステムの脅威となります。
Microsoft のインターネット セキュリティに関する長年の経験を基に、Azure Sphere チームは高度なセキュリティを備えたデバイスの 7 つの特徴を特定しました。 Azure Sphere プラットフォームは、以下の 7 つの特徴を中心に設計されています。
信頼のハードウェア ベースのルート。 信頼のハードウェア ベースのルートは、デバイスとその ID を分離できないことを保証して、デバイスの偽造やスプーフィングを防止します。 すべての Azure Sphere MCU が、Microsoft が設計した Pluton セキュリティ サブシステム ハードウェアによって生成され保護された、偽造不可能な暗号化キーによって識別されます。 これにより、工場からエンド ユーザーへ、改造されにくく安全性の高い信頼のハードウェア ルートが保証されます。
多層防御。 複数のセキュリティ レイヤーに対して多層防御が提供されることで、各脅威に対する複数の軽減策になります。 Azure Sphere プラットフォームにあるソフトウェアの各レイヤーは、その上位のレイヤーがセキュリティで保護されていることを検証します。
信頼済みの小規模なコンピューティング ベース。 デバイスのソフトウェアの多くを信頼済みのコンピューティング ベースの外側に配置しておくことで、攻撃に晒される領域を減らします。 セキュリティで保護された Security Monitor、Pluton ランタイム、および Pluton サブシステム (すべて Microsoft が提供している) のみが、信頼済みのコンピューティング ベース上で実行されます。
動的コンパートメント。 動的コンパートメントは、1 つのエラーの範囲を制限します。 Azure Sphere MCU は、1 つのコンポーネントでのセキュリティ違反が他のコンポーネントに広がらないように、ハードウェア ファイアウォールなどのシリコン対策を含みます。 制約付きの "サンドボックス" のランタイム環境は、安全なコードやデータの破損からアプリケーションを保護します。
パスワードレス認証。 偽造不可能な暗号化キーによって検証された、署名済みの証明書の使用は、パスワードよりもずっと強固な認証を提供します。 Azure Sphere プラットフォームは、すべてのソフトウェア要素が署名済みであることを要求します。 デバイスからクラウドへの通信とクラウドからデバイスへの通信には、証明書を使用して実現される追加の認証が必要です。
エラー報告。 デバイス ソフトウェアまたはハードウェアのエラーは、新たなセキュリティ攻撃で一般的です。デバイスの障害が発生するエラーは、サービス拒否攻撃を構成します。 デバイスからクラウドへの通信では、潜在的なエラーの早期警告が提供されます。 Azure Sphere デバイスは、運用データとエラーをクラウドベースの分析システムに自動的に報告でき、更新とサービスはリモートで実行できます。
更新可能なセキュリティ。 デバイス ソフトウェアは、既知の脆弱性やセキュリティ侵害を修正するために自動的に updated され、製品の製造元やエンド ユーザーの介入は必要ありません。 Azure Sphere OS およびご利用のアプリケーションは、Azure Sphere Security Service によって自動更新されます。
Azure Sphere のアーキテクチャ
Azure Sphere のハードウェア、ソフトウェア、およびセキュリティ サービスが連携することで、デバイスの保守、制御、およびセキュリティに対して独自の統合的なアプローチを実現できます。
ハードウェア アーキテクチャには、コネクテッド デバイス向けに根本的にセキュリティで保護されたコンピューティング ベースが用意されているため、自社の製品に集中できるようになります。
ソフトウェア アーキテクチャには、Microsoft が作成したセキュリティ モニター上で実行されるセキュリティで保護されたカスタム OS カーネルが用意されているため、同様に、付加価値のある IoT およびデバイス固有の機能のソフトウェアに集中して取り組めるようになります。
Azure Sphere Security Service では、セキュリティで保護されたクラウドからデバイスへのチャネルとデバイスからクラウドへのチャネルに対する認証、ソフトウェア更新プログラム、エラー報告がサポートされています。 その結果、セキュリティで保護された通信インフラストラクチャが実現し、製品で最新の Azure Sphere OS を実行できるようになります。 アーキテクチャ図とクラウド アーキテクチャの例については、「 Browse Azure Architectures」を参照してください。
ハードウェアのアーキテクチャ
Azure Sphere クロスオーバー MCU は、次の図のように、1 つのダイ上の複数のコアで構成されています。
Azure Sphere MCU ハードウェアのアーキテクチャ
各コアとそれに関連するサブシステムは、異なる信頼ドメイン内にあります。 信頼のルートは、Pluton セキュリティ サブシステム内にあります。 アーキテクチャの各レイヤーでは、上位のレイヤーが侵害される可能性があると想定されています。 各レイヤー内では、リソース分離と動的コンパートメントによってセキュリティが強化されます。
Microsoft Pluton セキュリティ サブシステム
Pluton セキュリティ サブシステムは、Azure Sphere 用のセキュリティで保護された信頼のハードウェアベースの (シリコン内の) ルートです。 セキュリティ プロセッサ コア、暗号化エンジン、ハードウェア乱数生成機能、公開/秘密キー生成、非対称および対称暗号化、セキュア ブートのための楕円曲線デジタル署名アルゴリズム (ECDSA) の検証、クラウド サービスを使用したリモート構成証明をサポートするシリコン内のメジャー ブート、多様な改ざん対策 (エントロピー検出ユニットなど) が含まれています。
セキュア ブート プロセスの一環として、Pluton サブシステムはさまざまなソフトウェア コンポーネントを起動します。 また、ランタイム サービスが提供され、デバイスの他のコンポーネントからの要求が処理され、デバイスの他の部分の重要なコンポーネントが管理されます。
高度なアプリケーションのコア
高度なアプリケーションのコアには、完全なメモリ管理ユニット (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 リソースなどのセキュリティ上で重要なハードウェアを保護し、これらのリソースへの限定されたアクセスを安全に公開することを担当します。 セキュリティ モニターは、Pluton Security Subsystem と信頼のハードウェア ルートへのアクセスを仲介およびゲート処理し、NW 環境のウォッチドッグとして機能します。 ブート ローダーを起動し、ランタイム サービスを NW に公開し、NW にアクセスできないハードウェア ファイアウォールやその他のシリコン コンポーネントを管理します。
Azure Sphere セキュリティ サービス
Azure Sphere Security Service は、パスワードレス認証、更新、エラー報告の 3 つのコンポーネントで構成されます。
パスワードレス認証。 認証コンポーネントは、リモート構成証明とパスワードレス認証を提供します。 リモート構成証明サービスは、Pluton サブシステム上でメジャー ブート機能を使用するチャレンジ応答プロトコルを介して接続します。 これにより、デバイスが正しいソフトウェアで起動されるだけでなく、そのソフトウェアの正しいバージョンで起動することが確認されます。
構成証明に成功すると、認証サービスが引き継ぎます。 認証サービスでは、セキュリティで保護された TLS 接続を介して通信し、Microsoft Azure や会社のプライベート クラウドなどの Web サービスに対してデバイスから提示できる証明書が発行されます。 Web サービスでは証明書チェーンが検証されるので、正規のデバイスであること、ソフトウェアが最新であること、Microsoft から発行されていることが検証されます。 その結果、デバイスは、安全かつ確実にオンライン サービスに接続できます。
更新。 update サービスは、Azure Sphere OS とアプリケーションの自動更新を配布します。 更新サービスでは、継続的な運用が確実に行われ、アプリケーション ソフトウェアのリモートサービスと更新が有効にされます。
エラー報告。 エラー 報告 サービスは、展開されたソフトウェアの簡単なクラッシュ レポートを提供します。 より高度なデータを取得するために、Microsoft Azure サブスクリプションに含まれるレポート機能と分析機能を使用できます。
Azure Sphere Security Service に格納されているすべてのデータは、既定で保存時に暗号化されます。 Security Service は、Azure StorageAzure Cosmos DB、および Azure Key Vault にデータを格納します。これらのサービスごとに、保存時のデータ暗号化の実装を使用します。