

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

# キャッシュセキュリティのしきい値の設定
<a name="thresholds"></a>

データキーキャッシュを実装するときは、[キャッシュ CMM](data-caching-details.md#caching-cmm) が実施するセキュリティのしきい値を設定する必要があります。

セキュリティのしきい値は、各キャッシュデータキーの使用期間および各データキーで保護されるデータ量を制限するのに役立ちます。キャッシュ CMM は、キャッシュエントリがすべてのセキュリティしきい値に準拠している場合にのみ、キャッシュされたデータキーを返します。キャッシュエントリがしきい値を超えた場合、そのエントリは現在のオペレーションには使用されず、キャッシュから速やかに削除されます。各データキーの最初の使用 (キャッシュ前) は、これらのしきい値から除外されます。

通常、コストとパフォーマンスの目標を満たすために必要なキャッシュの最小量を使用します。

は、キー取得関数を使用して暗号化されたデータキー AWS Encryption SDK のみをキャッシュします。 [https://en.wikipedia.org/wiki/Key_derivation_function](https://en.wikipedia.org/wiki/Key_derivation_function)また、一部のしきい値の上限も確立します。これらの制限は暗号化の制限を超えてデータキーが再利用されないことを確認します。ただし、プレーンテキストデータキーはキャッシュされるため (デフォルトではメモリに)、キーが保存される期間を最小限にしてください。また、キーが侵害された場合に公開される可能性のあるデータを制限してください。

キャッシュセキュリティしきい値の設定例については、 AWS セキュリティブログの[AWS Encryption SDK「: データキーキャッシュがアプリケーションに適しているかどうかを判断する方法](https://aws.amazon.com/blogs/security/aws-encryption-sdk-how-to-decide-if-data-key-caching-is-right-for-your-application/)」を参照してください。

**注記**  
キャッシュ CMM には以下のすべてのしきい値が適用されます。オプションの値を指定していない場合、キャッシュ CMM はデフォルト値を使用します。  
データキーキャッシュを一時的に無効にするために、 AWS Encryption SDK の Java/Python 実装では、*null の暗号化マテリアルキャッシュ* (null キャッシュ) が用意されています。null キャッシュは、すべての `GET` リクエストのミスを返し、`PUT` リクエストに応答しません。[キャッシュ容量](data-caching-details.md#simplecache)またはセキュリティのしきい値を 0 に設定するのではなく、null キャッシュを使用することをお勧めします。詳細については、「[Java](https://aws.github.io/aws-encryption-sdk-java/com/amazonaws/encryptionsdk/caching/NullCryptoMaterialsCache.html)」および「[Python](https://aws-encryption-sdk-python.readthedocs.io/en/latest/generated/aws_encryption_sdk.caches.null.html)」の null キャッシュを参照してください。

**最大期限 (必須)**  
キャッシュされたエントリが、追加された時点から使用できる時間を決定します。この値は必須です。0 より大きい値を入力します。 AWS Encryption SDK では、最大経過時間値は制限されません。  
のすべての言語実装では、ミリ秒を使用する を除き AWS Encryption SDK for JavaScript、最大経過時間を秒単位で AWS Encryption SDK 定義します。  
アプリケーションがキャッシュのメリットを得られる最短の間隔を使用します。最大期限しきい値をキーローテーションポリシーのように使用できます。それを使用してデータキーの再利用を制限し、暗号化マテリアルの公開を最小限に抑え、キャッシュされている間にポリシーが変更された可能性のあるデータキーを排除します。

**暗号化されたメッセージの最大数 (オプション)**  
キャッシュされたデータキーが暗号化できるメッセージの最大数を指定します。この値はオプションです。1～2^32 の間のメッセージの値を入力します。デフォルト値は 2^32 メッセージです。  
各キャッシュされたキーによって保護されるメッセージの数を、再利用の値を取得するのに十分な大きさに、しかし、キーが侵害された場合に公開される可能性のあるメッセージの数を制限できるほど小さく設定します。

**暗号化されたバイトの最大数 (オプション)**  
キャッシュされたデータキーが暗号化できるバイトの最大数を指定します。この値はオプションです。0～2^63 - 1 の間の値を入力します。デフォルト値は 2^63 - 1 です。値を 0 に指定することで、空のメッセージ文字列を暗号化している場合にのみデータキーキャッシュを使用できます。  
現在のリクエストのバイト数がこのしきい値を評価する際に含まれます。処理されたバイト数と現在のバイト数がしきい値を超えている場合、キャッシュされたデータキーは、より小さいリクエストで使用されたとしても、キャッシュから削除されます。