キーリング - AWS データベース暗号化 SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

キーリング

クライアント側の暗号化ライブラリの名前が AWS Database Encryption SDK に変更されました。このデベロッパーガイドでは、引き続き DynamoDB Encryption Client に関する情報を提供します。

AWS Database Encryption SDK は、キーリングを使用してエンベロープ暗号化を実行します。データキーの生成、暗号化、復号は、キーリングによって行われます。キーリングは、暗号化された各レコードを保護する一意のデータキーのソースと、そのデータキーを暗号化するラッピングキーを決定します。キーリングは暗号化時に指定し、復号時には同じキーリングか別のキーリングを指定します。

各キーリングを個別に使用するか、キーリングを組み合わせてマルチキーリングにすることができます。ほとんどのキーリングではデータキーを生成、暗号化、および復号することができますが、特定のオペレーションを 1 つのみ実行するキーリング (例: データキーのみを生成するキーリング) を作成し、他のキーリングと組み合わせて使用することができます。

ラッピングキーを保護し、 (AWS Key Management ServiceAWS KMS) を暗号化しないままに AWS KMS keys しない を使用するキーリングなど、安全な境界内で暗号化オペレーションを実行する AWS KMS キーリングを使用することをお勧めします。また、ハードウェアセキュリティモジュール (HSM) に保存されているラッピングキーや他のマスターキーサービスによって保護されているラッピングキーを使用するキーリングを作成することもできます。

キーリングは、データキー、そして最終的にはデータを保護するラッピングキーを決定します。タスクに実用的で、最も安全なラッピングキーを使用してください。可能な場合は常に、ハードウェアセキュリティモジュール (HSM) またはキー管理インフラストラクチャ (AWS Key Management Service (AWS KMS) の KMS キーや AWS CloudHSM の暗号化キーなど) によって保護されたラッピングキーを使用してください。

AWS Database Encryption SDK には複数のキーリングとキーリング設定が用意されており、独自のカスタムキーリングを作成できます。同じタイプまたは異なるタイプの 1 つ以上のキーリングを含むマルチキーリングを作成することもできます。

キーリングのしくみ

クライアント側の暗号化ライブラリの名前が AWS Database Encryption SDK に変更されました。このデベロッパーガイドでは、引き続き DynamoDB Encryption Client に関する情報を提供します。

データベース内のフィールドを暗号化して署名すると、 AWS Database Encryption SDK はキーリングに暗号化マテリアルを要求します。キーリングは、プレーンテキストのデータキー、キーリング内の各ラッピングキーによって暗号化されたデータキーのコピー、およびデータキーに関連付けられた MAC キーを返します。 AWS Database Encryption SDK は、プレーンテキストキーを使用してデータを暗号化し、できるだけ早くプレーンテキストデータキーをメモリから削除します。その後、 AWS Database Encryption SDK は、暗号化されたデータキーと、暗号化や署名の指示などの他の情報を含むマテリアルの説明を追加します。 AWS Database Encryption SDK は MAC キーを使用して、マテリアルの説明と、 ENCRYPT_AND_SIGNまたは とマークされたすべてのフィールドの正規化に関するハッシュベースのメッセージ認証コード (HMACs) を計算しますSIGN_ONLY

データを復号する際には、データの暗号化に使用したのと同じキーリングを使用することも、別のキーリングを使用することもできます。データを復号するには、復号キーリングが暗号化キーリング内の少なくとも 1 つのラッピングキーにアクセスできる必要があります。

AWS Database Encryption SDK は、暗号化されたデータキーをマテリアルの説明からキーリングに渡し、キーリングにそのいずれかを復号するように要求します。キーリングは、ラッピングキーを使用して暗号化されたデータキーのいずれかを復号し、プレーンテキストのデータキーを返します。 AWS Database Encryption SDK は、プレーンテキストデータキーを使用してデータを復号します。キーリングのラッピングキーのいずれも暗号化されたデータキーを復号できない場合は、復号は失敗します。

単一のキーリングを使用するか、同じタイプまたは異なるタイプのキーリングを組み合わせてマルチキーリングにすることもできます。データを暗号化すると、マルチキーリングは、マルチキーリングを構成するすべてのキーリング内のすべてのラッピングキーによって暗号化されたデータキーのコピーと、そのデータキーに関連付けられた MAC キーを返します。データは、マルチキーリングのラッピングキーのいずれかを持つキーリングを使用して復号できます。