次の方法で共有


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

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

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

Microsoft Mechanics

アプリケーションの開発

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

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

エンクレーブは"信頼できる" コンポーネントです。 アプリケーション コードとそのキャッシュされたデータとメモリは、エンクレーブで実行されます。 エンクレーブ環境は、シークレットと機密データを保護します。 セキュリティで保護された計算がエンクレーブで発生することを確認します。

ホストパーティションとエンクレーブ パーティションを示すアプリケーションの図。エンクレーブ内には、データおよびアプリケーション コード コンポーネントがあります。

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

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

次のステップ