---
title: KMS暗号化の仕組みを分かりやすく解説する
tags:  #aws #kms #資格  
author: [pero](https://www.docswell.com/user/pero_nw)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/LJL9W6PM7R.jpg?width=480
description: KMSの仕組みがややこしくて、難解でしたので、なるべく図を使い用語をひも解き、解説してみました！！
published: October 01, 22
canonical: https://www.docswell.com/s/pero_nw/K6P3EZ-2022-10-01-185536
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/LJL9W6PM7R.jpg)

暗号化の仕組みを分かりや
すく解説する
KMS
⽇
作成
技術
タグ
最終
更新
参考
@2022/09/29
AWS
KMS
@October 1, 2022 6:54 PM
https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/overview.h
Property
Twitter
https://twitter.com/pero_nw
１．概要
の内容について、⽤語の解説や複数のKMSキ
ータイプについてそれぞれどのような違いがあるのか、暗号化・復号化の流れにつ
いて本稿でひも解いていき、わかりにくいKMSの概念や仕組みを解説していきま
す。
AWS key Management Service (KMS)
２．⽤語解説
は、データの保護に使⽤される暗号化キーの作成と制御を容易にするマネ
ージドサービスです。
KMSを利⽤する利点の⼀つに、AWS Cloudtrailとも統合されている点が挙げら
れます。これにより監査、規制、コンプライアンスのニーズに応じて KMSキー
の使⽤をログに記録します。
KMS
KMS
暗号化の仕組みを分かりやすく解説する
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/47MZ9546JW.jpg)

を利⽤することで、KMS側のキーポリシーによる暗号化対象データの保護
KMS
や
いつ、だれが、どのリソースに対してアクセスしたかの証跡を取る事ができま
す。
KMSには⼤きく分けて、以下の３つのKMSキータイプがあります。
1. カスタマーマネージドキー
2. AWSマネージドキー
3. AWS所有のキー
まずは、こちらについて解説します。
1. カスタマーマネージドキー
KMS管理コンソールにアクセスし、作成する KMS キーはこのカスタマーマネ
ージドキーです。
カスタマーマネージドキーはユーザーが作成、所有、および管理できます(カス
タマーがマネージドできる)。下図の⻩⾊⽂字の部分
これらの KMS キーは、キーポリシー、keyの有効化/無効化、暗号化マテリアル
のローテーション
エイリアスの作成、キー削除のスケジューリングなどを設定できます。
まとめると以下の事が管理可能です。
KMS
暗号化の仕組みを分かりやすく解説する
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/P7R6G3WNE9.jpg)

キーメタデータを表⽰可能
KMSキーを管理可能
⾃動ローテーション（オプション 約365⽇）
2. AWSマネージドキー
AWSと統合されているAWS KMSがユーザに代わってキーを作成し、管理・使
⽤してサービスのリソースを保護します。
例えば、EBSでKMS暗号化を有効化すると以下のようなエイリアス名を持つ
KMSキーが⾃動で作成されます。
KMS
aws/ebs
このキーは、ユーザがキーポリシーや暗号化マテリアルのローテーションなど
キーの管理はできません。
まとめると以下となります。
KMSキーメタデータを表⽰可能
KMSキー管理が不可能
⾃動ローテーション（必須 約365⽇※１: SCSの資格試験では、３年となる
可能性あり）
所有のキー
KMSコンソール内では確認できません。AWS のサービスに関連付けられた
AWS 所有のキー を使⽤してアカウント内のリソースを保護できます。
3. AWS
KMS
暗号化の仕組みを分かりやすく解説する
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/PJXMX4P8EX.jpg)

たとえば、AWS RDSはデフォルトでデータを保護しています。この時使⽤され
る暗号キータイプがこのAWS所有のキーとなります。
AWS所有のキーは、ユーザから確認不可となり、設定変更や管理もできませ
ん。
まとめると以下となります。
KMSキーメタデータの表⽰は不可能
KMSキー管理が不可能
⾃動ローテーション（可変）
CMKとCDK
KMSを語る上で、必ず登場する⽤語がCMKとCDKになります。
CMKは、Customer Master Keyの略で、主にデータキー（CDK）を暗号化する
キーとして使⽤されます。
KMSで管理されているキー（上記で紹介したKMSキー）がCMKとなります。
は、Customer Data Keyの略で、実際のデータを暗号化するためのキーで
CDK
す。
の内部で異なるキーが⾃動的に発⾏されます。
KMSが、データキーを使⽤してデータを暗号化することはありません。
OpenSSLかAWS Encryption SDKのような暗号化ライブラリを使⽤すること
で、データキーを使いデータを暗号化します。
暗号化の流れ
KMS
1. CMK
KMS
を作成する。
暗号化の仕組みを分かりやすく解説する
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/3JKGWZDL7D.jpg)

2. GenerateDataKey
オペレーションを呼び出し、KMSがデータキーを⽣成し
ます。
ユーザが指定する対称暗号化CMKキーのデータキーのコピーを暗号化し、
EC2に返します。
3. EC2はEBSをPlainDataKeyを使い、EBSを暗号化します。
4. PlainDataKeyを破棄します。
復号化の流れ
オペレーションに暗号化されたデータキーをKMSに渡します。
2. KMSはCMKを使⽤し暗号化されたCDKを復号します。
3. 復号したPlainDataKeyをEC2に渡します。
4. EC2は暗号化されたEBSをPlainDataKeyを使い復号します。
暗号化⽅式
AWSでは、暗号化する場所（サーバ/クライアント）と暗号化のキーをどこで管
理するかでいくつか種類があります。具体的には、
暗号化する場所：
サーバーサイド暗号化（Server Side Encryption）
クライアントサイド暗号化（Client Side Encryption）
キーを管理する場所：
KMS、S3、クライアント端末（Client）
1. Decrypt
たとえば、サーバサイドで暗号化し、キーの管理がKMSであるなら、暗号化⽅
式の名称は頭⽂字をとり、SSE-KMS となります。
KMS
暗号化の仕組みを分かりやすく解説する
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LE3N1DR6E5.jpg)

他も挙げると、SSE-S3, SSE-C, CSE-KMS, CSE-Cがあります。
キーマテリアル
CMKを作成する際に使⽤されるキーの元となるデータです。
キーマテリアルの作成元をキーマテリアルのオリジンといい、主に３つ存在し
ます。
1. AWS_KMS：デフォルトの作成元。AWS KMSがキーマテリアルを作成
し管理します。
2. EXTERNAL：キーマテリアルをユーザが作成します。キーマテリアルは
外部で作成され、インポートされたキーマテリアルを使⽤し、CMKキー
を作成します。
※CMK作成するとき、CMKキーにはキーマテリアルはありません。
3. AWS_CLOUDHSM：CloudHSMクラスターでCMKキーのキーマテリア
ルを作成します。
以上、KMSでよく使われる⽤語や概念についてお伝えしました。
次回は、外部キーマテリアルの作成からインポートまで解説していきます！
⽇々、Twitterにて検証を通してAWSなどネットワーク全般の情報を発信してますの
で、フォロー頂けたら幸いです！
JavaScript is not available.
https://twitter.com/pero_nw
KMS
暗号化の仕組みを分かりやすく解説する
6


