YOKOHEI.COM

YOKOHEI.COM

DNSSEC 概要と動作

  • DNSSEC intro
  • AD, CD, DO bit
  • DNSSEC 検証

リソースレコード

  • DNSSEC RRs
  • NSEC and NSEC3

NSEC and NSEC3

NSEC

DNSSEC では、存在しないことについての証明が必要になってくる。
そこで、例えば b.example.com という名前を引いて、それが存在しないときに「a.example.com と c.example.com はあるよ」ということを返すことで、 b.example.com が無いことを示す。

例

$ dig yokohei.game. +dnssec +noall +auth

; <<>> DiG 9.10.6 <<>> yokohei.game. +dnssec +noall +auth
;; global options: +cmd
game.           585 IN  SOA ns.uniregistry.net. regops.uniregistry.link. 1561491050 1800 900 604800 86400
game.           86385   IN  NSEC    0.game. NS SOA RRSIG NSEC DNSKEY
yodobashicamera.game.   86385   IN  NSEC    youer.game. NS RRSIG NSEC
game.           885 IN  RRSIG   SOA 5 1 900 20190725183051 20190625183051 40692 game. nq4f31Cp0Jpi97LvIt9sJ4qdCYbj09+A6D9c6xupxYxgoMma0tDQuEMw G5qSTLbV4f651wRYVMEpUv6h81NQfZZpamZFJ0cqaIQsH1JRV2FZV2te fLCBZSunQfFZXGC5bzN5MyCSh79ze6JWdgso6mCidP8GufkUUF5DRM53 dMo=
game.           86385   IN  RRSIG   NSEC 5 1 86400 20190725183051 20190625183051 40692 game. XTny1abC8efSCYfmwBQBbJf85/A2hz81D/bF0V2VtRWKVq2b5r53m8LS 3toDXKj1pyJ91nH45WUZB7VKbrd6LaI72tLe6Q/RqzDUSlxPqD0dQ1C8 Pq16213tmRsDonO3VcD+WoQfEJXopMI4xlKwbzilpBBSEO312ggsycLM tIo=
yodobashicamera.game.   86385   IN  RRSIG   NSEC 5 2 86400 20190725183051 20190625183051 40692 game. IGvq6zKvdwGct25dHqCkKY5soc7XTWjjpUN3AunoAaabbcZ+vs+vkbdB hNZbdsSzpzWug6juC2aDVANt44gxEV4ieU201KrnJICq2EHv0sWgLOXn rGWznLnd1GWDNOB50XX75qW+STBRnue39/E2dQBs99O+a2AYMwWHYIcI RqE=

以下のレコードを見てほしい。

yodobashicamera.game. 86385 IN NSEC youer.game. NS RRSIG NSEC

これを見ると、 yodobashicamera.game. と youer.game. はあるけど、その間の yokohei.com. は無いよ、ということが示されている。

NSEC3

NSEC では、存在しているレコードを返してくれるので、そのゾーンのレコードをすべて取得するようなことが可能となってしまう。
(zone walking または zone enumeration などと呼ばれる)

それを防ぐのが NSEC3 である。
NSEC3 では、レコードをハッシュ化しているので、アルファベット順とはならず、前後のレコードを返されても他のレコードを推測しにくい。

例

$ dig yokohei.moe. +dnssec +noall +auth

; <<>> DiG 9.10.6 <<>> yokohei.moe. +dnssec +noall +auth
;; global options: +cmd
moe.            60  IN  SOA ns1.dns.nic.moe. hostmaster.neustar.biz. 1561481849 900 900 604800 60
h1rg4ums55mmnu7ps81gf0btnhlgm41s.moe. 60 IN NSEC3 1 1 1 D88B3648 H3JAGD025MSC6JE0DVU5412QRMVCACJV  NS SOA RRSIG DNSKEY NSEC3PARAM TYPE65534
dvmdqul6t4qg4473u7ilrbeons63aecc.moe. 60 IN NSEC3 1 1 1 D88B3648 E6DNK36T65VHAOJS0TC4MDIBPBD47AOG  NS DS RRSIG
jhplrbl5mkeocd7l9ejegep01vencu77.moe. 60 IN NSEC3 1 1 1 D88B3648 JMO47AU58CJR0QBE5AMNPGFRPGIG843P  NS DS RRSIG
moe.            60  IN  RRSIG   SOA 8 1 7200 20190725192305 20190625182305 11235 moe. h3RnEIclR6v6v0jXGwTNCrpcJbvAjiHyV4lES+hY326w9S9JyTI6dvV/ C2zP9uoqo0cPRosZXBXJ0dwevSIpN/cXzg8/51qaxnOG7pGggcV/GwWA JbBxVFUllvaXKJXWZWLKaY2h2wCeol7DQ8WpvgUyCc08Q9B21rumNrZR S3W8cTPnkNRuR5zuCtYt8h+gHImOjbvIR4z9dNXIOajW2g==
dvmdqul6t4qg4473u7ilrbeons63aecc.moe. 60 IN RRSIG NSEC3 8 2 60 20190720163345 20190620163003 11235 moe. c/qycU5yDTdsERaqFjQjYVx5BLnurxo+YmkugX9dXOu+EBgFgUvQoE35 VZeuS0uCy9GCVWVYqGHM+ru8BOS2Sb9Qr7imRerLNsE26mmeXCjuTvni 3TKVMv4V9pSa677xl6Jy94n8u1JtuEPxY1dF4+fOdFwQloUKN6mw0VEF H+9XBDAZP93mVxaVqUFHJL8nV5kc0p0k9Nrylf/VNfc1YQ==
h1rg4ums55mmnu7ps81gf0btnhlgm41s.moe. 60 IN RRSIG NSEC3 8 2 60 20190721151140 20190621143121 11235 moe. lFKsmuI2uqtM1YyiQVePgd4KhtyIwjF1TTu1uj3DTTWuf01WZDzcJ6L6 TKaZGnUrXuj5NJnPvNoaI03WgLJRfTZwdDOxCgEKrg9sLqWZ56vDC+ep H6sADf8ri5W/hn0tLb4aJdcebgKniu7cWi8i2h9ZvJzZVrS4I1gaT4w8 flHzJ1ddVAiqmM5LY9PSkKqjUj0DXW3IrZVUcboL7J3dGg==
jhplrbl5mkeocd7l9ejegep01vencu77.moe. 60 IN RRSIG NSEC3 8 2 60 20190721165514 20190621163449 11235 moe. PQZCOlEqi1WGFfqvymfofZlhXRyPmrH0kOWCCD5J/bnBWMwgU8TiNJNi kp+C732qNi1BSYarmIFcDukkPNbIGkZN5ndecxC9j/Cb/XpMY1rAq6dQ afYpKZSurWwK9YGwICvOxNV9xUrgzmkHaHtKZE8P0nI2lsQ1C70DPnEz d/hXOPbcynXHtfAKAHP7XNozm6XvwuA7orsw70QIGiIxOQ==

以下の 2 つが、 yokohei.moe. の前後のものである。

dvmdqul6t4qg4473u7ilrbeons63aecc.moe. 60 IN NSEC3 1 1 1 D88B3648 E6DNK36T65VHAOJS0TC4MDIBPBD47AOG NS DS RRSIG jhplrbl5mkeocd7l9ejegep01vencu77.moe. 60 IN NSEC3 1 1 1 D88B3648 JMO47AU58CJR0QBE5AMNPGFRPGIG843P NS DS RRSIG

以下については、 NS や SOA があるので moe. のハッシュ値だろう。

h1rg4ums55mmnu7ps81gf0btnhlgm41s.moe. 60 IN NSEC3 1 1 1 D88B3648 H3JAGD025MSC6JE0DVU5412QRMVCACJV NS SOA RRSIG DNSKEY NSEC3PARAM TYPE65534

← DNSSEC RRs
▼ Codes ▼
LeetCodeGitHub
▼ Profile ▼
LinkedInFlickr
▼ Logo made with DesignEvo ▼
DesignEvo
Copyright © 2020 Kohei Yoshida