Episode 3
鍵の署名をするのは誰?
キー署名キーは、DNSKEYを信頼しても大丈夫と保証してくれるよ。
キー署名キーは、ゾーン署名鍵がRRsetを守ってたのと同じやり方で、DNSKEYレコードを検証してくれるんだ。
ここまでのまとめだよ:
レコードはRRsetにまとめて、ゾーン署名鍵で署名する。その鍵の公開部分はDNSKEYっていうレコードに保存されるよ。
そのDNSKEYレコードは、今度はキー署名キーで署名されて、もうひとつのRRSIGレコードができるんだ。
キー署名キーの公開部分は、別のDNSKEYっていうレコードに保存されてるよ。
キー署名キーの公開鍵は、もうひとつのDNSKEYレコードに保存されてるよ。
さて、リゾルバがDNSKEYを問い合わせると、DNSKEYで構成されたRRsetと、それに対応するRRSIGを受け取るんだ。
今の手順を見てみよう…
リゾルバは、www.dnsimple.com のAレコードを権威ネームサーバに問い合わせるんだ。
www.dnsimple.com のAレコードお願いしまーす!
権威サーバは、Aレコードが入ったRRsetと、それに対応するゾーン署名鍵の署名が入ったRRSIGをセットで返してくれるんだ。
リゾルバは、RRSIGに入ってる署名を検証するために、もう一度DNSKEYを権威サーバに聞きにいくんだ。
DNSKEYをくださいな
権威サーバは、ゾーン署名鍵とキー署名キーのDNSKEYが入ったRRsetと、それに対応するRRSIGを返してくれるんだ。
これでリゾルバは、DNSクエリを検証するのに必要な情報をぜんぶ揃えれたよ。
リゾルバは、ゾーン署名鍵で作られたDNSKEYを使って、RRsetに入ってるAレコード用のRRSIGを検証するんだ。
正しければ、次はキー署名キーから作られたDNSKEYを使って、DNSKEY RRsetのRRSIGを確かめるんだよ。
これらを全部終わらせると、リゾルバは権威サーバから返ってきたAレコードを安心して使えるんだよ。
ここまではバッチリなんだけど、今度は別の問題が出てきたよ。
www.dnsimple.com のAレコードは信じていいとわかったけど、親ゾーンとか子ゾーンは大丈夫かな?
キー署名キーって、自身で署名してるんだよね。もしそれが乗っ取られてたらどうする?