エッジでのコンフィデンシャル コンピューティング
適用対象: IoT Edge 1.5 IoT Edge 1.4
重要
サポートされているリリースは、IoT Edge 1.5 LTS と IoT Edge 1.4 LTS です。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日にサポートが終了します。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。
Azure IoT Edge では、デバイス上のセキュリティで保護されたエンクレーブ内で実行される機密性の高いアプリケーションがサポートされています。 暗号化により転送中または保存時のデータのセキュリティが提供されるのに対し、エンクレーブでは使用中のデータとワークロードのセキュリティが提供されます。 IoT Edge では、機密性の高いアプリケーションの開発のために、標準として Open Enclave がサポートされています。
多くの場合、モノのインターネット (IoT) デバイスはセキュリティで保護されたプライベートな施設内ではなく外の世界に存在するため、セキュリティは IoT にとっての重要な焦点です。 この露出により、悪意のあるアクターが物理的にアクセスできるため、デバイスは改ざんや偽造のリスクを負うことになります。 IoT Edge デバイスの場合、機密性の高いワークロードのエッジでの実行に対応するため、信頼性と整合性がさらに必要になります。 一般的なセンサーやアクチュエータとは異なり、これらのインテリジェントなエッジ デバイスでは、以前であれば保護されたクラウドやオンプレミス環境でのみ実行されていた機密性の高いワークロードが、公開される可能性があります。
IoT Edge セキュリティ マネージャーにより、機密性の高いコンピューティングの課題の 1 つの部分が対処されます。 セキュリティ マネージャーでは、ハードウェア セキュリティ モジュール (HSM) を使用して、IoT Edge デバイスの ID ワークロードと進行中のプロセスが保護されます。
機密性の高いコンピューティングのもう 1 つの部分は、エッジで使用されるデータを保護することです。 "信頼できる実行環境" (TEE) は、プロセッサ上のセキュリティ保護されて分離された環境であり、"エンクレーブ" と呼ばれることもあります。 "機密性の高いアプリケーション" は、エンクレーブ内で実行されるアプリケーションです。 エンクレーブの性質により、機密性の高いアプリケーションは、メイン プロセッサまたは TEE で実行されている他のアプリから保護されます。
IoT Edge 上の機密性の高いアプリケーション
機密性の高いアプリケーションは、転送時および保存時に暗号化され、信頼できる実行環境の内部で実行される場合にのみ暗号化解除されます。 この標準は、IoT Edge モジュールとしてデプロイされる機密性の高いアプリケーションにも当てはまります。
開発者は、機密性の高いアプリケーションを作成し、IoT Edge モジュールとしてそれをパッケージ化します。 アプリケーションは、コンテナー レジストリにプッシュされる前に暗号化されます。 アプリケーションは、モジュールが IoT Edge デバイスで開始されるまで、IoT Edge 展開プロセス全体を通して暗号化されたままになります。 機密性の高いアプリケーションがデバイスの TEE 内に配置された後、暗号化が解除され、実行を開始できるようになります。
IoT Edge 上の機密性の高いアプリケーションは、Azure コンフィデンシャル コンピューティングの論理的な拡張機能です。 クラウドのセキュリティで保護されたエンクレーブ内で実行されるワークロードを、エッジのセキュリティで保護されたエンクレーブ内に展開して実行することもできます。
Open Enclave
Open Enclave SDK は、開発者が複数のプラットフォームと環境を対象として機密性の高いアプリケーションを作成するのに役立つオープン ソース プロジェクトです。 Open Enclave SDK がデバイスの信頼できる実行環境内で動作するのに対し、Open Enclave API は、TEE と TEE 以外の処理環境間のインターフェイスとして機能します。
Open Enclave では、複数のハードウェア プラットフォームがサポートされています。 現在、エンクレーブを IoT Edge でサポートするには、Open Portable TEE オペレーティング システム (OP-TEE OS) が必要です。 詳細については、「OP-TEE OS 用の Open Enclave SDK」を参照してください。
Open Enclave リポジトリには、開発者が作業を始めるときに役立つサンプルも含まれています。 詳細については、次のいずれかの記事を参照してください。
ハードウェア
現時点では、機密性の高いアプリケーションを IoT Edge モジュールとしてデプロイするための製造元サービス契約でサポートされているデバイスは、Scalys による TrustBox のみです。 TrustBox は TrustBox Edge および TrustBox EdgeXL デバイス上に構築されており、どちらにも Open Enclave SDK と Azure IoT Edge があらかじめ読み込まれています。
詳細については、Scalys TrustBox 用の Open Enclave の概要に関するページを参照してください。
開発とデプロイ
機密性の高いアプリケーションを開発してデプロイする準備ができたら、Visual Studio Code 用の Microsoft Open Enclave 拡張機能が役に立つ場合があります。 Linux または Windows を開発用マシンとして使用して、TrustBox 用のモジュールを開発できます。
次のステップ
Visual Studio Code 用 Open Enclave 拡張機能を使用して IoT Edge モジュールとして機密性の高いアプリケーションの開発を始める方法について説明します。