跳转至内容

DANE

来自 ArchWiki

DANE(DNS-based Authentication of Named Entities,基于 DNS 的命名实体认证)是一种协议,它允许使用 DNSSEC(域名系统安全扩展)将 X.509 证书(通常用于 TLS,传输层安全)绑定到 DNS 名称,而不是(或作为补充)预定义的 CA(证书颁发机构)列表。

警告 这不是一篇简单的文章。请确保您了解自己在做什么。在继续之前,请阅读 常见错误

TLSA 资源记录

TLSA 资源记录是一种特殊的 DNS 记录类型。它包含受其保护的服务所使用的端口号和协议。例如,针对 TCP 端口 25 的记录可能看起来像 _25._tcp.example.com IN TLSA 3 0 1 $DATA。TLSA 参数 3 0 1 解释了后面的数据。第一个数字是证书使用字段(Certificate Usage Field),第二个是选择器字段(Selector Field),第三个是匹配类型字段(Matching Type Field)。

证书使用字段
名称 描述
0 PKIX 信任锚 哈希包含 x509 树中的一个公共 CA,您的证书必须从此 CA 签名。
1 PKIX 端实体 哈希包含您的证书,该证书也必须通过 x509 验证。
2 DANE 信任锚 哈希包含一个私有 CA(x509 树中未知),您的证书必须从此 CA 签名。
3 DANE 端实体 哈希包含您的证书,不与任何其他验证进行匹配。
注意 证书使用字段 0 和 1 不允许用于电子邮件服务器(端口 25)。有关详细信息,请参阅 RFC 7672 3.1.3
选择器字段
名称 描述
0 cert DATA 基于完整的证书。
1 SPKI DATA 仅基于公钥。
匹配类型字段
名称 描述
0 Full DATA 是完整的证书或 SPKI。
1 sha256 DATA 是证书或 SPKI 的 sha256 哈希。
2 sha512 DATA 是证书或 SPKI 的 sha512 哈希。

还可以使用 ldns 包中的 ldns-dane(1) 命令轻松生成 RR。

SSHFP 资源记录

请参阅 OpenSSH#SSHFP 记录

DANE 支持软件

参见