DKIMselect器名称应该是不可猜测的?

M³WAAGDKIM密钥轮换最佳实践文档(pdf)推荐使用“足够”随机的DKIMselect器名称,以便通过浏览DNS无法猜测。 一个字面的引文:

4.3密钥select器命名scheme

定义DKIM密钥select器的命名scheme,这对于取证分析是有意义的,并且是足够随机的,所以通过浏览DNS不能轻易猜出密钥。

注意:select器命名scheme也应该被devise来减轻攻击者可以很容易地预测未来select器名称并检索相关密钥的风险。 有关发布密钥以供将来使用的过程的说明,请参阅第5节

这可能与短的512位RSA密钥有关,但对于我来说,对于更长的2048位RSA密钥似乎并不合适。 DNS拥有非公开密钥,可以通过阅读一个签名邮件来发现。 安全性很低,安全性很低

为什么一个随机DKIMselect器的名字会更好,那么遵循他们的build议是否合理呢?

两个好处:

  1. 攻击者无法发现select器名称就会发起攻击(通常是签名消息的占有)
  2. 您可以发布密钥并确保在DNS实际转入使用之前传播到DNS,同时减less密钥有效使用期限的风​​险最小。

看起来只是一个额外的保护层。

我查阅了文件,发现作者不了解DNS条目的新发布。 更新旧条目时,可configuration的caching时间可能会有几天。 但是,在可以caching之前,需要从权威名称服务器获取新条目。

如果通过在三个CNAME之后旋转键的build议过程来旋转键,那么在更新高速caching条目时可能存在显着的延迟。 这可以通过删除logging中的TTL以在更新之前的时段中更新来缓解。 在需要紧急按键旋转的情况下,CNAME旋转也可能是有问题的。

对密钥名称进行随机化确实提供了一些小的保护,防止在使用之前检索到公钥。 一旦密钥被使用,我会假定它可能已经被收集用于生成替代签名密钥的目的。