前回からの続きです。
■用語
KMSを利用するうえで重要となる用語についてです。
■CMK(Customer Master Key)とCDK(Customer Data Key)
KMSではCMKとCDKという2つの鍵を使用します。
先に2つの鍵を比較した表を載せます。
※不足がある部分もありますが、最初のとっかかりとしては良いかと。
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
KMSはデフォルトです。
KMSを選択した場合は、CMKのキーマテリアルはAWS独自のキーストアに作成/管理されます。
外部(External)を選択した場合、キーマテリアルがない状態でCMKが生成されます。
そのため、キーマテリアルは後程インポートする(=紐づける)必要があります。
ここでインポートするキーマテリアルは「利用者が作成した任意の共通鍵」を指定することができます。
カスタムキーストア(CloudHSM)を選択した場合、
カスタムキーストアでCMKのキーマテリアルを生成し、それを利用します。
■AWSマネージド型キー
AWS Key Management Service の概念 - AWS Key Management Service
AWSマネコンの左ペインには以下のように3つの項目が存在します。
このうちの、「AWSマネージド型キー」についてです。
AWSマネージド型キーは、作成/管理はAWSが担当します。
また、AWSアカウント固有かつリージョン固有です。
各AWSサービスにて暗号化を有効化すると、自動的に作成されます。
一例は以下の通りです。
これらのマネージド型キーは「キーポリシー」「暗号化設定」の設定項目があります。
「暗号化設定」には以下の情報が載っています。
■カスタマー管理型キー
AWS Key Management Service の概念 - AWS Key Management Service
続いて「カスタマー管理型キー」についてです。
こちらは、CMKをユーザが作成した場合に項目が表示されます。
以下は一例です。
AWSマネージド型キーと異なり、「キーポリシー」「暗号化設定」「タグ」「キーローテーション」「エイリアス」というタブがあります。
■カスタマーキーストア
CMKはデフォルトではKMS標準のキーストアに格納されます。
この標準のキーストアの代わりに、独自のキーストアで管理したい場合に利用するのが「カスタムキーストア」です。
カスタムキーストアを利用するためには、AWS CloudHSMクラスターを事前に作成している必要があります。
CloudHSMは一つのカスタマーキーストアにのみ紐づきます。
CMK作成時のキーマテリアルオリジンの選択肢にあるカスタマーキーストア(CloudHSM)は、このカスタマーキーストアのことです。
■AWSマネージド型キーとカスタマー管理型のキーの違い
参照元:
https://d1.awsstatic.com/webinars/jp/pdf/services/20181121_AWS-BlackBelt-KMS.pdf
以上です。