47

使用する利点を指摘できる人HMАCはいますか?

たとえば、 textTと keyがある場合、アルゴリズムまたは署名のKいずれかを使用できます。HMAC-MD5Md5(T + K)

4

3 に答える 3

38

HMAC は、長さ拡張攻撃の影響を受けません。

md5(T + K) は、敵がメッセージを改ざんする動機があり、非常に優れた計算能力を持っていない限り、ほとんどの用途で問題ありません。T をコントロールしている限り、誕生日攻撃は適用されず、ブルート フォース攻撃しかありません。しかし、制限を認識しておくことは良いことです。このアプローチを使用する場合は、MD5 の代わりに SHA1(T + K) を使用することをお勧めします。

md5(T+K) は、攻撃者がメッセージにテキストを追加して別の有効な MAC を生成する可能性がある md5(K+T) よりも確実に優れています。

md5(T+K) の場合、問題は、攻撃者が md5(T) = md5(T2)、md5(T+K) = md5(T2+K) のような T2 との衝突を見つけることができる場合です。しかし、これには総当たり攻撃が必要です。

注: 「あなたが T を制御している限り」と言います。これは、T に変更を加えることができる場合 (明らかではない方法で)、T1 が T と md5 を渡すことができる 2 つのメッセージ T1 と T2 を生成しようとすることができるためです。 (T1) = md5(T2)。現在、これは比較的簡単に実行できます (2^128 ではなく 2^64 を使用しています)。その理由は、いわゆる誕生日のパラドックスまたは誕生日攻撃です。

注: HMAC の設計は、この種の拡張攻撃を回避することを目的としています。HMAC に対する既知の攻撃はありません。

于 2011-04-05T10:41:50.080 に答える
28

HMACに関するウィキペディアの記事では、これについて適切な説明が提供されています。

同じ記事のセキュリティセクションでは、次のように述べています。

HMAC は、基礎となるハッシュ アルゴリズムのみよりも、衝突による影響が大幅に少なくなります。

そのため、HMAC を MD5 ハッシュに追加すると、レインボー テーブルを介してブレークすることが大幅に難しくなります。

于 2011-02-19T15:17:30.487 に答える
6

Bellare、Canetti、および Krawczyk によるHMAC の論文を読むことをお勧めします。

于 2011-02-19T18:03:38.083 に答える