将DNS信任和证书关联分开
A DANE 检查器应显示是否 DNSSEC 验证了相关DNS证据以及是否可用 TLSA 关联与观察到的TLS端点相匹配。这些是不同的发现。如果没有经过验证的信任链,TLSA 记录可能在DNS中可见,并且安全检索的 TLSA 记录可能无法与服务器提供的证书材料匹配。单个绿色标签隐藏了操作员诊断问题所需的区别。
RFC 7672 为SMTP定义DANE ,建立在 TLSA 关联格式的基础上 RFC 6698。本文提出了检查器接受要求,未实现EmailAuth行为。未扫描任何域、未打开TLS连接或更改记录。所需的原始测试用例保持开放状态,而不是被想象中的成功输出所取代。
确定邮件路由和确切的端点
从受支持的SMTP过程下的接收域和相关MX路由开始。记录MX主机名、端口、TLSA 所有者名称以及使用的任何别名或发现步骤。网站的 TLSA 关联并不是SMTP端点的证据,并且与一台MX主机的成功连接并不能建立为该域提供服务的每台主机的行为。在解释证书匹配之前保留路线和观察范围。
RFC 7672描述了SMTP的 DNSSEC 敏感发现和 TLSA 查找过程。检查者应说明其实施的过程并保留授权测试中使用的确切查询。不要仅仅因为稍后的查找返回类似 TLSA 的字符串,就从未签名的名称推断安全路由。相关发现步骤的依赖关系和信任状态对整体结果很重要。
准确解释DNSSEC状态
DNSSEC验证需要信任上下文,而不仅仅是可见的签名。在下面 RFC 4035第 4.3 节,安全数据具有来自可信起点的经过身份验证的链。不安全的 RRset 缺乏经过身份验证的链,并且可能会也可能不会签名。因此,没有适用信任锚的签名岛不能仅仅因为它不安全而被标记为未签名。虚假意味着无法建立预期的身份验证,而不是通常的信任链缺失。
SMTP配置文件使剩余的区别变得明确。 RFC 7672第 2.1.1 节 对于未能获取确定验证状态所需的DNSSEC数据(遵循RFC 4035的情况,使用不确定,并将其视为查找失败。缺乏适用的祖先信任锚被视为不安全。检查器必须保留这些特定于 SMTP 的类别,而不是毫无原因地应用通用状态标签。
检查者不应仅仅因为DNS查找成功而将未签名的证据描述为有效的DANE关联。它还应该避免在没有必要的验证证据的情况下将每个DNS错误称为伪造。保留解析器配置、信任锚上下文以及受支持接口公开的报告状态。 RFC 4035 描述验证和解析器行为;没有可信解析器上下文的任意响应标志不能替代该过程。
在匹配之前解析 TLSA 字段
RFC 6698定义了证书的使用, 选择器,匹配类型和关联数据。选择器确定关联是否涉及完整证书或其SubjectPublicKeyInfo。匹配类型确定关联是精确数据还是受支持的摘要表示。检查器必须识别这些字段以及选择进行比较的实际字节,而不是将每个 TLSA 值与通用证书指纹进行比较。
证书使用值会更改身份验证模型。在SMTP配置文件中, RFC 7672解释了 DANE-TA(2) 和 DANE-EE(3) 及其各自的处理。它表示SMTP服务器不应为此目的发布 PKIX-TA(0) 或 PKIX-EE(1) 关联,并且客户端对这些用法的处理未定义;客户可能会认为它们无法使用。不要将通用 TLSA 用法定义概括为每个SMTP客户端都支持每种用法的承诺。
区分缺席、不可用和不匹配
缺少的 TLSA 记录、不安全的答案、安全获取但完全不可用的 TLSA 集以及无法匹配的可用关联不可互换。 RFC 7672对这些条件给出了不同的处理方式。检查器应该保留确切的类别和原因,包括不支持的字段或格式错误的关联数据,而不是将它们压缩成“ DANE failed”。
对于可用的关联,请在所选字段下记录端点观察到的证书材料和匹配计算。公共 Web 证书链结果不会自动成为DANE结果,因为用途决定了信任模型。相反,来自未经验证的DNS源的匹配摘要并不是安全的DANE成功。 DNS证据和关联评估都需要自己保留的观察结果。
保留连接和计时证据
TLS连接证据应标识主机名、地址、端口、观察时间、与检查相关的协商上下文以及审核所需的证书材料或安全指纹。不必要时,请将敏感的连接详细信息保留在公共摘要之外。连接失败与连接的服务器呈现不匹配的材料是不同的结果。输出应该解释哪个阶段阻止了结论。
DNS和TLS观察结果可能会在证书轮换或路由更改期间发生变化。保留时间和 TTL 上下文,而不声称单个观察证明永久准备就绪。检查器不应通过发布当前观察到的证书关联来自动“修复”不匹配;这将绕过所有权、批准和轮换计划。本手稿没有进行此类更改,并且不包含任何实时连接证据。
由两部分组成的证据工作表
创建一个包含接收域、 MX路径、TLSA 所有者、解析器、信任上下文、响应代码、验证状态、完整 RRset 和时间戳的DNS部分。创建包含端点、连接结果、证书选择、匹配方法、关联结果和范围限制的TLS部分。仅当这些部分描述相同的预期路线和观察上下文时才链接这些部分。
所需的固定装置应涵盖未签名的DNS 、验证失败、关联缺失、材料不匹配和有效关联。为不支持的用法或评估的实现需要的匹配字段添加明确的预期行为。使用授权的隔离装置,而不是第三方基础设施。标记为有效的装置应包含保留的验证和匹配证据,而不是手动分配的传递字段。本文没有执行任何装置。
虚构的诊断:来自未签名DNS匹配哈希值
虚构的操作员看到与服务器观察到的公钥相匹配的 TLSA 值,并假设DANE正在工作。拟议的审查询问 TLSA 答案是如何进行身份验证的。如果答案不安全而不是经过安全验证,则明显的字节匹配不会建立DANE信任链。 TLS匹配和DNS信任查找必须保持分开。
该团队将收集授权解析器和端点证据,并在决定修复之前审查预期的DNSSEC部署。它不会发布密钥、改变委托或绕过验证来获得绿色结果。这是一个虚构的练习,不是观察到的域或成功的TLS连接。其目的是展示为什么检查者的解释比单一状态颜色更重要。
仅说明已证明的结果
有用的结论命名了测试的路由、 DNSSEC状态、TLSA 可用性和观察到的关联结果。它不会验证每个MX主机、每个解析器或未来的证书轮换。输出还应确定未达到的阶段和仍然无法获得的证据。
该目录需要未签名、验证失败、缺失、不匹配和有效关联的情况。那些最初的测试仍然开放。人类专家审查、来源适用性、生产路线、可访问性和所有者发布也保持开放。该草案提供了验收设计和虚构的诊断,而不是执行的DANE扫描或验证的平台功能。