どうも!とろあ(@tohroa)です。
ネットワークスペシャリスト試験対策として「DNS」についての記事を書きましたが、DNSSECについて書ききれなかったため追加記事です。

DNSSECとは

DNSSECはDNS SECurity extensionsの略称で、DNSの仕組みに電子署名の仕組みを活用し、回答内容が信頼できるものなのか検証できるようにした仕組みです。

電子署名

電子署名について軽く触れておくことにします。電子署名とは、公開鍵暗号方式の仕組みを利用して内容の改ざんや送信元の確認に利用できます。

電子署名を利用したDNSSECの仕組み

DNSSECでは電子署名の仕組みを活用し、以下の流れでDNS問い合わせ側でDNS回答内容および回答元が信頼できることを検証します。

  • 1. [問合元]DNSSECを有効としたDNS問い合わせを行う
  • 2. [DNS]DNS問い合わせに対する回答(リソースレコード)と合わせて、リソースレコードのハッシュ値を算出する
  • 3. [DNS]ハッシュ値に対して自身の秘密鍵を用いて署名を作成し、リソースレコードとあわせてを回答を行う
  • 4. [問合元]リソースレコードのハッシュ値の計算を行う
  • 5. [問合元]受信した署名をDNS回答元の公開鍵を用いて複合する
  • 6. [問合元]4と5の結果が一致すれば、回答内容および送信者の確認を完了。不一致であった場合、回答内容は信頼できないものとして破棄する

「電子署名」や「公開鍵暗号方式」まではここでは掘り下げて解説しませんが、以上処理の流れによってDNS問い合わせに対する回答の信頼性を検証しています。

DNSSECを実現するためのレコード

DNSSECの仕組みを実現するために以下のリソースレコードが追加されています。過去問でも見たような記憶はないので、試験範囲に含まれるかは不明ですが、整理しておきます。

  • DNSKEYレコード:署名を行った秘密鍵に対する公開鍵の情報
  • RRSIGレコード:署名情報
  • DSレコード:DNSKEYのハッシュ値
  • NSECレコード:問い合わせのあったゾーン情報が存在しないことを示すレコード
  • NSEC3レコード:NSECレコードが強化され、回答内容がハッシュ化されたレコード

ネットワークスペシャリスト対策としてのDNSSECに関する知識は、とりあえずここまでで十分かな…

次回、他の分野についてもアウトプットしたいと思います!