Security
我的 ISC BIND 傳輸密鑰應該使用什麼強度?
目前我用的是128,這樣夠安全嗎?
dnssec-keygen -a hmac-md5 -b 128 -n host foobar.com
另外我不確定“主機”是否是
-n
arg 的正確值。我相信最後一個參數“foobar.com”僅用於文件名 - 對吧?
HMAC-XXX 以位數為上限。如果您使用的是 HMAC-MD5,並選擇使用超過 128 位的真實隨機數據(如您的範例命令行生成的那樣),則它是浪費的。HMAC 要做的第一件事是,如果密鑰長於散列函式的長度(在您的情況下為 MD5),它將首先通過散列執行,這將返回 128 位。
如果您的密碼是 ASCII 文本,例如鍵入的密碼,那麼更長的密碼可能有用,但對於您的使用,128 是您需要的最大值。
BIND 還支持其他 HMAC 函式:HMAC-SHA1、HMAC-SHA256 和 HMAC-512。對於 SHA1,160 位是最大有用長度,SHA256 和 SHA512 是 256 和 512 位。
請注意,對於所有實際目的,對於 HMAC,MD5 可能就足夠了。
我也相信你的命令行是正確的。