我想知道我是否可以简单地将 4096 位 RSA 密钥用于 DKIM(在 DNS TXT 记录中)。
有什么缺点吗(忽略计算工作量)?
也许有些邮件服务器无法处理这么大的密钥?
另外:有没有大型邮件提供商使用大于 2048 位的 RSA 密钥?Google、Yahoo 和 Microsoft 似乎都使用 2048 位密钥。
答案1
来自IETFRFC 4871(强调添加):
3.3.3. 密钥大小
选择合适的密钥大小需要在成本、性能和风险之间进行权衡。由于较短的 RSA 密钥更容易受到离线攻击,因此签名者必须使用至少 1024 位的 RSA 密钥作为长寿命密钥。验证者必须能够使用以下密钥验证签名:512 位到 2048 位,和他们可能能够使用更长的密钥来验证签名。验证者策略可以使用签名密钥的长度作为确定签名是否可接受的一个指标。
影响密钥大小选择的因素包括:
实际限制是,较大的密钥(例如 4096 位)可能无法装入 512 字节的 DNS UDP 响应数据包中
小于 1024 位的密钥容易受到离线攻击的安全约束
密钥越大,验证和签署电子邮件所需的 CPU 成本就越高
钥匙可以定期更换,因此其使用寿命相对较短
与其他采用数字签名的系统的典型目标相比,本规范的安全目标较为温和
看 [RFC3766] 以进一步讨论选择密钥大小。