1. Introduction (简介)
TLS 使用 certificate 把 key 与 name 绑定. 传统 public CA model 允许任一受信 CA 为任意 domain name 签发 certificate, 因此单个 CA 被攻破或滥用就可能破坏许多 TLS service 的安全.
DNSSEC 提供按 DNS hierarchy 受限的签名模型. 某个 domain 的 DNS data 只能由其 zone 或父 zone 授权的 key 证明, 这比任意 CA 可为任意名称背书的模型更符合 least privilege.
DNS-Based Authentication of Named Entities (DANE) 使用 DNSSEC 基础设施发布和签名 TLS 使用的 key 或 certificate association. RFC 6698 定义 DANE TLSA protocol, 即使用 TLSA RR 把 TLS server certificate 或 public key 与 DNS name 绑定.
1.2 Securing Certificate Associations (保护证书关联)
TLS client 连接 server 时需要确认 server 提供的 certificate 与预期 domain name 关联. DANE 允许 domain administrator 在 DNS 中发布这种 authoritative binding, 并由 DNSSEC 保护.
本文档适用于 TLS 和 DTLS. 文中为简洁通常只写 TLS, 但含义包括 TLS 或 DTLS. 本规范只处理 PKIX certificate 与 host name 的安全关联.
1.3 Method (方法)
Certificate association 由识别 certificate 的信息和 server application 所在 domain name 组成. DNS query 可返回多个 association, 例如 certificate rollover 期间.
TLSA 信息必须通过 DNSSEC 得到保护. 本文档不规定 DNSSEC validation 的具体部署方式, client 可以自己验证, 也可以通过受信 validator 获取已验证结果, 但两者之间必须有安全机制.
1.4 Terminology (术语)
本文中的 MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY 和 OPTIONAL 按 RFC 2119 解释.