データキーキャッシュ - AWS Encryption SDK

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

データキーキャッシュ

データキーキャッシュにより、キャッシュにデータキーおよび関連する暗号化マテリアルが保存されます。データを暗号化または復号すると、 はキャッシュ内の一致するデータキー AWS Encryption SDK を検索します。一致が見つかった場合、新しいデータキーを生成するのではなく、キャッシュされたデータキーを使用します。データキーキャッシュによりパフォーマンスが向上し、コストを削減します。また、アプリケーションの拡張の際、サービス制限内に収まるよう役立ちます。

以下の場合、アプリケーションはデータキーキャッシュからメリットを得られます。

  • データキーを再利用できる場合。

  • 多数のデータキーを生成する場合。

  • 暗号化オペレーションが許容できないほど時間とコストがかかり、制限があり、リソースを多く使用する場合。

キャッシュにより、 AWS Key Management Service () などの暗号化サービスの使用を減らすことができますAWS KMS。AWS KMS requests-per-second 制限に達した場合は、キャッシュが役立ちます。アプリケーションは、 を呼び出す代わりに、キャッシュされたキーを使用してデータキーリクエストの一部を処理できます AWS KMS。(また、AWS サポートセンターにケースを作成してアカウントの制限を引き上げることができます。)

AWS Encryption SDK は、データキーキャッシュの作成と管理に役立ちます。キャッシュとやり取りがあり、設定したセキュリティのしきい値を適用するローカルキャッシュおよびキャッシュ暗号化マテリアルマネージャー (キャッシュ CMM) を提供します。連携によって、これらのコンポーネントはシステムのセキュリティを維持しながら、データキーの再利用による効率の恩恵を受けるのに役立ちます。

データキーキャッシュは、 のオプション機能 AWS Encryption SDK であり、慎重に使用する必要があります。デフォルトでは、 は暗号化オペレーションごとに新しいデータキー AWS Encryption SDK を生成します。この手法では、暗号化のベストプラクティスをサポートしており、過剰なデータキーの再利用を防ぎます。一般的に、パフォーマンスの目標を満たすために必要な場合のみ、データキーキャッシュを使用します。次に、データキーキャッシュのセキュリティしきい値を使用して、コストとパフォーマンスの目標を満たすために必要なキャッシュの最小量を使用していることを確認します。

キャッシュ CMM は、AWS Encryption SDK .NET 用 ではサポートされていません。のバージョン 3.x は、キーリングインターフェイスではなく、レガシーマスターキープロバイダーインターフェイスを使用したキャッシュ CMM AWS Encryption SDK for Java のみをサポートします。ただし、.NET AWS Encryption SDK 用 のバージョン 4.x と のバージョン 3.x は、代替の暗号化マテリアルキャッシュソリューションであるAWS KMS 階層キーリング AWS Encryption SDK for Java をサポートしています。 AWS KMS 階層キーリングで暗号化されたコンテンツは、 AWS KMS 階層キーリングでのみ復号できます。

これらセキュリティトレードオフの詳細については、 AWS セキュリティブログの「AWS Encryption SDK: How to Decide if Data Key Caching is Right for Your Application」を参照してください。