暗号化マテリアルプロバイダーを選択する方法 - Amazon DynamoDB Encryption Client

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

暗号化マテリアルプロバイダーを選択する方法

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 は、Direct KMS プロバイダー使用しないアプリケーションの場合AWS KMS暗号化資料を安全に管理できます。

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

最新プロバイダー

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

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

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

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

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

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

注記

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