AWS の暗号化とデータ主権 - KMS から Nitro Enclaves までハードウェアレベルの分離を実現
AWS KMS、CloudHSM、Nitro Enclaves によるハードウェアレベルの暗号化とデータ主権の確保を解説し、他社クラウドとの設計差異を比較します。
暗号化の階層構造という設計原則
AWS の暗号化戦略は、用途と要件に応じて選択できる階層構造として設計されています。最も手軽な層は AWS マネージドキーによるサーバーサイド暗号化で、S3、EBS、RDS などの主要サービスでデフォルト暗号化が有効になっています。利用者は暗号化を意識することなく、保存データが自動的に AES-256 で暗号化されます。次の層が KMS (Key Management Service) のカスタマーマネージドキーです。鍵のローテーションポリシー、利用ログの監査、IAM ポリシーによるアクセス制御を自社で管理できます。さらに厳格な要件には CloudHSM が対応し、FIPS 140-2 レベル 3 認証を取得した専用ハードウェアで鍵を管理します。最上位の層が Nitro Enclaves で、処理中のデータまでハードウェアレベルで隔離します。この階層構造により、規制要件やセキュリティポリシーに応じた最適な暗号化レベルを選択できます。
KMS の設計とエンベロープ暗号化
AWS KMS はエンベロープ暗号化という手法を採用しています。データ自体はデータキー (DEK) で暗号化し、そのデータキーをマスターキー (CMK) で暗号化するという二重構造です。この設計には明確な理由があります。大量のデータを直接マスターキーで暗号化すると、マスターキーの露出リスクが高まり、鍵のローテーション時に全データの再暗号化が必要になります。エンベロープ暗号化では、マスターキーのローテーション時にデータキーの再暗号化だけで済み、データ本体の再暗号化は不要です。KMS のマスターキーは HSM (Hardware Security Module) 内で生成・保管され、平文の状態で HSM の外に出ることはありません。すべての鍵の使用は CloudTrail に記録されるため、誰がいつどの鍵を使ったかを完全に追跡できます。マルチリージョンキーを使えば、リージョン間でのデータ複製時にも暗号化を維持しつつ、各リージョンのローカルキーで復号できます。
CloudHSM による専用ハードウェア鍵管理
CloudHSM は FIPS 140-2 レベル 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 はこの課題に対する AWS 独自のソリューションです。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 として提供されており、FIPS 140-2 レベル 3 認証を取得しています。暗号化とデータ主権の実務を深く学ぶなら、関連書籍 (Amazon) も参考になります。
まとめ
AWS の暗号化戦略は、マネージドキーによる自動暗号化から KMS のカスタマーマネージドキー、CloudHSM の専用ハードウェア、Nitro Enclaves の処理中データ保護まで、要件に応じた階層構造を提供しています。エンベロープ暗号化による効率的な鍵管理、CloudTrail による鍵使用の完全な監査証跡、Nitro Hypervisor によるハードウェアレベルの分離は、データ主権を確保するための技術的基盤です。Azure の Confidential Computing は VM 全体の暗号化で先行していますが、AWS は Nitro Enclaves による柔軟な分離と CloudHSM による完全な鍵所有権で差別化しています。データの保存、転送、処理のすべての段階で暗号化を適用し、鍵の管理権限を自社に留めることが、クラウド時代のデータ主権の実現につながります。