AWS の暗号化とデータ主権 - KMS から Nitro Enclaves までハードウェアレベルの分離を実現

AWS KMS、CloudHSM、Nitro Enclaves によるハードウェアレベルの暗号化とデータ主権の確保を解説し、他社クラウドとの設計差異を比較します。

暗号化の階層構造という設計原則

AWS の暗号化戦略は、用途と要件に応じて選択できる階層構造として設計されています。最初の層は AWS マネージドキーによるサーバーサイド暗号化で、S3、EBS、RDS などのサービスが対応しています。この層では、鍵の管理を利用者が行わず、対応するサービスと設定に応じて保存データが暗号化されます。次の層が KMS (Key Management Service) のカスタマーマネージドキーです。鍵のローテーションポリシー、利用ログの監査、IAM ポリシーによるアクセス制御を自社で管理できます。さらに厳格な要件には CloudHSM が対応し、FIPS モードのクラスターでは FIPS 140-2 レベル 3 か FIPS 140-3 レベル 3 の検証を受けた専用ハードウェアで鍵を管理します。最上位の層が Nitro Enclaves で、処理中のデータまでハードウェアレベルで隔離します。この階層構造により、規制要件やセキュリティポリシーに合った暗号化の水準を選べます。

KMS の設計とエンベロープ暗号化

AWS KMS はエンベロープ暗号化という手法を採用しています。データ自体はデータキー (DEK) で暗号化し、そのデータキーを KMS キーで暗号化するという二重構造です。この設計には明確な理由があります。大量のデータを直接 KMS キーで暗号化すると、KMS キーの露出リスクが高まり、鍵のローテーション時に全データの再暗号化が必要になります。エンベロープ暗号化では、KMS キーのローテーション時にデータキーの再暗号化だけで済み、データ本体の再暗号化は不要です。KMS キーは FIPS 140-3 セキュリティレベル 3 の検証を受けた HSM (Hardware Security Module) で保護され、暗号化されていない状態で AWS KMS の外に出ることはありません。鍵の使用は CloudTrail に記録され、誰がいつどの鍵を使ったかを追跡できます。マルチリージョンキーを使えば、リージョン間でのデータ複製時にも暗号化を維持しつつ、各リージョンのローカルキーで復号できます。

CloudHSM による専用ハードウェア鍵管理

CloudHSM は、FIPS モードのクラスターでは FIPS 140-2 レベル 3 か FIPS 140-3 レベル 3 の検証を受けた専用の HSM アプライアンスを VPC 内に提供するサービスです。KMS との違いは、使うアルゴリズムと鍵を利用者が管理する点です。KMS では AWS のマネージドサービスで鍵を作成して管理しますが、CloudHSM ではデータプレーンがエンドツーエンドで暗号化され、AWS からは見えません。HSM の管理者認証情報は顧客のみが保持し、AWS は物理的なハードウェアの運用のみを担当します。この分離は、金融規制や政府機関の要件で「クラウドプロバイダーが鍵にアクセスできない状態」が求められる場合に不可欠です。CloudHSM クラスターは複数の AZ にまたがって構成でき、HSM 間で鍵が自動同期されるため、可用性の高い構成になります。PKCS#11、JCE、CNG といった業界標準の API をサポートしており、既存のオンプレミス HSM からの移行も比較的容易です。Oracle TDE や Microsoft SQL Server の透過的データ暗号化の鍵管理にも CloudHSM を利用できます。

Nitro Enclaves - 処理中データのハードウェア分離

従来の暗号化は保存時 (at rest) と転送時 (in transit) のデータを保護しますが、処理時 (in use) のデータは復号された状態でメモリ上に存在するため、保護が困難でした。Nitro Enclaves はこの課題に対する Amazon EC2 の機能です。Nitro Enclaves は EC2 インスタンス内に隔離された仮想マシンを作成し、親インスタンスからもアクセスできない独立した CPU とメモリ空間を提供します。Enclave には永続的なストレージ、対話型のアクセス、外部ネットワークがありません。親インスタンスの root ユーザーであっても Enclave 内のデータにアクセスすることは不可能です。この隔離は Nitro Hypervisor が担います。KMS と Nitro Enclaves を組み合わせることで、暗号化された鍵を Enclave 内でのみ復号し、機密データの処理を Enclave 内で完結させるアーキテクチャが構築できます。医療データの分析、金融取引の処理、個人情報の照合など、処理中のデータ保護が求められるユースケースに適しています。

データ主権と他社クラウドとの比較

データ主権 (Data Sovereignty) とは、データが物理的に存在する国の法律に従ってデータが管理されるべきという原則です。AWS はリージョン選択によるデータの地理的制御、KMS と CloudHSM による暗号鍵の顧客管理、Nitro Enclaves による処理中データの保護を組み合わせて、データ主権の要件に対応する仕組みを提供しています。Azure は Confidential Computing として AMD SEV-SNP ベースの機密 VM を提供しています。Azure の機密 VM は VM 全体をハードウェアレベルで暗号化するアプローチで、アプリケーションの改修は要りません。一方、Nitro Enclaves はアプリケーションの一部を Enclave に分離する設計で、保護対象を最小限に絞れる柔軟性があります。GCP は Confidential VMs と Confidential GKE Nodes を提供しており、AWS の CloudHSM に相当する専用 HSM サービスとして Cloud HSM もあります。

まとめ

AWS の暗号化戦略は、マネージドキーによる暗号化から KMS のカスタマーマネージドキー、CloudHSM の専用ハードウェア、Nitro Enclaves の処理中データ保護まで、要件に応じた階層構造を提供しています。エンベロープ暗号化による効率的な鍵管理、CloudTrail による鍵の使用の記録、Nitro Hypervisor によるハードウェアレベルの分離は、データ主権を確保するための技術的基盤です。Azure の Confidential Computing は VM 全体を暗号化する方式で、AWS は Nitro Enclaves による分離と CloudHSM による鍵の管理を提供しています。データの保存、転送、処理の各段階で暗号化を適用し、鍵の管理権限を自社に留めることが、クラウド時代のデータ主権の実現につながります。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する