関連データによる確定的認証付き暗号化(確定的 AEAD)

関連データを伴う決定論的認証付き暗号化(決定論的 AEAD)プリミティブは、決定論的プロパティによる暗号化を提供します。同じデータを暗号化すると、常に同じ暗号テキストが生成されます。このタイプの暗号化は、鍵のラッピングや、暗号化されたデータの検索スキームに役立ちます(詳細については、RFC 5297 のセクション 1.3 をご覧ください)。このプリミティブの実装は、決定論的であるため、秘密の漏洩につながる可能性があります。攻撃者は、特定のメッセージの暗号文を見つけるだけで、そのメッセージの他のインスタンスを特定できるためです。

決定論的 AEAD には次の特性があります。

  • Secrecy: 平文の長さと、繰り返される平文の等価性以外は、平文に関する情報は一切わかりません。
  • 真正性: 暗号テキストの基になる暗号化された平文を検出されずに変更することはできません。
  • 対称性: 平文の暗号化と暗号テキストの復号は、同じ鍵で行われます。
  • 決定論的: 主キーが変更されない限り、同じパラメータで平文を 2 回暗号化すると、同じ暗号テキストが生成されます。

関連データ

確定的 AEAD を使用して、暗号テキストを特定の関連データに関連付けることができます。フィールド user-idencrypted-medical-history を含むデータベースがあるとします。このシナリオでは、encrypted-medical-history を暗号化するときに user-id を関連データとして使用できます。これにより、攻撃者がユーザー間で医療履歴を移動させることはできません。

関連データは任意です。指定されている場合、復号が成功するのは、同じ関連データが暗号化呼び出しと復号呼び出しの両方に渡された場合のみです。

キーの種類を選択する

すべてのユースケースで AES256_SIV 鍵タイプをおすすめします。

セキュリティ保証

  • 少なくとも 80 ビットの認証強度。
  • 平文と関連データは、任意の長さ(0 ~ 232 バイトの範囲内)にできます。
  • 鍵復元攻撃に対する 128 ビットのセキュリティ レベル。最大 232 個の鍵を使用したマルチユーザー攻撃でも同様です。つまり、攻撃者が 232 個の鍵で暗号化された同じメッセージの 232 個の暗号文を取得した場合、単一の鍵を取得するには 2128 回の計算を行う必要があります。
  • 各メッセージの長さが 1 MB 未満の場合、238 個のメッセージを安全に暗号化する機能。

使用例

データを決定論的に暗号化する暗号文をコンテキストにバインドするをご覧ください。