Hash

無線系統中 HMAC 的 6 字節安全嗎?

  • April 16, 2018

無線系統有 8 字節有效載荷和 6 字節用於消息認證。

方案:

m := 8 Byte Message
k := 128 bit key
c := Encrypt(m,k)
hmac := secure_hashfunction(c, k) //(6 byte output)

問題:

  1. 傳輸單個無線數據包需要 7 毫秒時是否可以進行暴力破解?如果攻擊者進行暴力攻擊,它將需要 $ 2^{48} * 0.007 /\ 60 /\ 60 /\ 24/\ 365 = 62478.59\ years $ . 所以我的假設是這個系統是安全的,如果secure_hashfuncion它是一個密碼安全的散列函式。
  2. 是否存在具有 6 字節輸出的加密安全(僅可能進行暴力攻擊)的雜湊算法?
  3. 我可以只使用 SHA-1 並且只使用前 6 個字節的輸出嗎?
  1. 傳輸單個無線數據包需要 7 毫秒時是否可以進行暴力破解?如果攻擊者進行暴力攻擊,它將需要 $ 2^{48} * 0.007 /\ 60 /\ 60 /\ 24/\ 365 = 62478.59\ years $ . 所以我的假設是這個系統是安全的,如果secure_hashfuncion它是一個密碼安全的散列函式。

實際上,我會這樣看;如果對手注入一個數據包,它有一個機率 $ 2^{-48} \approx 3.55 \times 10^{-15} $ 被接受;攻擊者可以通過使用一百萬個數據包(他可以在幾個小時內完成)將其增加(比如說)一百萬倍。

這是“安全的”嗎?好吧,這取決於您所需的安全級別。如果對手成功的效果是洲際彈道導彈發射,我會說我們希望安全性更好。但是,如果您正在保護 VoIP 流,並且效果將是替換 10 毫秒的聲音片段,那麼它可能就足夠了。

  1. 是否存在具有 6 字節輸出的加密安全(僅可能進行暴力攻擊)的雜湊算法?

對於 MAC,有兩種可能的攻擊方法;一是猜測MAC(如上);另一種是嘗試恢復密鑰。如果您認為自己對第一次攻擊有足夠的安全性,那麼肯定有一些 MAC 可以抵禦密鑰恢復攻擊。

唯一需要注意的是,一旦發現偽造品,有些 MAC 會更容易找到其他偽造品。GMAC 就是這樣一個例子。對於這個應用程序,我會遠離它,並使用一個沒有這種漏洞的應用程序;例如 HMAC 或 CMAC

$$ 1 $$.

  1. 我可以只使用 SHA-1 並且只使用前 6 個字節的輸出嗎?

你必須以某種方式攪拌鑰匙。現在,我想您可以將密鑰和消息一起散列(我們通常不會因為長度擴展攻擊,因為您的截斷而不適用);但是,除非您需要最小化計算,否則我仍然建議您使用更傳統的 MAC,例如 HMAC(這與您的提議接近)或 CMAC。


$$ 1 $$: CMAC 確實有這個漏洞,但前提是攻擊者猜到了整個 128 位標籤;猜測一個截斷的版本(沒有得到正確的其餘部分對他沒有幫助)

引用自:https://crypto.stackexchange.com/questions/58386