目前我正在使用 128,这足够安全吗?
dnssec-keygen -a hmac-md5 -b 128 -n host foobar.com
另外,我不确定“host”是否是-n
arg 的正确值。我相信最后一个参数“foobar.com”只是文件名 - 对吗?
答案1
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 可能就足够了。
我也相信你的命令行是正确的。