クライアント側とサーバー側の暗号化 - Amazon DynamoDB Encryption Client

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

クライアント側とサーバー側の暗号化

DynamoDB 暗号化クライアントはクライアント側の暗号化DynamoDB に送信する前に、テーブルデータを暗号化します。ただし、DynamoDB はサーバーサイドを提供します。保管時の暗号化ディスクに保管されているテーブルを透過的に暗号化し、テーブルへのアクセス時に復号します。

選択するツールは、データの重要度と、アプリケーションのセキュリティ要件に応じて異なります。DynamoDB 暗号化クライアントと保管時の暗号化の両方を使用できます。暗号化されて署名された項目を DynamoDB に送信しても、DynamoDB は項目を保護されているとして認識しません。バイナリ属性値を含む従来のテーブル項目を検出します。

サーバー側の保管時の暗号化

DynamoDB のサポート保管時の暗号化、aサーバー側の暗号化テーブルがディスクに保持されるときに DynamoDB がテーブルを透過的に暗号化し、テーブルデータにアクセスしたときにテーブルを復号化する機能。

サーバー側の暗号化では、データは HTTPS 接続で伝送時に暗号化され、DynamoDB エンドポイントで復号された後、DynamoDB に保管される前に再度暗号化されます。

  • デフォルトでの暗号化。DynamoDB では、ディスクに書き込まれるときに、すべてのテーブルを透過的に暗号化および復号します。保管時の暗号化を有効または無効にするオプションはありません。

  • DynamoDB では、暗号化キーを作成および管理します。各テーブルの一意のキーはAWS KMS keyそれは決して去ることはありませんAWS Key Management Service(AWS KMS) 暗号化されていません。デフォルトでは、DynamoDB はAWS 所有のキーDynamoDB サービスアカウントで、AWS マネージドキーまたはカスタマーマネージドキーアカウントで、テーブルの一部またはすべてを保護します。

  • テーブルデータはすべて、ディスク上で暗号化されます。暗号化されたテーブルをディスクに保存すると、DynamoDB では、など、すべてのテーブルデータが暗号化されます。プライマリキーローカルおよびグローバルセカンダリインデックス。テーブルにソートキーが存在する場合、範囲の境界線を示すソートキーの一部が、プレーンテキスト形式でテーブルメタデータに保存されます。

  • テーブルに関連するオブジェクトも暗号化されます。保管時の暗号化が保護しますDynamoDB ストリーム,グローバルテーブル, およびバックアップ耐久性のあるメディアに書き込まれるときはいつでも。

  • アクセスすると、項目は復号されます。テーブルがアクセスされるとき、DynamoDB は、ターゲット項目を含むテーブル部分を復号し、プレーンテキスト形式で項目を返します。

 

DynamoDB 暗号化クライアント

クライアント側の暗号化ではend-to-endソースから DynamoDB のストレージまで、転送時および保管時のデータを保護します。プレーンテキストデータが AWS などのサードパーティーに公開されることはありません。ただし、DynamoDB 暗号化クライアントは、新しい未入力データベースに実装されるように設計されています。DynamoDB にデータを送信する前に DynamoDB アプリケーションに暗号化機能を追加する必要があります。

  • 転送時と保管時のデータは保護されます。など、このようなデータがサードパーティーに公開されることはありませんAWS。

  • テーブル項目に署名できます。プライマリキー属性やテーブル名など、テーブル項目のすべてまたは一部の署名を計算するように DynamoDB 暗号化クライアントに指示できます。この署名により、属性の追加や削除、属性値のスワップなど、項目全体への不正な変更を検出することができます。

  • 暗号化キーの生成および保護方法を選択できます。キーを生成および保護するには、キーを作成して管理するか、AWS Key Management Service または AWS CloudHSM などの暗号化サービスを使用します。

  • データの保護方法の決定は、暗号化マテリアルプロバイダー (CMP) を選択するか、独自のものを記述することで行います。CMP を使用して、一意のキーが生成されるタイミングや、使用する暗号化アルゴリズムおよび署名アルゴリズムなど、使用する暗号化の方法を判断します。

  • DynamoDB 暗号化クライアントは、テーブル全体を暗号化しません。暗号化する場合は、テーブルの項目を選択するか、一部またはすべての項目の属性値を選択できます。ただし、DynamoDB 暗号化クライアントは、項目全体を暗号化することはありません。属性名、プライマリキー (パーティションキーおよびソートキー) 属性の名前または値は暗号化されません。暗号化される項目 (および暗号化されない項目) の詳細については、「どのフィールドが暗号化および署名されますか?」を参照してください。

 

AWS Encryption SDK

DynamoDB に保管しているデータを暗号化している場合は、DynamoDB 暗号化クライアントをお勧めします。

AWS Encryption SDK は、クライアント側暗号化ライブラリで、汎用データの暗号化および復号に役立ちます。任意のタイプのデータを保護することはできますが、データベースレコードなどの構造化データは操作できません。DynamoDB 暗号化クライアントとは異なり、AWS Encryption SDKでは、項目レベルの整合性チェックを行うことはできません。属性を認識するか、プライマリキーの暗号化を回避するロジックはありません。

♪AWS Encryption SDKテーブルの要素を暗号化するには、DynamoDB 暗号化クライアントとの互換性はありません。1 つのライブラリで暗号化し、もう 1 つのライブラリを使用して復号することはできません。