■AWS KMS Black Belt
AWS Black Belt Online Seminar AWS Key Management Service (KMS) from Amazon Web Services Japan
■分かりやすい解説
10分でわかる!Key Management Serviceの仕組み #cmdevio
https://dev.classmethod.jp/articles/10minutes-kms/
※図解且つシンプルな解説で分かりやすい。
■AWS KMS の特徴
- AWS Key Management Service (KMS) を使用することで、暗号化キーを簡単に作成して管理し、幅広い AWS のサービスやアプリケーションでの使用を制御できるようになります。
- 各アカウントで自動的に作成される AWS 管理のマスターキーを利用できます。
- AWS 管理のマスターキーを使用したくない場合(アカウント間またはサービス間でキーのアクセスを共有する機能など、キーの管理を完全にコントロールしたい場合)は、AWS KMS に独自のカスタマーマスターキー (CMK) を作成できます。
- ユーザー独自のアプリケーション内で、直接作成した CMK を使用することもできます。
- カスタマーマスターキー(CMK)はデータ暗号化キーを制御することができます。
- データキーは、大量のデータや他のデータ暗号化キーといったデータを暗号化するための暗号化キーです。
- CMK には 3 つのタイプ(カスタマー管理 CMK、AWS 管理 CMK、AWS 所有 CMK)があります。カスタマーマスターキー(CMK)をクライアント側で管理することも可能です。
- KMS を利用して RDS、EC2 インスタンス、S3、Redshift などのデータを保護することができます。
■AWS KMSが利用できる対象サービス
- AWS KMS は、ほとんどの AWS のサービスとシームレスに統合されています。
■AWS KMSが利用できる対象サービスに入っていないサービス
- EC2 インスタンス
- Route53
■AWS マネジメントコンソールの KMS のメニュー
- AWS マネージド型キー
- カスタマー管理型のキー
- カスタムキーストア
サーバ側暗号化とクライアント側暗号化がある
- サーバ側暗号化(SSE-S3、SSE-KMS、SSE-C)
- クライアント側暗号化(CSE-KMS、CSE-C)
クライアント側暗号化の何が嬉しいかというと「Amazon S3 に送信する前にデータを暗号化できる」ことです。
クライアント側の暗号化を使用したデータの保護
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/UsingClientSideEncryption.html
その一方、サーバ側暗号化は「送信先でデータを暗号化する」ことを言います。
Amazon S3 は、データセンターのディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、クライアントがデータにアクセスするときに復号します。
その為、例えば会社のPCからS3バケットへファイルをアップロードするとか保存する場合は、サーバ側の暗号化だけでなく、クライアント側の暗号化もするとよりセキュリティが高まります。
暗号化キーとは何か?
そもそも暗号化キーとは何でしょうか。
公開鍵認証基盤の秘密鍵と公開鍵をイメージすればいいのでしょうか?
それとも共通鍵をイメージすればいいのでしょうか?
KMS は、「対称キー」と「非対称キー」のどちらも提供しています。
なのでどちらをイメージしても間違いではありません。
対称キーと非対称キーの使用
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/symmetric-asymmetric.html
AWS KMS は、対称および非対称 CMK をサポートしています。
-
対称 CMK: AWS KMS が暗号化されていないままにならない単一の 256 ビットのシークレット暗号化キーを表します。シンメトリック CMK を使用するには、AWS KMS を呼び出す必要があります。
-
非対称 CMK: 暗号化か復号、または署名か検証には使用できますが、両方は使用できない、数学的に関連するパブリックキーとプライベートキーペアを表します。プライベートキーによって AWS KMS が暗号化されていないままになることはありません。
コメント