私の理解では、DNSSECを使用すると、公開鍵を作成してDNSレコードに署名することができます。証明書レコードを取得する方法は複数あるようです(DANEなど https://wiki.mozilla.org/Security/DNSSEC-TLS-details#Embedding_Certificate_Information_in_DNS を参照)
これがどのように機能するのか正確にはわかりません。私はこれらのステップを推測しています。これは正しいです?
私は何かがおかしいと感じています、そしてMozillaリンクはすべてのレコードがサポートされるわけではないので、現在よくサポートされていると言っています(たとえば、firefox、chrome、IOSとAndroid)と私が使用しているレコード私が説明することについて?DANE?CAA?
[〜#〜] dnssec [〜#〜] と [〜#〜] dane [〜#〜] は別のものですが、DNSSECはDANEを使用するための前提条件です。
DNSSECは特に、受信したDNSデータが本物であることの検証を可能にします。
DNSSECを利用するということは、DNSSECキーを生成し、ゾーンに署名し(これにより、公開キーをDNSKEY
レコードとして公開し、実際のゾーンデータに基づいてRRSIG
/NSEC
/NSEC3
レコードを追加するなど)、レジストラにDS
レコード(委任されたゾーンで公開した有効なキーを識別する)を通常のNS
/glueレコードとともに追加させることによって署名された委任。
DANEを利用することは、基本的に、DNSSEC署名ゾーンに次のようなTLSA
レコードを追加することです。
_443._tcp.example.com. IN TLSA tlsa-parameters-identifying-the-valid-certificate
(このレコードを生成するには、 hash-slinger のtlsa
(1)を使用することをお勧めします)
DANE対応のHTTPSクライアント(この例では)は、example.comのポート443/tcpに接続していることを認識し、_443._tcp.example.com. IN TLSA
を検索して、DNSデータの信頼性を検証し、次に、そのデータを使用して、TLS接続で提示された証明書を検証します。