附录 A. 部署 TLSA 记录的操作考虑 (Operational Considerations for Deploying TLSA Records)
创建 TLSA records 时必须谨慎避免配置错误. 本文档第 4 节规定, validation state 为 secure 的 TLSA RRSet 必须使用. 这意味着, 这样的 RRSet 一旦存在, 实际上会禁用其它形式的 name 和 path validation. 配置错误的 TLSA RRSet 会使所有符合规范的 clients 无法访问 TLS server, 且本文档没有提供逐步迁移到 TLSA 的机制.
A.1. 创建 TLSA 记录 (Creating TLSA Records)
使用 certificate usage 0 (CA certificate) 或 usage 2 (trust anchor) 创建 TLSA records 时, 需要理解在 selector type 0 (Full certificate) 与 selector type 1 (SubjectPublicKeyInfo) 之间选择的影响. 不同 TLS clients 构建 trust chains 的方法可能不同, 因此必须谨慎选择 selector type.
Full certificate selector 最精确, 会捕获 PKIX certificate 的所有字段. SubjectPublicKeyInfo selector 在避免某些由 client trust-chain-building algorithm 导致的 false-negative failures 时更灵活, 但 attack surface 略大, 因为 administrator 可能无意中指定会导致 false-positive acceptance 的 association.
A.2. 在 DNS 中配置 TLSA 记录 (Provisioning TLSA Records in DNS)
TLSA resource record 在 DNS 中并不特殊. 它的行为与其它在 base name 前添加一个或多个 label 的 RRtype 相同, 例如 SRV RRtype [RFC2782]. 这会影响 DNS aliasing 场景下 TLSA resource record 的使用.
应用实现和 full-service resolvers 通常使用会自动跟随 CNAME 和 DNAME aliasing 的库来请求 DNS records. 这允许 hosts 把 TLSA records 放在自己的 zones 中, 或使用 CNAME 做 redirection. DNAME records 则允许 zone owner 对带有 DNAME 的 name 下方的整个 subtree 进行 alias.
Wildcards 对需要前缀的 RRtypes 通常用途有限, 因为 wildcard 只能位于 host name 下方的一层. 例如, 如果希望 www.example.com 的每个 TCP port 使用同一个 TLSA record, 可以发布 *._tcp.www.example.com. 的 TLSA record. 这在同一 host 的多个 ports 提供相同服务或所有服务使用同一 certificate 和/或 key 时可能有用.
A.3. 保护最后一跳 (Securing the Last Hop)
如第 4 节所述, 处理 TLSA records 的应用必须知道这些 records 的 DNSSEC validity. 应用可以内置 DNS resolver 和 DNSSEC validation stack, 也可以通过可信 channel 与执行 DNSSEC validation 的本地 DNS resolver 通信. 应用还可以通过 TLS, IPsec, TSIG 或 SIG(0) 等安全 channel 与非本地 DNS resolver 通信, 前提是得到的 DNSSEC validation 结果受到保护.
A.4. 处理证书轮转 (Handling Certificate Rollover)
Certificate rollover 的处理方式与使用 pre-publish key rollover method [RFC4641] 轮转 DNSSEC zone signing keys 很相似. 开始 rollover 时, 先获得或生成 rollover 后使用的新 certificate 或 SubjectPublicKeyInfo, 并生成新的 TLSA record. 将新 record 与旧 record 同时发布. 等新 records 传播到 authoritative nameservers 且旧 record 的 TTL 过期后, 再把 TLS server 切换到新 certificate. 完成后即可移除旧 TLSA record.