6

2 つのクライアント間で確立された共有秘密鍵を HMAC キーとしても使用できるかどうか疑問に思っています。

CBC-MAC として使用すると問題があることがわかりましたが、HMAC の悪い習慣であるという証拠は見つかりませんでした。

ありがとう、ウラジミール

4

2 に答える 2

6

現時点では、「おそらく問題ないように見えるが、なぜリスクを冒すのか」というカテゴリにあると思います。

ベスト プラクティスは、それぞれの側で共有秘密鍵から 2 つの新しい鍵を生成することです。

encryption-key := HMAC(shared-key, "Encryption Nonce")
hmac-key := HMAC(shared-key, "Authenticity Nonce")
于 2010-03-24T00:33:33.467 に答える
2

カフェが逃げたように。これを行う正しい方法の 1 つは、共有秘密鍵を追加のデータでハッシュすることです。

例えば:

enc-key = HASH(shared-key || 1)
hmac-key = HASH(share-key || 2)

これには、2 つの余分なナンスを転送する必要がないだけでなく、実装が容易であるという利点があります。

異なる関数 (enc + hmac) で同じキーを使用することはありません。それはトラブルと悪い考えを求めています。

于 2010-03-25T00:33:28.573 に答える