翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
DynamoDB 暗号化クライアントの仕組み
注記
クライアント側の暗号化ライブラリの名前が 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 暗号化クライアントは、DynamoDB に保存されているデータを保護するように特別に設計されています。ライブラリには、拡張が可能でまた変更なしで使用できる安全な実装が含まれています。また、ほとんどの要素は抽象要素で表されるため、互換性のあるカスタムコンポーネントを作成して使用できます。
テーブル項目の暗号化と署名
DynamoDB 暗号化クライアントの中核には、テーブル項目を暗号化、署名、検証、復号する項目エンクリプタがあります。テーブル項目に関する情報と、暗号化して署名する項目に関する指示が取り込まれます。選択して設定した暗号化マテリアルプロバイダーから、暗号化マテリアルとその使用方法に関する指示が取得されます。
次の図は、このプロセスの高レベルのビューを示しています。
テーブル項目を暗号化して署名するには、DynamoDB 暗号化クライアントに次のものが必要です。
-
テーブルについての情報。お客様が提供する DynamoDB 暗号化コンテキストからテーブルに関する情報を取得します。一部のヘルパーは、DynamoDB から必要な情報を取得し、DynamoDB 暗号化コンテキストを作成します。
注記
DynamoDB 暗号化クライアントの DynamoDB 暗号化コンテキストは、AWS Key Management Service (AWS KMS) や AWS Encryption SDK の暗号化コンテキストとは関連しません。
-
暗号化して署名する属性。この情報は、指定した属性アクションから取得されます。
-
暗号化および署名キーを含む、暗号化マテリアル。これらは、お客様が選択して設定する暗号化マテリアルプロバイダー (CMP) から取得されます。
-
項目の暗号化と署名の手順。CMP は、暗号化および署名アルゴリズムを含む、暗号化マテリアルを使用するための指示を実際のマテリアル説明に追加します。
項目エンクリプタは、これらの要素のすべてを使用して項目を暗号化して署名します。項目エンクリプタは、暗号化と署名の指示 (実際のマテリアル説明) を含むマテリアル説明属性と、その署名を含む属性を項目に追加します。項目エンクリプタと直接やり取りすることができます。また、項目エンクリプタとやり取りするヘルパー機能を使用して、安全なデフォルトの動作を実装することもできます。
結果は、暗号化された署名済みデータを含む DynamoDB 項目です。
テーブル項目の検証と復号
これらのコンポーネントは、次の図に示すように、項目を検証および復号するために一緒に機能します。
項目を検証し、復号するためには、DynamoDB 暗号化クライアントには、次のように、同じコンポーネント、同じ設定のコンポーネント、または項目を復号するために特に設計されたコンポーネントが必要です。
-
DynamoDB 暗号化コンテキストからのテーブルに関する情報。
-
検証および復号する属性。これらは属性アクションから取得されます。
-
選択し、設定した暗号化マテリアルプロバイダー (CMP) からの検証キーおよび復号キーを含む復号マテリアル。
暗号化された項目には、暗号化に使用された CMP のレコードは含まれません。同じ CMP、同じ設定の CMP、または項目を復号するように設計された CMP 指定する必要があります。
-
暗号化アルゴリズムと署名アルゴリズムを含む、項目の暗号化と項目の署名に関する情報。クライアントは、項目のマテリアル説明属性からこれらを取得します。
項目エンクリプタは、これらの要素のすべてを使用して項目の検証と復号を行います。また、マテリアル記述と署名属性も削除されます。結果はプレーンテキスト DynamoDB 項目です。