MENU

AWS KMS — クラウド全体を支える鍵管理サービス

AWS KMS アイキャッチ
AWS KMS

AWS KMS(Key Management Service)は、AWSが2014年11月のre:Inventで発表した鍵管理サービスで、暗号鍵の生成・保管・利用・ローテーション・破棄をマネージドに扱える基盤です。S3・EBS・RDS・Secrets Manager・Lambda・DynamoDBなど、AWSのほとんどのサービスが内部で暗号化に使う標準的な鍵基盤として組み込まれており、エンベロープ暗号化と呼ばれる2段階の鍵階層によりスケーラブルな大量暗号化を実現しています。FIPS 140-2 Level 2/3認定を受けたハードウェアセキュリティモジュール(HSM)の上に構築されており、CMK(Customer Master Key、現在の用語ではKMSキー)が物理的に外部に出ることはありません。

目次

この記事の目次

  1. エンベロープ暗号化とCMKの構造
  2. 2014年公開とAWSサービス標準化の歩み
  3. AWS各サービスでの実用例
  4. CloudHSM・自前OpenPGPとの比較
  5. まとめ

エンベロープ暗号化とCMKの構造

エンベロープ暗号化とCMKの構造

KMSの中心概念は「KMSキー(旧Customer Master Key, CMK)」と「データキー」の二段構造による「エンベロープ暗号化」です。KMSキーはHSM内で生成・保管され、決して外部に出ない鍵で、用途は「データキーを暗号化する」ことに限定されます。実際のデータ暗号化には別途生成されるデータキー(AES-256)を使い、データキー自体はKMSキーで暗号化された状態(暗号化データキー)でデータと一緒に保存します。

復号時は、暗号化データキーをKMSに渡してDecrypt APIを呼び、HSM内でKMSキーを使って平文データキーを取り出します。得られた平文データキーで実データを復号する流れです。このエンベロープ方式により、大量データの暗号化でもKMSのAPI呼び出し回数を抑えられ、コストとレイテンシを大きく削減できます。KMSキーには「AWS管理キー」「カスタマー管理キー」「AWS所有キー」の3種類があり、ローテーションポリシーや権限管理の粒度が異なります。

2014年公開とAWSサービス標準化の歩み

2014年公開とAWSサービス標準化の歩み

KMSは2014年11月のre:Inventで発表されました。それ以前のAWSではCloudHSMが存在しましたが、ハードウェアを丸ごと専有する形で価格が高く、利用するハードルが高かったため、より気軽に使えるマネージド鍵管理基盤としてKMSが投入されました。発表と同時にS3・EBS・RDS・Redshiftなどへの統合が開始され、AWS全体の標準鍵基盤として急速に普及しました。

2018年にはCloudHSMとKMSを連携させるカスタムキーストア機能が登場し、専有HSMの鍵を使いつつKMSのAPI体験を享受する構成が可能になります。2020年にはマルチリージョン・キーが追加され、同一鍵IDで複数リージョンに鍵レプリカを持てるようになり、DR構成での暗号化データ移行が簡素化されました。2024年以降は耐量子暗号アルゴリズム(ML-KEMなど)の段階的サポートに向けた取り組みが進められており、将来の暗号資産移行を見据えた進化が続いています。

AWS各サービスでの実用例

AWS各サービスでの実用例

S3バケットのSSE-KMS(サーバサイド暗号化)はKMSの最も典型的な利用例で、バケットに保存されるオブジェクトはKMSキーで暗号化されたデータキーを介して保護されます。EBSボリュームも作成時にKMSキーを指定するだけで暗号化され、スナップショットやAMIにも自動で暗号化が引き継がれます。RDS・Auroraも透過的暗号化(TDE相当)をKMS経由で実現しており、運用者が暗号化を意識せずデータを保護できます。

Secrets ManagerはKMSキーで暗号化したシークレットを保管し、GetSecretValue API呼び出しのたびにKMSのDecryptを内部で呼びます。Lambdaの環境変数もKMSキーで暗号化でき、コンソール上では平文表示されつつ実体は保護される仕組みになっています。DynamoDB・SQS・SNS・KinesisなどメッセージングサービスもKMS暗号化に対応しており、AWS全体の暗号化基盤として「鍵を意識しなくても安全」が標準になっています。

CloudHSM・自前OpenPGPとの比較

CloudHSM・自前OpenPGPとの比較

CloudHSMは1テナント専有のHSMで、FIPS 140-2 Level 3認定や独自鍵生成、暗号化処理のオフロードに使えます。金融・政府系などコンプライアンス要件の厳しい現場では選ばれますが、月額固定でコストが高く、運用負担も増えるため、一般的なシステムではKMSの方が圧倒的に選ばれます。自前でOpenPGPやAES鍵を管理する方式は柔軟ですが、鍵の保管・ローテーション・配布・監査を全て自前で運用する必要があり、現代のクラウドネイティブ運用では非現実的です。

Azure Key VaultやGCP KMSもクラウド大手3社の鍵管理サービスとして同等の機能を持ち、各クラウドでの位置付けはほぼ揃っています。AWS環境ではKMSが「IAMで権限制御し、AWSサービス全体に組み込まれた標準鍵基盤」として確固たる地位を持ち、Secrets Manager・S3・EBS・RDSなどの裏側で常時動いている存在になっています。

まとめ

AWS KMSは2014年提供開始の鍵管理サービスで、HSM上のKMSキーとエンベロープ暗号化を組み合わせた二段鍵階層が中心です。S3・EBS・RDS・Secrets ManagerなどAWS全サービスの暗号化基盤として組み込まれ、IAM統合と従量課金で「鍵管理を意識しない安全」を実現しています。マルチリージョン・キーや量子耐性対応への進化も続き、AWS環境のセキュリティ基盤として長期にわたり中核を担い続ける存在です。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次