暗号化とAWS KMSを理解する
保存時暗号化と通信時暗号化を分け、AWS KMSが何を管理するのかを身近なファイル保護から学びます。
この単元で学ぶこと
- 暗号化とアクセス管理・バックアップを区別する
- KMSキーの管理主体とデータキーを説明する
- 鍵の更新と削除の影響を判断する
本文解説
1. 読める情報を限定する 暗号化は平文を、鍵なしには内容を読み取りにくい暗号文へ変換する処理です。例えば顧客一覧の保存ファイルを暗号化しても、正規のアプリが復号した一覧を誰に表示するかは別問題です。暗号化とアクセス権限を組み合わせて機密性を守ります。
2. 保存中と移動中 ディスクやオブジェクトに残るデータの保護を保存時暗号化、クライアントからサーバーへ送る通信の保護を通信時暗号化と呼びます。HTTPSはTLSを使う通信の例です。S3の保存時暗号化を設定しただけで、アプリの全通信がHTTPSへ変更されるわけではありません。
3. KMSの役割 AWS KMSは暗号化キーと、その利用権限・暗号操作を管理するサービスです。対応するAWSサービスの保存時暗号化にも使われます。データそのものを保管するS3や、DBのパスワードを管理するSecrets Managerとは役割が異なります。KMSを選んだ後も保管先の設計は必要です。
4. 三つの管理主体 カスタマー管理キーは利用者がポリシーや有効・無効、削除等を管理します。AWS管理キーは利用者のアカウント内にありますがAWSサービスが管理し、利用者がポリシーを自由に変えることはできません。AWS所有キーはAWS側のアカウントにあり、利用者がキーを直接管理・監査する対象ではありません。
5. 二段階でデータを守る 大きなファイルにはデータキーで暗号化し、そのデータキーをKMSキーで暗号化するエンベロープ暗号化を使えます。封筒の中の鍵を別の鍵で守る構造です。暗号文と暗号化したデータキーを保管し、平文のデータキーは必要な処理後にメモリから除去します。
6. 誰が鍵を使うか キーポリシーはKMSキーの利用を制御する資源側の規則です。業務アプリには必要な暗号操作、管理担当には必要な管理操作を与えるなど、役割を分けられます。対応するキーの利用はCloudTrailで監査できます。AWS所有キーまで同じように利用者が監査できると考えないことが大切です。
7. 更新しても昔の資料を読む AWS_KMS由来の対称カスタマー管理キーでは自動ローテーションを設定できます。同じキーIDの中で鍵素材を更新し、以前の暗号文には旧素材を使います。既存ファイル全部を書き直す機能ではなく、漏えいしたデータキーをそのまま安全に戻す機能でもありません。
8. 削除は復元可能性に関わる 必要なKMSキーを削除すると、それに依存する暗号文を復号できなくなる可能性があります。同名のエイリアスを作り直しても鍵素材は戻りません。バックアップデータも鍵に依存するので、データの保存期間と鍵の保存・権限を合わせて確認します。暗号化はバックアップの代わりにはなりません。
図解
重要ポイント
- 保存時と通信時の暗号化は別に確認する。
- キーの管理主体で利用者の制御範囲が異なる。
- ローテーションとデータ再暗号化・キー削除を区別する。
間違えやすい点
- 暗号化を権限管理やバックアップの代用にする。
- データキーと対称KMSキーを同じ取り出し方だと思う。
用語解説
- 平文
- 暗号化前、または復号後の読める情報。
- データキー
- ファイル等を直接暗号化するためのキー。
- エンベロープ暗号化
- データをデータキーで暗号化し、そのキーを別のキーで保護する方式。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
- https://docs.aws.amazon.com/aws-certification/latest/cloud-practitioner-02/cloud-practitioner-02.html
- https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html
- https://docs.aws.amazon.com/kms/latest/developerguide/data-keys.html
- https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
- https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
- https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
確認問題の出題・採点や学習履歴の保存にはログインが必要です。