認証付き暗号

認証付き暗号(AE: Authenticated Encryption)とは



認証付き暗号(AE)、または関連データ付き認証付き暗号(AEAD: Authenticated Encryption with Associated Data)は、データの秘匿性、完全性、および認証性を同時に提供する暗号利用モードです。これは、単一のAPIでこれらの特性をまとめて提供し、復号処理と同時にデータの完全性も検証できるという利便性があります。

AEの必要性が認識された背景には、従来の秘匿用モードと認証用モードを単純に組み合わせることが、必ずしも安全ではないという指摘がありました。実際、多くのプロトコルやアプリケーションでは、認証の実装不備や欠如が原因で、攻撃を招く脆弱性が生じてきました。例えば、SSL/TLSがその一例です。

2000年、Charanjit Jutlaによって発表されたIACBCおよびIntegrity Aware Parallelizable Modeが、この分野の研究を大きく進展させました。ISO/IEC 19772:2009では、OCB 2.0、Key Wrap、CCM、EAX、Encrypt-then-MAC (EtM)、GCMの6つの異なるモードが標準化されました。さらに、NIST(アメリカ国立標準技術研究所)によって開発が推進され、Sponge関数をデュプレックスモードで使用することで認証付き暗号を実現する研究も進められています。

AEモードの典型的なAPI



AEモードのAPIは、一般的に以下のような関数を提供します。

暗号化:
入力:平文、鍵、オプションでヘッダ(暗号化はされないが認証対象となるデータ)
出力:暗号文、認証タグ(MAC)

復号:
入力:暗号文、鍵、認証タグ、オプションでヘッダ
出力:平文、または認証タグが暗号文やヘッダと一致しない場合はエラー

ヘッダ部は、ネットワークや記録の目的で使用されるメタデータの認証や完全性保護に使用され、秘匿は不要ですが、認証は必須です。

平文既知性と選択暗号文攻撃への耐性



AEは、秘匿性と完全性に加え、平文既知性(PA: plaintext awareness)を備えており、選択暗号文攻撃に対して安全です。選択暗号文攻撃とは、攻撃者が巧妙に細工した暗号文を「復号オラクル」に渡し、その復号結果を分析することで、暗号システムの秘密鍵などの情報を得ようとする攻撃手法です。

認証付き暗号システムでは、不正な暗号文を識別し、復号を拒否することで、この種の攻撃を防ぎます。つまり、適切に暗号化アルゴリズムで生成された暗号文以外は復号できないため、攻撃者は復号オラクルから有益な情報を得ることができません。

認証付き暗号の構成



共通鍵ブロック暗号で使用するための専用モードが多く開発されていますが、一般的には、暗号システムとメッセージ認証符号(MAC)を組み合わせることで構成されます。この構成では、暗号システムは選択平文攻撃に対して強秘匿性(IND-CPA)を、MAC関数は選択メッセージ攻撃に対して偽造不可(SUF-CMA)であることが求められます。

Bellare and Namprempre(2000)は、暗号とMACの組み合わせを3つのパターンで考察し、両方の関数が必要な性質を満たす場合、メッセージを暗号化した後に暗号文に対するMACを計算するEncrypt-then-MAC(EtM)方式が、適応的選択暗号文攻撃に対して安全であることを証明しました。

2013年には、認証付き暗号モードの設計を促進するためのコンペティションも開催されました。

認証付き暗号の主な手法



Encrypt-then-MAC (EtM):
最初に平文を暗号化し、その後、暗号文からMACを計算します。暗号文とMACを連結して送信します。これは、ISO/IEC 19772:2009で標準化されており、IPSecなどで使用されています。EtMは、使用するMACが「強偽造不可」である場合に、AEで最高水準の安全性を達成できる唯一の手法です。2014年11月には、TLSおよびDTLSの拡張としてEtMを定義するRFC 7366が勧告されました。

Encrypt-and-MAC (E&M):
平文からMACを計算し、平文はそのまま暗号化します。暗号文とMACを連結して送信します。SSHやGrain 128aなどで使用されています。E&M自体は強偽造不可とは証明されていませんが、わずかな修正を加えることでSSHを強偽造不可にすることが可能です。

MAC-then-Encrypt (MtE):
平文からMACを計算し、平文とMACを連結した状態で暗号化します。暗号化された平文と暗号化されたMACを含む暗号文が送信されます。SSL/TLSなどで使用されています。MtE自体は強偽造不可とは証明されていませんが、SSL/TLS実装はKrawczykによって強偽造不可であることが証明されています。SSL/TLSは、MtEと同時に使用するエンコーディングのおかげで事実上安全です。

関連項目



暗号利用モード
NIST: Modes Development
Counter with CBC-MAC (CCM mode)
CWC mode
OCB mode
EAX mode
Galois/Counter Mode|Galois_Counter Mode (GCM)
signcryption

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。