自由気ままに書いちゃおう

好きなことをつらつらと・・・

【AWS】Key Management Service(その②用語)

前回からの続きです。

■用語

KMSを利用するうえで重要となる用語についてです。

■CMK(Customer Master Key)とCDK(Customer Data Key)

KMSではCMKとCDKという2つの鍵を使用します。
先に2つの鍵を比較した表を載せます。
※不足がある部分もありますが、最初のとっかかりとしては良いかと。

f:id:guri2o1667:20210820163129p:plain

CMKはKMSを利用する際に必ず作成します。
※AWSマネコンから一から作成する方法と、事前に別の方法で作成した鍵をCMKとしてインポートする方法があります。ただしインポートする鍵は256ビットの対象キーである必要があります。

CDKは、CDK作成時にCMKにより暗号化されて生成されます。
実際に暗号化対象のデータを暗号化するのに使用する鍵はCDKです。
※CMKではデータを暗号化しません。
このようにCMKによるデータ暗号ではなく、CMKより暗号化したCDKを使ってデータを暗号化することを「Envelope Encryption」と呼びます。

■キーマテリアル

AWS公式ページにはキーマテリアルという用語が多々でてきます。
キーマテリアルは、「暗号化キーを生成する際に必要になる材料」のことを表しています。
KMSの場合には、「CMK作成時に使用されるデータのこと」と思ってもらえれば大丈夫です。

CMKをAWSマネコンから作成する際、以下の通り「キーマテリアルオリジン」というものを選択する必要があります。
3種類から選択できるのがわかりますが、ここでは詳細は割愛します。
AWS公式ページは以下です。

AWS Key Management Service concepts - AWS Key Management Service

f:id:guri2o1667:20210824105256p:plain

KMSはデフォルトです。
KMSを選択した場合は、CMKのキーマテリアルはAWS独自のキーストアに作成/管理されます。

外部(External)を選択した場合、キーマテリアルがない状態でCMKが生成されます。
そのため、キーマテリアルは後程インポートする(=紐づける)必要があります。
ここでインポートするキーマテリアルは「利用者が作成した任意の共通鍵」を指定することができます。

カスタムキーストア(CloudHSM)を選択した場合、
カスタムキーストアでCMKのキーマテリアルを生成し、それを利用します。

■AWSマネージド型キー

AWS Key Management Service の概念 - AWS Key Management Service
AWSマネコンの左ペインには以下のように3つの項目が存在します。

f:id:guri2o1667:20210824111155p:plain

このうちの、「AWSマネージド型キー」についてです。
AWSマネージド型キーは、作成/管理はAWSが担当します。
また、AWSアカウント固有かつリージョン固有です。
各AWSサービスにて暗号化を有効化すると、自動的に作成されます。
一例は以下の通りです。

f:id:guri2o1667:20210824112542p:plain

これらのマネージド型キーは「キーポリシー」「暗号化設定」の設定項目があります。

f:id:guri2o1667:20210824112628p:plain

「暗号化設定」には以下の情報が載っています。

f:id:guri2o1667:20210824112712p:plain

 

■カスタマー管理型キー

AWS Key Management Service の概念 - AWS Key Management Service
続いて「カスタマー管理型キー」についてです。
こちらは、CMKをユーザが作成した場合に項目が表示されます。
以下は一例です。

f:id:guri2o1667:20210824113741p:plain

AWSマネージド型キーと異なり、「キーポリシー」「暗号化設定」「タグ」「キーローテーション」「エイリアス」というタブがあります。

f:id:guri2o1667:20210824113846p:plain

■カスタマーキーストア

CMKはデフォルトではKMS標準のキーストアに格納されます。
この標準のキーストアの代わりに、独自のキーストアで管理したい場合に利用するのが「カスタムキーストア」です。
カスタムキーストアを利用するためには、AWS CloudHSMクラスターを事前に作成している必要があります。
CloudHSMは一つのカスタマーキーストアにのみ紐づきます。
CMK作成時のキーマテリアルオリジンの選択肢にあるカスタマーキーストア(CloudHSM)は、このカスタマーキーストアのことです。

f:id:guri2o1667:20210824114901p:plain

 

■AWSマネージド型キーとカスタマー管理型のキーの違い

参照元: 

https://d1.awsstatic.com/webinars/jp/pdf/services/20181121_AWS-BlackBelt-KMS.pdf


f:id:guri2o1667:20210824120304p:plain




以上です。