アプリケーション エンクレーブの開発

Azure Confidential Computing を使用すると、Intel Software Guard Extensions (SGX) を実行する仮想マシン (VM) 用のアプリケーション エンクレーブを作成できます。 開発を開始する前に、関連するツールとソフトウェアについて理解しておくことが重要です。

Note

Intel SGX VM とエンクレーブの概要に関するページをまだ読んでいない場合は、続行する前にお読みください。

アプリケーション エンクレーブ

アプリケーション エンクレーブは、特定のコードとデータを保護する分離された環境です。 エンクレーブを作成するときは、アプリケーションのどの部分がエンクレーブ内で実行されるかを決定する必要があります。 エンクレーブを作成または管理する場合は、選択したデプロイ スタックに応じた互換性のある SDK とフレームワークを使用してください。

Intel SGX が有効になっているコンフィデンシャル VM を使用して、アプリケーション エンクレーブを開発およびデプロイできます。

アプリケーションの開発

エンクレーブを使用して構築されたアプリケーションには、2 つのパーティションがあります。

ホストは、"信頼されていない" コンポーネントです。 エンクレーブ アプリケーションはホスト上で実行されます。 ホストは信頼されていない環境です。 ホストにエンクレーブ コードをデプロイすると、ホストからそのコードにはアクセスできません。

エンクレーブは、"信頼された" コンポーネントです。 アプリケーション コードと、キャッシュされたそのデータおよびメモリはエンクレーブ内で実行されます。 エンクレーブ環境を使用すると、シークレットと機密データが保護されます。 セキュリティで保護された計算がエンクレーブ内で行われるようにします。

Diagram of an application, showing the host and enclave partitions. Inside the enclave are the data and application code components.

エンクレーブおよび分離された環境の利点を活用するには、コンフィデンシャル コンピューティングをサポートするツールを使用します。 さまざまなツールでエンクレーブ アプリケーション開発がサポートされています。 たとえば、次のオープンソース フレームワークを使用できます。

アプリケーションを設計するときに、エンクレーブで実行する必要のある部分を特定して決定します。 信頼されたコンポーネントのコードは、アプリケーションの他の部分から分離されています。 エンクレーブが初期化され、コードがメモリに読み込まれると、信頼されていないコンポーネントはそのコードを読み取りまたは変更できなくなります。

次のステップ