キーリングの使用 - AWS Encryption SDK

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

キーリングの使用

サポートされているプログラミング言語の実装では、キーリングを使用してエンベロープ暗号化 を実行します。データキーの生成、暗号化、復号は、キーリングによって行われます。キーリングは、それぞれのメッセージを保護する一意のデータキーのソースと、そのデータキーを暗号化する ラッピングキー を決定します。キーリングは暗号化時に指定し、復号時には同じキーリングか別のキーリングを指定します。SDK が提供するキーリングを使用するか、互換性のある独自のカスタムキーリングを記述できます。

各キーリングを個別に使用するか、キーリングを組み合わせてマルチキーリングにすることができます。ほとんどのキーリングではデータキーを生成、暗号化、および復号することができますが、特定のオペレーションを 1 つのみ実行するキーリング (例: データキーのみを生成するキーリング) を作成し、他のキーリングと組み合わせて使用することができます。

ラッピングキーを保護し、 AWS Key Management Service (AWS KMS) を暗号化せずに残 AWS KMS keys さないキーリングなどの安全な境界内で暗号化操作を実行する AWS KMS キーリングを使用することをお勧めします。また、ハードウェアセキュリティモジュール (HSMs) に保存されているか、他のマスターキーサービスによって保護されているラッピングキーを使用するキーリングを記述することもできます。詳細については、AWS Encryption SDK 仕様のトピック「Keyring Interface」を参照してください。

キーリングは、他のプログラミング言語の実装で使用されるマスターキーマスターキープロバイダーの役割を果たします。 AWS Encryption SDK の異なる言語実装を使用してデータを暗号化および復号する場合は、必ず互換性のあるキーリングとマスターキープロバイダを使用してください。詳細については、「キーリングの互換性」を参照してください。

このトピックでは、 のキーリング機能を使用する方法 AWS Encryption SDK と、キーリングを選択する方法について説明します。キーリングは、次のプログラミング言語でサポートされています。

  • AWS Encryption SDK for C

  • AWS Encryption SDK for JavaScript

  • AWS Encryption SDK の 。NET

  • のバージョン 3.x AWS Encryption SDK for Java

  • オプションの暗号化マテリアルプロバイダーライブラリ (MPL) の依存関係で使用する場合は AWS Encryption SDK for Python、 のバージョン 4.x