エンクレーブ アプリケーションを構築するためのオープンソース ソリューション
この記事では、アプリケーション エンクレーブを使用するアプリケーションを構築するためのオープンソース ソリューションについて説明します。 読む前に、エンクレーブ アプリケーションの概念に関するページを必ずお読みください。
Intel SGX 互換ツール
Azure では、Intel Software Guard Extensions (SGX) が有効になっている機密仮想マシンを介してアプリケーション エンクレーブを提供しています。 Intel SGX 仮想マシンをデプロイした後、アプリケーションを "エンクレーブ対応" にするための特別なツールが必要です。 これにより、コードの信頼された部分と信頼されていない部分の両方を持つアプリケーションを構築できます。
たとえば、次のオープンソース フレームワークを使用できます。
- Open Enclave (OE) Software Development Kit (SDK)
- EGo SDK
- Intel SGX SDK
- Confidential Consortium Framework (CCF)
- Kubeflow 用 Intel® Cloud Optimization モジュール
新しいアプリケーション コードを記述しない場合は、機密コンテナーのイネーブラーを使用してコンテナー化されたアプリケーションをラップできます。
Open Enclave Software Development Kit (OE SDK)
エンクレーブ内で実行されるコードを記述するには、ご利用のプロバイダーによってサポートされているライブラリまたはフレームワークを使用します。 Open Enclave SDK (OE SDK) は、コンフィデンシャル コンピューティングに対応したさまざまなハードウェアに対する抽象化を可能にするオープンソースの SDK です。
OE SDK は、あらゆる CSP のハードウェアに対する単一の抽象化レイヤーとして構築されています。 Azure Confidential Computing 仮想マシン上で OE SDK を使用して、エンクレーブ上にアプリケーションを作成、実行することができます。 Open Enclave リポジトリは、Microsoft によって保守されています。
EGo Software Development Kit
EGo は、Go プログラミング言語で記述されたアプリケーションをエンクレーブ内で実行できるようにするオープンソース SDK です。 EGo は OE SDK の上に構築され、構成証明と封印用のエンクレーブ内 Go ライブラリが付属しています。 既存の多くの Go アプリケーションは、変更せずに EGo 上で実行されます。
Intel SGX Software Development Kit
Intel SGX SDK は、Intel の SGX チームによって開発および保守されています。 SDK は、ソフトウェア開発者が C/C++ で Intel SGX 対応アプリケーションを作成およびデバッグできるツールのコレクションです。
Confidential Consortium Framework (CCF)
Confidential Consortium Framework (CCF) は、分散ブロックチェーン フレームワークの一例です。 CCF は、Azure Confidential Computing を基盤として構築されています。 Microsoft Research が指揮を執るこのフレームワークは、高信頼実行環境 (TEE) の機能を使用して、構成証明用のリモート エンクレーブのネットワークを作成します。 ノードは Azure Intel SGX 仮想マシン上で動作でき、エンクレーブ インフラストラクチャを活用することができます。 ブロックチェーンのユーザーは、構成証明プロトコルを通じて 1 つの CCF ノードの整合性を検証し、実質上、ネットワーク全体を検証することができます。
CCF では、すべてのネットワーク ノードにわたってレプリケートされるキー値ストアに記録された変更によって分散台帳が成り立っています。 それらの各ノードでは、ブロックチェーンのユーザーが TLS 経由でトリガーできるトランザクション エンジンが稼働します。 エンドポイントをトリガーすると、キー値ストアが変化します。 暗号化された変更は、分散台帳に記録される前に、複数のノードの合意を得て合意形成されなければなりません。
Kubeflow 用 Intel® Cloud Optimization モジュール
Kubeflow 用 Intel® Cloud Optimization モジュールは、XGBoost を使用して最適化された機械学習 Kubeflow パイプラインを提供し、債務不履行の確率を予測します。 参照アーキテクチャでは、Azure Kubernetes Services (AKS) クラスター上のセキュリティで保護された機密性の高いIntel® Software Guard Extensions 仮想マシンを活用します。 また、XGBoost 用 Intel® optimizations と Intel® daal4py を使用して、完全なエンドツーエンドの機械学習パイプラインでモデルのトレーニングと推論を高速化することもできます。