使用 DNSSEC 建立安全连接

使用 DNSSEC 建立安全连接

据我所知,DNSSEC 允许我创建公钥并签署我的 DNS 记录。似乎有多种方法可以获得证书记录(例如 DANE,请参阅https://wiki.mozilla.org/Security/DNSSEC-TLS-details#Embedding_Certificate_Information_in_DNS

我不太清楚这是如何运作的。我猜这些步骤。这是正确的吗?

  • 创建公钥/私钥对
  • 将公钥放入 DNS 记录(我相信是 DS)
  • 签署我的 DNS 记录
  • 为我的服务器创建公钥/私钥
  • 创建证书
  • 使用 DNS 私钥签署证书
  • 将证书放入 DNS!?!?!
  • 将证书放在我的服务器上并以典型方式使用它?

我觉得我搞错了什么,Mozilla 链接提到并非所有记录都受支持,因此目前哪些记录得到了很好的支持(比如说 Firefox、Chrome、IOS 和 Android),我所描述的记录是什么?DANE?CAA?

答案1

DNSSEC丹麦是独立的东西,但 DNSSEC 是使用 DANE 的先决条件。

DNSSEC 专门用于验证收到的 DNS 数据是否真实,仅此而已。

使用 DNSSEC 意味着生成 DNSSEC 密钥、签署您的区域(这将导致将公钥发布为DNSKEY记录、根据您的实际区域数据添加RRSIG/ NSEC/记录等)、通过让注册商添加记录(用于标识您在委托区域中发布的有效密钥)以及普通/ 粘合记录NSEC3来签署委托。DSNS

使用 DANE 本质上就是TLSA在 DNSSEC 签名区域中添加如下记录:

_443._tcp.example.com. IN TLSA tlsa-parameters-identifying-the-valid-certificate

(您可能希望使用tlsa来自哈希投掷者生成该记录)

支持 DANE 的 HTTPS 客户端(在此示例中)将知道它们正在连接到 example.com 上的端口 443/tcp,然后查找_443._tcp.example.com. IN TLSA、验证 DNS 数据的真实性,然后依次使用该数据来验证 TLS 连接中显示的证书。

相关内容