HMAC構造が基になるハッシュでの衝突の問題を軽減できるという趣旨の何かを読みました。
それは、HMAC-MD5のようなものが、暗号化されたデータを認証するのに安全であると見なされる可能性があることを意味しますか? div id = “3baea4767c”>
crypto.stackexchange.com/a/6753/5231
回答
はい、現在、HMAC-MD5に対する既知の攻撃はありません。
特に、MD5に対する最初の衝突攻撃の後、Mihir Bellare(HMACの発明者の1人)が耐衝突性を必要としないHMACの新しいセキュリティ証明:
“要約: HMACは、(1)基礎となる圧縮関数がPRFであり、(2)反復ハッシュ関数が弱い衝突耐性であると仮定して、Bellare、Canetti and Krawczyk(1996)によってPRFであることが証明されました。ただし、最近の攻撃では、MD5とSHA-1の仮定(2)が誤りであることが示され、これらの場合のHMACの証明ベースのサポートが削除されています。この論文は、圧縮関数がPRFであるという唯一の仮定の下で、HMACがPRFであることを証明します。これにより、既知の攻撃が圧縮関数の疑似ランダム性を損なうことがないため、証明ベースの保証が回復します。また、(弱い)衝突耐性が損なわれるハッシュ関数を実装した場合でも、HMACが示した攻撃に対する耐性を説明するのに役立ちます。また、圧縮関数のPRFよりもさらに弱い条件、つまりプライバシーを保護するMACであるという条件は、ハッシュ関数が計算上ほぼであるという非常に弱い要件を満たしている限り、HMACが安全なMACであることを確立するのに十分であることも示します。普遍的であり、ここでも、既知の攻撃が行われた仮定を無効にしないという事実に価値があります。」
ただし、これはではありませんは、新しい暗号システムの設計でHMAC-MD5を使用する必要があることを意味します。BruceSchneierを言い換えると、「攻撃は良くなるだけで、悪くなることはありません。 “MD5の実際の衝突攻撃はすでに発生しており、元のセキュリティ目標を達成していないことを示しています。”いつの日か、誰かがそれらを新しい攻撃に拡張する方法を考え出す可能性があります。 HMAC-MD5のセキュリティを危険にさらします。より良い選択は、SHA-2やSHA-3などの既知の攻撃がないハッシュ関数でHMACを使用することです。
コメント
- SHA-2には既知の攻撃があります: en.wikipedia.org/wiki/SHA-2
- @baptx 任意暗号化プリミティブには"既知の攻撃"があります。問題は、彼らがラウンドの全量を大幅に破るかどうかです。 SHA-2の場合、現在' tしていません。 SHA-2が何らかの意味で壊れていることを立証できない限り、これらのコメントを回答から削除したいと思います。
- "最近の攻撃はその仮定を示しています(2)MD5 "の最近の攻撃はどれですか?選択されたプレフィックス攻撃?なぜそれを意味するのですか?
回答
Ilmari Karonenの回答は、HMACを使用した場合に正しいです。意図された目的ですが、HMACがMD5の衝突の影響をまったく受けないという意味ではありません:
特定のキーを指定すると、K xor opad
とK xor ipad
はメッセージから独立していることに注意してくださいm
。これは、H((K xor ipad) || m)
で衝突すると、HMAC
が衝突することを意味します。 2つの異なるメッセージがあります。
HmacMd5の場合、K xor ipad
の長さは64バイトになります。したがって、2つのメッセージが見つかった場合はm1
およびm2
に少なくとも64バイトの共通プレフィックスpre
が付いている場合、キーK = pre xor ipad
H((K xor ipad) || m1)
とH((K xor ipad) || m2)
、leadiの間に衝突を作成するdiv> HMAC全体で完全な衝突が発生します。
これは、次の2つの方法で悪用される可能性があります。一種のチェックサムとして誤用されています。
ただし、受け入れられたものとして回答によると、キーが秘密であり、あなたまたは信頼できる当事者によって制御されている場合でも、HmacMd5は安全です。
コメント
- はい、削除されるまで、この種の回答はすでにありました。 質問には、暗号化されたデータを認証するための"が明示的に記載されています"。 チェックサムの計算の使用とキーの可用性は、質問のその部分に垂直です。 とにかく暗号へようこそ、この種のよく書かれた答えはここで大歓迎です!
- 同意しますが、この情報はこのページにアクセスする多くの人々に役立ち、誤った情報を提供しません 最初の質問に。 正しく使用すれば、hmacmd5は依然として安全であることが明確に示されています。