他のDNS Tips「DNSSECの仕組みを教えてください(今後公開予定)」にあるように、DNSSECでは、DNSにおける応答が改ざんされていないこと・欠落していないことを確認できるようにするため、署名と検証という仕組みを使用する。そのため、DNSSECを構成する要素としては、DNS Tips「DNSを構成する要素を教えてください(今後公開予定)」で示された要素に以下のものが加わる。
- 署名(Signature)
- 公開鍵(Public Key)
- 署名者(Signer)
- バリデーター(Validator)
- トラストアンカー(Trust Anchor)
以下、それぞれについて解説する。
署名(Signature)
DNSSECにおける署名は、公開鍵暗号方式による電子署名である。RRSIGレコードとして署名者がゾーンに登録し、バリデーターがDNSの応答の検証に用いる。
公開鍵(Public Key)
DNSSECにおける公開鍵は、ゾーン署名鍵(ZSK:Zone Signing Key)と鍵署名鍵(KSK:Key Signing Key)の2種類がある。いずれも、DNSKEYレコードとして署名者がゾーンに登録し、バリデーターがDNSの応答の検証に用いる。
署名者(Signer)
DNSSECにおける署名者は、そのゾーンの署名鍵の管理者である。公開鍵暗号方式を用い、ゾーンを電子署名し、その署名と公開鍵をリソースレコードとしてゾーンに登録する。
バリデーター(Validator)
DNSSECにおけるバリデーターは、DNS応答の検証を行う実行者であり、通常はキャッシュDNSサーバーがバリデーターの役割を担う。バリデーターは、DNSの応答がドメイン名管理者の作成したものであることを認証するために、署名と公開鍵を使って検証する。検証できた応答は問い合わせ元に返すが、できなかった場合はエラー(バリデーターがキャッシュDNSサーバーの場合はSERVFAIL)を返す。
トラストアンカー(Trust Anchor)
DNSSECにおけるトラストアンカーは、信頼の連鎖を構築するための起点である。通常、ルートゾーンの鍵署名鍵の公開鍵、またはそのハッシュがトラストアンカーとしてDNSSEC検証を実施する各バリデーターに設定される。
DNSSECの仕組みについては、DNS Tips「DNSSECの仕組みを教えてください」を、DNSKEYレコードやRRSIGレコードの詳細についてはDNS Tips「DNSSEC用のリソースレコードには何がありますか?」(今後公開予定)を参照。
神戸 直樹(かんべなおき)
所属:株式会社日本レジストリサービス(JPRS) システム部
2004年にJPRS入社。レジストリシステムの開発・保守から、レジストリデータベース、WHOISシステムの管理運用まで幅広い業務にたずさわる。現在は、WHOIS代替プロトコルのプロトタイプ開発、WHOISにおける国際化登録データの要件定義および、データのモデル化の検討などに従事。2009年から2013年にかけてDNSソフトウエアである「BIND 10(現Bundy)」の開発プロジェクトに開発者として参加。
著書・執筆:2009年〜2010年「月刊ASCII.technologies」(アスキーメディアワークス)の連載記事「正しく学ぶDNS」の一部執筆を担当。
Copyright © ITmedia, Inc. All Rights Reserved.