DynamoDB 暗号化クライアントの動作 - Amazon DynamoDB Encryption Client

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

DynamoDB 暗号化クライアントの動作

DynamoDB 暗号化クライアントは、DynamoDB に保存されているデータを保護するように特別に設計されています。ライブラリには、拡張が可能でまた変更なしで使用できる安全な実装が含まれています。また、ほとんどの要素は抽象要素で表されるため、互換性のあるカスタムコンポーネントを作成して使用できます。

テーブル項目の暗号化と署名

DynamoDB 暗号化クライアントの中核となるのは、項目暗号化テーブル項目を暗号化、署名、検証、復号します。テーブル項目に関する情報と、暗号化して署名する項目に関する指示が取り込まれます。選択して設定した暗号化マテリアルプロバイダーから、暗号化マテリアルとその使用方法に関する指示が取得されます。

次の図は、このプロセスの高レベルのビューを示しています。


      DynamoDB 暗号化クライアントでの項目の暗号化と署名

テーブル項目を暗号化し署名するために、DynamoDB 暗号化クライアントには次のものが必要です。

  • テーブルについての情報。からテーブルに関する情報を取得します。DynamoDB 暗号化コンテキストあなたが供給していること。一部のヘルパーは、DynamoDB から必要な情報を取得し、DynamoDB 暗号化コンテキストを作成します。

    注記

    -DynamoDB 暗号化コンテキストDynamoDB 暗号化クライアントでは、暗号化コンテキストにAWS Key Management Service(AWS KMS) とAWS Encryption SDK。

  • 暗号化して署名する属性。この情報は、指定した属性アクションから取得されます。

  • 暗号化および署名キーを含む、暗号化マテリアル。これらは、お客様が選択して設定する暗号化マテリアルプロバイダー (CMP) から取得されます。

  • 項目の暗号化と署名の手順。CMP は、暗号化および署名アルゴリズムを含む、暗号化マテリアルを使用するための指示を実際のマテリアル説明に追加します。

項目エンクリプタは、これらの要素のすべてを使用して項目を暗号化して署名します。項目エンクリプタは、暗号化と署名の指示 (実際のマテリアル説明) を含むマテリアル説明属性と、その署名を含む属性を項目に追加します。項目エンクリプタと直接やり取りすることができます。また、項目エンクリプタとやり取りするヘルパー機能を使用して、安全なデフォルトの動作を実装することもできます。

結果は、暗号化された署名済みデータを含む DynamoDB 項目です。

テーブル項目の検証と復号

これらのコンポーネントは、次の図に示すように、項目を検証および復号するために一緒に機能します。


      DynamoDB 暗号化クライアント内の項目の検証と復号

項目を検証し、復号するために、DynamoDB 暗号化クライアントには、次のように、同じコンポーネント、同じ設定のコンポーネント、または項目を復号するために特に設計されたコンポーネントが必要です。

  • テーブルについての情報からのDynamoDB 暗号化コンテキスト

  • 検証および復号する属性。これらは属性アクションから取得されます。

  • 選択し、設定した暗号化マテリアルプロバイダー (CMP) からの検証キーおよび復号キーを含む復号マテリアル。

    暗号化された項目には、暗号化に使用された CMP のレコードは含まれません。同じ CMP、同じ設定の CMP、または項目を復号するように設計された CMP 指定する必要があります。

  • 暗号化アルゴリズムと署名アルゴリズムを含む、項目の暗号化と項目の署名に関する情報。クライアントは、項目のマテリアル説明属性からこれらを取得します。

項目エンクリプタは、これらの要素のすべてを使用して項目の検証と復号を行います。また、マテリアル記述と署名属性も削除されます。結果はプレーンテキストの DynamoDB 項目です。