参考这个:https://crypto.stackexchange.com/questions/72297/recommended-key-size-for-dkim
我从中得到的是(当时)DNS 提供商(通常)允许最多 1024 位密钥,但不允许 2048 位。现在,我的提供商允许我使用 2048 位并确认 DKIM 标志。当然,帖子声称 1024 位是绝对安全的,但如果我可以选择使用 2048 位,我愿意这样做。
只要我的提供商支持这么大的 TXT 记录,我就可以继续使用吗?还是仍有问题?
答案1
这取决于您的使用情况。DKIM 的既定目的是验证消息的真实性。如果是这样,通常接受使用 2048 位 RSA 密钥。DNS 服务器考虑是针对您的权威名称服务器,因此如果接受输入长度超过 255 个字符的记录,则唯一要考虑的是可以接受多字符串记录并支持 2048 位的接收服务器。
如果由于某种原因,接收服务器无法读取记录或支持大于 1024 位的数据,那么您可以根据需要(比如每天)创建新的 DKIM 密钥以及关联的新选择器,这样密钥被泄露的可能性就非常低,因为消息通常在收到后的几秒钟内就得到验证。
还有 Ed25519 密钥的选项,但接收服务器尚未广泛支持该选项。
如果您的用例是通过各种反垃圾邮件测试的工作量证明,那么如果 2048 位导致问题,您可能可以使用 1024 位。仍有一些大公司使用 1024 位,尤其是 Substack,我知道我还见过其他公司。
最后但同样重要的是,DKIM 标准支持多重签名标头,因此根据服务器开销,您可以使用多个签名进行签名,并且接收服务器可以选择针对哪个签名进行身份验证。