暗号マテリアルプロバイダー - AWS データベース暗号化 SDK

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

暗号マテリアルプロバイダー

注記

クライアント側の暗号化ライブラリの名前が AWS Database Encryption SDK に変更されました。次のトピックには、DynamoDB Encryption Client for Java のバージョン 1.x~2.x および DynamoDB Encryption Client for Python のバージョン 1.x~3.x に関する情報が記載されています。詳細については、「AWS Database Encryption SDK for DynamoDB バージョンのサポート」を参照してください。

DynamoDB 暗号化クライアントを使用する場合に最も重要となる決定事項の 1 つは、暗号化マテリアルプロバイダー (CMP) の選択です。CMP は、暗号化マテリアルをアセンブルして、項目エンクリプタに返します。また、暗号化キーと署名キーの生成方法、新しいキーマテリアルが項目ごとに生成されるか、または再利用されるか、使用する暗号化アルゴリズムおよび署名アルゴリズムも指定されます。

DynamoDB 暗号化クライアントライブラリに含まれている実装から CMP を選択するか、互換性のあるカスタム CMP を構築できます。また、CMP の選択も、使用するプログラミング言語によって異なります。

このトピックでは、一般的な CMP について説明するとともに、アプリケーションに最適な CMP を選択するのに役立ついくつかのアドバイスを提供します。

Direct KMS マテリアルプロバイダー

Direct KMS マテリアルプロバイダーは、AWS KMS key によってテーブル項目を保護しているため、AWS Key Management Service (AWS KMS) は必ず暗号化されます。アプリケーションで、暗号化マテリアルを生成または管理する必要はありません。AWS KMS key を使用して、項目ごとに一意の暗号化キーと署名キーを生成するため、項目を暗号化または復号する際は必ず、このプロバイダーによって AWS KMS が呼び出されます。

AWS KMS を使用し、アプリケーションでトランザクションごとに 1 つの AWS KMS を呼び出す必要がある場合は、このプロバイダーを選択することをお勧めします。

詳細については、「Direct KMS マテリアルプロバイダー」を参照してください。

ラップされたマテリアルプロバイダー (ラップされた CMP)

ラップされたマテリアルプロバイダー (ラップされた CMP) では、DynamoDB 暗号化クライアントの外部で、ラッピングおよび署名キーを生成および管理することができます。

ラップされた CMP は、項目ごとに一意の暗号化キーを生成します。次に、生成したラップキー (またはアンラップキー) および署名キーを使用します。したがって、ラップキーおよび署名キーの生成方法と、それらが各項目に一意か、または再利用されたものかを判断します。ランプされた CMP は、AWS KMS を使用せず、暗号化マテリアルを安全に管理できるアプリケーションの Direct KMS プロバイダーに代わるものとして安全に使用できます。

詳細については、「ラップされたマテリアルプロバイダー」を参照してください。

最新プロバイダー

最新プロバイダーは、プロバイダーストアで機能するように設計された暗号化マテリアルプロバイダー (CMP) です。プロバイダーストアから CMP を取得し、CMP から返る暗号化マテリアルを取得します。最新プロバイダーでは通常、各 CMP を使用して暗号化マテリアルの複数の要求を満たしますが、プロバイダーストアの機能を使用して、マテリアルの再利用範囲を制御したり、CMP の回転頻度を判断したりできるほか、最新プロバイダーを変更せずに使用される CMP のタイプを変更することもできます。

最新プロバイダーは互換性のあるプロバイダーストアで使用できます。DynamoDB 暗号化クライアントには、ラップされた CMP を返すプロバイダーストアである MetaStore が含まれています。

最新プロバイダーは、その暗号ソースへの呼び出しを最小限に抑える必要のあるアプリケーションや、セキュリティ要件に違反せずに一部の暗号化マテリアルを再利用できるアプリケーションに適しています。例えば、これを使用して、項目を暗号化または復号するたびに AWS KMS を呼び出さなくても、AWS Key Management Service (AWS KMS) の AWS KMS key で暗号化マテリアルを保護できます。

詳細については、「最新プロバイダー」を参照してください。

静的マテリアルプロバイダー

静的マテリアルプロバイダーは、検証や概念実証のデモンストレーション、および従来の互換性を目的として設計されています。項目ごとに一意の暗号化マテリアルが生成されることはありません。指定した暗号化キーと署名キーが返ります。これらのキーは、テーブル項目の暗号化、復号、および署名に直接使用されます。

注記

Java ライブラリ内の非対称静的プロバイダーは静的プロバイダーではありません。これは、ラップされた CMP の代替コンストラクタを指定するだけです。本稼働環境での使用は安全ですが、できるだけラップされた CMP を直接使用する必要があります。