適用対象: IoT Edge 1.5
重要
IoT Edge 1.5 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 SDK は、開発者が複数のプラットフォームと環境用の機密アプリケーションを作成できるオープンソース プロジェクトです。 Open Enclave SDK はデバイスの信頼された実行環境 (TEE) 内で動作しますが、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 モジュールとして機密性の高いアプリケーションの開発を始める方法について説明します。