使用 DNSSEC 进行安全连接

4 certificate dnssec ssl-certificate

根据我的理解,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)以及我使用什么记录来描述我的情况?丹麦人?民航局?

Håk*_*ist 6

DNSSECDANE是不同的东西,但 DNSSEC 是使用 DANE 的先决条件。

DNSSEC 专门允许验证接收到的 DNS 数据是真实的,仅此而已。

利用DNSSEC的,就意味着产生DNSSEC密钥,签署您的区域(这会导致发布公钥作为DNSKEY记录,添加RRSIG/ NSEC/NSEC3根据您的实际区数据等记录),使得由具有注册器添加一个签署代表团DS记录(标识您在委托区域中发布的有效密钥)以及普通NS/粘合记录。

利用 DANE 本质上归结为TLSA在 DNSSEC 签名区域中添加如下所示的记录:

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

(您可能希望使用hash-slinger 中的tlsa(1)来生成此记录)

DANE-aware HTTPS 客户端(在本例中)然后会知道他们正在连接到 example.com 上的端口 443/tcp,然后会查找_443._tcp.example.com. IN TLSA,验证 DNS 数据的真实性,然后,反过来,使用该数据来验证 TLS 连接中提供的证书。