KMS(鍵管理サービス) けーえむえす
簡単に言うとこんな感じ!
KMSは「暗号化の鍵をまとめて安全に管理してくれるサービス」だよ!データを金庫に入れるとき、鍵そのものをどこに置くかが問題になるよね。KMSはその”鍵の保管場所”を専門に引き受けてくれるクラウドの仕組みなんだ!
KMSとは
KMS(Key Management Service) とは、データの暗号化・復号に使う「暗号鍵」を安全に生成・保管・管理・廃棄するためのサービスです。AWS・Google Cloud・Azure などの主要クラウドプロバイダーが提供しており、システム全体の暗号化戦略の中核を担います。
暗号化はデータを守る強力な手段ですが、「暗号鍵そのものをどこに安全に置くか」という問題が常に付きまとします。鍵がデータと同じ場所に置かれていては意味がありません。KMSはこの問題を解決するために設計されており、鍵の保管・アクセス制御・監査ログをワンストップで提供します。
情シス担当者や開発者がKMSを利用することで、暗号鍵を自前のサーバーで管理するリスクや手間を大幅に削減できます。コンプライアンス対応(PCI DSSやHIPAAなど)の観点からも、鍵管理の証跡を自動的に残せる点が高く評価されています。
KMSの仕組み・構造
KMSの中心にあるのが CMK(Customer Master Key / カスタマー管理キー) と呼ばれる”親鍵”の概念です。実際のデータを直接暗号化するのではなく、エンベロープ暗号化という二重構造で保護します。
エンベロープ暗号化の流れ
| ステップ | 処理内容 | 使われる鍵 |
|---|---|---|
| ① データキー生成 | KMSがランダムな”データキー”を生成 | CMK(親鍵) |
| ② データ暗号化 | アプリがデータキーでデータを暗号化 | データキー |
| ③ データキー暗号化 | データキー自体をCMKで暗号化 | CMK(親鍵) |
| ④ 保管 | 暗号化済みデータ+暗号化済みデータキーをセットで保存 | — |
| ⑤ 復号時 | KMSがCMKでデータキーを復号→データキーでデータを復号 | CMK(親鍵) |
ポイント:CMK(親鍵)はKMSの外に出ることがないため、仮にデータが漏洩してもCMKがなければ復号できません。
覚え方:「鍵の鍵」方式
「金庫(データ)の鍵(データキー)を、さらに別の金庫(KMS)に預ける」イメージ。
二重に施錠されているから、どちらか一方が破られても安全!
KMSの主な機能分類
| 機能 | 説明 |
|---|---|
| 鍵の生成 | HSM(専用ハードウェア)を使って安全な乱数で鍵を生成 |
| 鍵のローテーション | 定期的に鍵を自動更新してリスクを低減 |
| アクセス制御 | IAMポリシーと連携し「誰が鍵を使えるか」を細かく設定 |
| 監査ログ | CloudTrail等と連携し、鍵の使用履歴をすべて記録 |
| 鍵の無効化・削除 | 不要になった鍵を安全に廃棄(削除前に待機期間を設定可) |
歴史と背景
- 2006年頃〜 — クラウドサービスの普及に伴い、顧客データの暗号化が求められるようになる。しかし鍵管理は各社バラバラで標準化されていなかった
- 2014年 — AWS KMS が一般提供開始。クラウドネイティブな鍵管理サービスとして業界標準となる。HSMベースの安全な設計が注目される
- 2015年〜 — Google Cloud KMS、Azure Key Vault など各社が相次いでKMSを提供開始
- 2017年頃〜 — GDPR(EU一般データ保護規則)の施行準備が加速し、「どこで・誰が鍵を管理するか」が法的要件として明確化。KMS導入が急増
- 2020年〜 — BYOK(Bring Your Own Key) や HYOK(Hold Your Own Key) の概念が広がり、顧客が自分で生成した鍵をKMSにインポートする運用も一般化
- 現在 — ゼロトラストセキュリティのフレームワークにおいて、KMSは「データセキュリティの基盤」として必須コンポーネントに位置づけられている
主要クラウドのKMS比較と構造
各クラウドプロバイダーのKMSサービスはほぼ同等の機能を持ちますが、名称や細部が異なります。
| 比較項目 | AWS KMS | Google Cloud KMS | Azure Key Vault |
|---|---|---|---|
| サービス名 | AWS KMS | Cloud KMS | Key Vault |
| 鍵の種類 | 対称/非対称/HMAC | 対称/非対称/MAC | キー/シークレット/証明書 |
| HSMオプション | AWS CloudHSM | Cloud HSM | Managed HSM |
| BYOK対応 | ✅ | ✅ | ✅ |
| 自動ローテーション | ✅(1年ごと) | ✅(設定可) | ✅(設定可) |
| 監査ログ | CloudTrail | Cloud Audit Logs | Azure Monitor |
KMSの位置づけ(全体アーキテクチャ)
BYOK(Bring Your Own Key)とは
BYOK とは、クラウド事業者が生成した鍵を使うのではなく、顧客が自分で生成した暗号鍵をKMSにインポートして使う仕組みです。金融・医療・官公庁など、規制が厳しい業界で「鍵の所有権を自社で持ちたい」というニーズから普及しました。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 5652 | Cryptographic Message Syntax (CMS) — 暗号化メッセージの構造規格 |
| RFC 3394 | AES Key Wrap アルゴリズム — エンベロープ暗号化で使われる鍵ラップ方式 |
| RFC 5958 | Asymmetric Key Packages — 非対称鍵のパッケージ形式 |
| FIPS 140-2 | 暗号モジュールのセキュリティ要件(KMSのHSMが準拠する米国標準) |
関連用語
- 暗号化 — データを第三者が読めない形式に変換する技術の総称
- IAM(Identity and Access Management) — 誰がどのリソースにアクセスできるかを管理する仕組み
- HSM(Hardware Security Module) — 暗号鍵を物理的に保護する専用ハードウェアデバイス
- ゼロトラスト — 「社内だから安全」を前提にしないセキュリティモデル
- BYOK(Bring Your Own Key) — 顧客が自分で生成した鍵をクラウドに持ち込む運用方式
- 証明書管理 — TLS証明書など公開鍵基盤(PKI)の証明書を管理する仕組み
- コンプライアンス — 法令・規制・業界標準への準拠を管理する取り組み
- CloudTrail — AWSにおける操作ログ・監査ログの記録サービス