AWS Nitro Enclaves のアイコン

AWS Nitro Enclaves

EC2 インスタンス内に隔離された実行環境を作成し、機密データを安全に処理するサービス

何ができるか

AWS Nitro Enclaves は、EC2 インスタンス内に完全に隔離された仮想マシン (エンクレーブ) を作成するサービスです。エンクレーブには永続ストレージ、ネットワークアクセス、インタラクティブアクセスがなく、親インスタンスとの通信は vsock (仮想ソケット) のみに制限されます。KMS との統合で、エンクレーブ内でのみ復号可能な暗号化を実現します。

どのような場面で使うか

個人情報 (PII) の処理、暗号鍵の安全な管理、金融取引データの処理、医療データの分析、マルチパーティ計算に利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

銀行の金庫室に例えられます。金庫室 (エンクレーブ) は外部からのアクセスが完全に遮断され、中の作業 (データ処理) は外から見えません。金庫室への出入り (vsock) は厳密に管理された 1 つの通路のみです。

Nitro Enclaves とは

この記事は約 2 分で読めます。 AWS Nitro Enclaves は、Confidential Computing (機密コンピューティング) を実現するサービスです。エンクレーブは親 EC2 インスタンスの CPU とメモリの一部を分離して作成され、AWS の管理者を含む誰もエンクレーブ内のデータにアクセスできません。暗号化証明 (アテステーション) で、エンクレーブが改ざんされていないことを検証できます。

KMS 統合とアテステーション

KMS のキーポリシーでエンクレーブの PCR (Platform Configuration Register) 値を条件に指定すると、特定のエンクレーブイメージでのみ復号が許可されます。これにより、暗号化されたデータはエンクレーブ内でのみ復号・処理され、親インスタンスや他のプロセスからはアクセスできません。アテステーションドキュメントでエンクレーブの整合性を暗号的に検証します。

はじめかた

Nitro Enclaves 対応の EC2 インスタンスを起動し (起動時にエンクレーブを有効化)、Nitro CLI でエンクレーブイメージ (EIF) をビルドします。EIF をエンクレーブとして起動し、vsock 経由で親インスタンスからデータを送受信します。

Azure・オンプレミスとの比較

Azure の対応サービス Azure Confidential Computing (SGX / SEV-SNP)
オンプレミスでの対応手段 Intel SGX、AMD SEV

AWS の優位点

  • 追加料金なしで EC2 インスタンス内に隔離された実行環境を作成可能
  • KMS との統合で、エンクレーブ内でのみ復号可能な暗号化を実現し、データの機密性を保証
  • アテステーションでエンクレーブの整合性を暗号的に検証し、改ざんを検出

注意点

  • Nitro Enclaves 自体の追加料金はない。エンクレーブに割り当てた CPU とメモリは親インスタンスから差し引かれる
  • エンクレーブにはネットワークアクセスがないため、外部 API の呼び出しは親インスタンス経由で行う必要がある

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。