RFC 4034
DNSSEC.jp プロトコル理解SWG	
インターネットマルチフィード㈱	
  
豊野 剛	
  
平塚 健太	

RFC4034の構成（1.intro)	
• DNSSECにて新たに導入された4つのRR｛DNSKEY,	
  RRSIG,	
  NSEC,	
  DS}についての定義	
  – RRの目的	  – RRの資源データ(RDATA)の目的	
  – RRの表示フォーマット(ASCII表現)	
  example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG
2DeIQ3Cbl+BBZH4b/0PY1kxkm
vHjcZc8no kfzj31GajIQKY+5CptL
r3buXA10h WqTkF7H6RfoRqXQe
ogmMHfpftf6zMv1LyBUgia7za6
ZEzOJBOztyvhjL742iU/TpPSEDhm
2SNKLijfUppn1U aNvv4w== ) 	
INTERNET	  MULTIFEED	  CO.	

2	

RFC4034の構成（1.intro)	
• DNSSECにて新たに導入された4つのRR｛DNSKEY,	
  RRSIG,	
  NSEC,	
  DS}についての定義	
  – RRの目的	  – RRの資源データ(RDATA)の目的	
  – RRの表示フォーマット(ASCII表現)	
  RR	

example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG
2DeIQ3Cbl+BBZH4b/0PY1kxkm
vHjcZc8no kfzj31GajIQKY+5CptL
r3buXA10h WqTkF7H6RfoRqXQe
ogmMHfpftf6zMv1LyBUgia7za6
ZEzOJBOztyvhjL742iU/TpPSEDhm
2SNKLijfUppn1U aNvv4w== ) 	
INTERNET	  MULTIFEED	  CO.	

3	

RFC4034の構成（1.intro)	
• DNSSECにて新たに導入された4つのRR｛DNSKEY,	
  RRSIG,	
  NSEC,	
  DS}についての定義	
  – RRの目的	  – RRの資源データ(RDATA)の目的	
  – RRの表示フォーマット(ASCII表現)	
  example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG
2DeIQ3Cbl+BBZH4b/0PY1kxkm
vHjcZc8no kfzj31GajIQKY+5CptL
r3buXA10h WqTkF7H6RfoRqXQe
RDATA	
ogmMHfpftf6zMv1LyBUgia7za6
ZEzOJBOztyvhjL742iU/TpPSEDhm
2SNKLijfUppn1U aNvv4w== ) 	
INTERNET	  MULTIFEED	  CO.	

4	

RFC4034の構成（1.intro)	
• DNSSECにて新たに導入された4つのRR｛DNSKEY,	
  RRSIG,	
  NSEC,	
  DS}についての定義	
  – RRの目的	  – RRの資源データ(RDATA)の目的	
   表示フォーマット	
– RRの表示フォーマット(ASCII表現)	
  example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG
2DeIQ3Cbl+BBZH4b/0PY1kxkm
vHjcZc8no kfzj31GajIQKY+5CptL
r3buXA10h WqTkF7H6RfoRqXQe
ogmMHfpftf6zMv1LyBUgia7za6
ZEzOJBOztyvhjL742iU/TpPSEDhm
2SNKLijfUppn1U aNvv4w== ) 	
INTERNET	  MULTIFEED	  CO.	

5	

RFC4034の構成（1.intro)	
• 章の構成	  – １．IntroducDon	  – ２．DNSKEYの定義	
  – ３．RRSIGの定義	
  – ４．NSECの定義	
  – ５．DSの定義	
  – ６．正規表現のルール	
  – ７．IANAによるRFC変更の推移	
  – ８．セキュリティについて	
  INTERNET	  MULTIFEED	  CO.	

6	

2.The	  DNSKEY	
  RR
	• DNSSECはRRsetの署名と認証に公開カギ
暗号方式を使用します。	

INTERNET	  MULTIFEED	  CO.	

7	

2.The	  DNSKEY	
  RR
	• DNSSECはRRsetの署名と認証に公開カギ
暗号方式を使用します。	
$TTL 86400
@
IN

)

dns-b
dns-b
dns-b
www

SOA dns.example.jp. root.example.jp. (2002122001 ; serial
3600; refresh 1hr
900; retry 15min
604800 ; expire 1w
86400; min 24hr
ゾーンの中の

IN
IN
IN
IN

NS dns-a.example.jp.
NS dns-b.example.jp.
MX 10 mail-b.example.jp.
MX 10 mail-c.example.jp.

IN
IN
IN
IN

A
A
A
A

同じ署名者で同じRRの集まり||
RRset	

192.168.10.2
192.168.10.1
192.168.10.11
192.168.10.3 	
INTERNET	  MULTIFEED	  CO.	

8	

2.The	  DNSKEY	
  RR
	• DNSSECはRRsetの署名と認証に公開カギ
暗号方式を使用します。	
  • DNSKEY	
  RRはRRsetの署名に使用した秘密鍵に対応する公開鍵を保存するRRです。	
  • このRRを公開鍵の保存以外に使用しないでください	
INTERNET	  MULTIFEED	  CO.	

9	

2.The	  DNSKEY	
  RR
	• DNSKEY	
  RRのタイプ値は４８	

INTERNET	  MULTIFEED	  CO.	

10	

2.The	  DNSKEY	
  RR
	• DNSKEY	
  RRのタイプ値は４８	
egistry:
TYPE
Value and meaning----------- --------------------------------------------A
1 a host addressNS
2 an authoritative name serverMD
3 a mail destination (Obsolete - use MX)MF
4 a mail forwarder (Obsolete - use MX)
CNAME 5 the canonical name for an alias
SOA
6 marks the start of a zone of authority
MB
7 a mailbox domain name (EXPERIMENTAL)
MG
8 a mail group member (EXPERIMENTAL)
MR
9 a mail rename domain name (EXPERIMENTAL)
NULL
10 a null RR (EXPERIMENTAL)
WKS
11 a well known service description
PTR
12 a domain name pointerHINFO 13 host information
MINFO 14 mailbox or mail list information
MX
15 mail exchange
TXT
16 text strings
・・・DS
43 Delegation Signer
SSHFP
44 SSH Key Fingerprint
IPSECKEY45 IPSECKEY
RRSIG
46 RRSIG
NSEC
47 NSEC
DNSKEY 48 DNSKEY
DHCID
49 DHCID
NSEC350 NSEC3

Reference--------[RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC1035][RFC4034][RFC3658][RFC4255][RFC4025][RFC4034][RFC3755][RFC4034][RFC3755][RFC4034][RFC3755][RFC4701][RFC5155]	

INTERNET	  MULTIFEED	  CO.	

11	

2.The	  DNSKEY	
  RR
	• DNSKEY	
  RRのタイプ値は４８	  • DNSKEY	
  RRはクラス（ex.	
  IN)に依存しません	  • DNSKEY	
  RRは特別なTTLを持っていません	

INTERNET	  MULTIFEED	  CO.	

12	

2.1	
  DNSKEY	
  RDATA	
  Wire	  Format	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Flags| Protocol| Algorithm |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Public Key///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 	

INTERNET	  MULTIFEED	  CO.	

13	

2.1.1	
  The	
  Flags	
  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Flags| Protocol| Algorithm |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Public Key///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 	

•

ビット７の値が１(256)ならDNSSECの公開鍵が格納されています	
  •ビット１５の値が1(257)ならSEPとして使用されます	
  – 実際の運用ではビット７が立っていればZSKが格納されています	
  ビット１５が立っていればKSKが格納されています	
  •ビット0〜6, 8〜14は予約です。	
  INTERNET	  MULTIFEED	  CO.	

14	

2.1.2	
  The	
  Protocol	
  Field	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Flags| Protocol| Algorithm |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Public Key///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 	

• プロトコルフィールドは３です。	
  • 3以外であれば不正データとして、エラー処理をしなければなりません。	
  INTERNET	  MULTIFEED	  CO.	

15	

2.1.3.	
  The	
  Algorithm	
  Field	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Flags| Protocol| Algorithm |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Public Key///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 	

• 公開鍵暗号のアルゴリズムを定義します。（付録A.1参照）	
  
Value
----0
1
2
3
4
5

Algorithm [Mnemonic]
Zone Signing---------------------------reserved
RSA/MD5 [RSAMD5]nDiffie-Hellman [DH]nDSA/SHA-1 [DSA]yElliptic Curve [ECC]
RSA/SHA-1 [RSASHA1]yReferences----------

Status---------[RFC2537][RFC2539][RFC2536]

NOT RECOMMENDED[RFC3110]

MANDATORY	INTERNET	  MULTIFEED	  CO.	OPTIONAL

16	

2.1.4.	
  The	
  Public	  Key	
  Field	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Flags| Protocol| Algorithm |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Public Key///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 	

• 公開鍵を格納します	
  INTERNET	  MULTIFEED	  CO.	

17	

2.2.	
  The	  DNSKEY	
  RR	
  PresentaDon	
  Format	  	
example.com. 86400 IN DNSKEY 256 3 5 ( AQPSKmynfzW4kyBv015MUG
2DeIQ3Cbl+BBZH4b/0PY1kxkm
vHjcZc8no kfzj31GajIQKY+5CptL
r3buXA10h WqTkF7H6RfoRqXQe
フラグフィールド
ogmMHfpftf6zMv1LyBUgia7za6
２５６ ZSK	ZEzOJBOztyvhjL742iU/TpPSEDhm
2SNKLijfUppn1U aNvv4w== ) 	

プロトコルフィールド３	
アルゴリズムフィールド

5

RSA/SHA-1 [RSASHA1]	

公開鍵フィールド

Base64でコーディング	

INTERNET	  MULTIFEED	  CO.	

18	

3.	
  The	
  RRSIG	
  RR
	• RRSIG	  RRはRRsetに対して施されたデジタル
署名を格納するRRです。	
  • それ以外には使用しないでください	
  •全てのRRsetは署名によって守られている必要があるので、 本来別のRRに利用されてはいけないCNAMEに対しても署名します。	
  これにより[RFC1034]で規定されているCNAMEに関する仕様が変更されています。	
  INTERNET	  MULTIFEED	  CO.	

19	

3.	
  The	
  RRSIG	
  RR
	• RRSIG	
  RRのタイプ値は４６	
  • RRSIG	  RRはクラス（ex.	
  IN)に依存しません	  • RRSIG	
  RRのTTLは必ず署名したRRsetのTTLと同じになります。	

INTERNET	  MULTIFEED	  CO.	

20	

3.1.	
  RRSIG	  RDATA	
  Wire	  Format	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

INTERNET	  MULTIFEED	  CO.	

21	

3.1.1.	
  The	
  Type	  Covered	
  Field	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

• 署名されたRRの種類を識別します。	
  （A,MX,NS・・・・）	
  INTERNET	  MULTIFEED	  CO.	

22	

3.1.2.	
  The	
  Algorithm	
  Number	  Field	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

• 公開鍵暗号のアルゴリズムを定義します。（付録A.1参照）	
  
Value
----0
1
2
3
4
5

Algorithm [Mnemonic]
Zone Signing---------------------------reserved
RSA/MD5 [RSAMD5]nDiffie-Hellman [DH]nDSA/SHA-1 [DSA]yElliptic Curve [ECC]
RSA/SHA-1 [RSASHA1]yReferences----------

Status---------[RFC2537][RFC2539][RFC2536]

NOT RECOMMENDED[RFC3110]

MANDATORY	INTERNET	  MULTIFEED	  CO.	OPTIONAL

23	

3.1.3.	
  The	  Labels	  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	•

署名に使用されたowner(ゾーン名等）のラベル数を指定します。	
  –•host.example.jp	
  	
  =	
  	
  3	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  *	
  .	
  example.jp	
  	
  =	
  2	
  	
  	
  	
  	
  	
  	
  	
  	
  ルートラベル =	
  	
  0	
  

検証するために元のowner名が必要だが、*を含んでいると回答処理で	
  *	
  .example.jp	
  が host.example.jpに拡張されたかもしれない。	
  その場合host.example.jp	
  	
  	
  label=2	
  となっており、*	
  .example.jpが元ownerだと判別できます。	
  INTERNET	  MULTIFEED	  CO.	

24	

3.1.4.	
  Original	
  TTL	
  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	••

署名されたRRsetの元のTTLを指定します。	
  検証するには元のTTLが必要です。キャッシュリゾルバのTTLは常に減少していくので、使えません。	
  INTERNET	  MULTIFEED	  CO.	

25	

3.1.5.	
  Signature	
  ExpiraDon	
  and	  IncepDon	
  Fields	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	••

署名の開始時間と終了時間を指定することで有効期間を示しています。	
  開始時間を指定できるということは、複数のRRSIG	  RRが共存することが可能になります。	  RRSIG A 	  RRSIG A 	  終了時期3/15	
無効	
RRSIG A 	  RRSIG A 	  開始時期3/15	
有効	
3/5	
3/15	
INTERNET	  MULTIFEED	  CO.	

26	

3.1.6.	
  The	  Key	  Tag	
  Field	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

•
•
•
•

署名に使用された鍵の番号を鍵タグと呼びます	  Key	
  tag	
  ﬁeldは鍵タグを含んでいます。	
  DNSKEYを複数見つけた場合、どのDNSKEYで検証すればいいのかを示しています。	
  鍵タグの作り方は付録Bを参考	

INTERNET	  MULTIFEED	  CO.	

27	

3.1.7.	
  The	
  Signer's	
  Name	  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	•

この署名に使用するDNSKEY	
  RRの所有者名を指定します。	
  ––所有者名は署名されているRRsetのゾーン名を含んでいる必要があります。	
  このフィールドの所有者名は省略することはできません。	

INTERNET	  MULTIFEED	  CO.	

28	3.1.8.	
  The	
  Signature	
  Field	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Type Covered|
Algorithm |Labels|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Original TTL|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Expiration|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|
Signature Inception|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag|/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+//
Signer's Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+///
Signature///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	••

署名を格納する署名フィールドです。	
  
署名はRRSIG	
  RDATAの署名フィールドを除いた部分と署名されたRRsetが含まれています。 	

INTERNET	  MULTIFEED	  CO.	

29	

3.1.8.1.	
  Signature	
  CalculaDon	
  	• 署名の計算は下記のように行われます。	
  RRset	

署名フィールドの署名	

RR	
  A1	
  

RRSIG	
  
RDATA	
  

(署名フィールド
以外）	

•
•
•
•
•

Owner	  |	
  type	  class	  |	  TTL	
  
RDATA	
  length	
  RDATA	
  

RR	
  A2	
  

Owner	  |	
  type	  class	  |	  TTL	
  
RDATA	
  length	
  RDATA	
  

RR	
  A3	
  

Owner	  |	
  type	  class	  |	  TTL	
  
RDATA	
  length	
  RDATA	  

RRの数が多くなればなるほど、署名にかかる計算は増えます。	
  Ownerは省略されず正規表現での完全所有者名になります。	
  RRsetの所有者名はRRSIG	  RRの所有者名と同一でなければなりません。	
  RRsetのクラスはRRSIG	  RRのクラスと同一でなければなりません。	
  	
  RRsetのRRはRRSIG	
  のtype	
  cover	
  ﬁeldと同一でなければなりません。	
  INTERNET	  MULTIFEED	  CO.	

30	

3.2.	
  The	
  RRSIG	
  RR	
  PresentaDon	
  Format	
  	
RRsetの種別	

アルゴリズムラベル=3
５= RSA/SHA-1	

元TTL

有効期限

host.example.com. 86400 IN RRSIG A 5 3 86400 20030322173103( 20030220173103 2642 example.com.
oJB1W6WNGv+ldvQ3WDG0MQkg5IEhjRip8WTr
開始時間	
PYGv07h108dUKGMeDPKijVCHX3DDKdfb+v6o
B9wfuh3DTJXUAfI/M0zmO/zz8bW0Rznl8O3t
GNazPwQKkRN20XPXV6nwwfoXmJQbsLNrLfkG
J5D6fwFm8nN+6pBzeDQfsS3Ap3o= ) 	

鍵タグ	

署名者名	

INTERNET	  MULTIFEED	  CO.	

署名	

31	

4.	
  The	
  NSEC	  Resource	  Record	• NSEC	  RRの中には下記の二つが記載されます。	
  – 権威をもつ、もしくは委譲先NSレコードをもつ、	
  次の所有者名（owner	
  name)	
  • aaa.example.jp	
  	
  	
  	
  	
  	
  IN	
  	
  	
  	
  A	
  	
  	
  	
  192.168.0.1	
  • bbb.example.jp	
  	
  	
  	
  	
  	
  IN	
  	
  	
  	
  A	
  	
  	
  	
  192.168.0.2	
  – NSEC	  RRの所有者(owner)の全RR	
  type	  • aaa.example.jp	
  	
  	
  	
  	
  	
  IN	
  	
  	
  	
  A	
  	
  	
  	
  	
  	
  	
  	
  192.168.0.1	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  MX	
  	
  	
  	
  	
  192.168.0.2	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  RRSIG	
  A	
  5	
  3	
  86400	
  ・・・・・	
  INTERNET	  MULTIFEED	  CO.	

32	

4.	
  The	
  NSEC	  Resource	  Record	•

次の所有者名を表記していくので・・・	
  – aaa.example.jp	
  – bbb.example.jp	
  – zzz.example.jp	
  ccc.example.jpは存在しないと証明できる。
不在証明といわれる所以	

•

次の所有者名はCNAMEも含まれるため、 本来別のRRに利用されてはいけないCNAMEに対してもNSECを付与します。	
  これにより[RFC1034]で規定されているCNAMEに関する仕様が変更されています。	
  •ゾーン署名者がどのNSEC	  RRをゾーンに含めなくてはならないのかは	  [RFC4035]を見てください	  INTERNET	  MULTIFEED	  CO.	

33	

4.	
  The	
  NSEC	  Resource	  Record	• NSEC	  RRのタイプ値は４７	
  • NSEC	  RRはクラス（ex.	
  IN)に依存しません	  • NSEC	  RRのTTLはSOAの最小TTLと同じになるべきです。	
  
これはネガティブキャッシュの考え方と同じです。	
INTERNET	  MULTIFEED	  CO.	

34	

4.1.	
  NSEC	  RDATA	
  Wire	  Format	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Next Domain Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Type Bit Maps/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

INTERNET	  MULTIFEED	  CO.	

35	

4.1.1.	
  The	  Next	  Domain	  Name	  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Next Domain Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Type Bit Maps/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	
– 次の所有者名（owner	
  name)については正規順序で指定します。	
  正規順序については6.1章を参考	
  – ゾーン中、最後のNSEC	  RRは先頭のowner	
  nameを指定します。これにより、最後であることを示します。	
  – このフィールドのowner	
  nameは省略してはなりません。	
  – Next	  domain	
  name	  にリストアップされるには、そのowner	
  nameに最低でも一つ、権威をもつRRsetが必要になります。	
  INTERNET	  MULTIFEED	  CO.	

36	

4.1.2.	
  The	
  Type	  Bit	
  Maps	  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Next Domain Name/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+/
Type Bit Maps/+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 	

•Owner	
  name	  に存在するRRsetを識別し、全てを列挙します	
  •RRsetはビットマップで表記します。	
  •注意点はNS	  RRに対してのNSECです	
  – 権威をもっているowner	
  nameのNS	
  RRに対してはNSEC	  RRを作らなければなりません。	
  – 権威をもっていない、単なるglue	
  recordに対してはNSEC	  RRを付けてはいけません。	
  INTERNET	  MULTIFEED	  CO.	

37	

4.1.3.	
  Inclusion	
  of	
  Wildcard	
  Names	  in	
  NSEC	  RDATA	*.example.jp	

ワイルドカードは、文字として扱われます。
拡張はしません。	

INTERNET	  MULTIFEED	  CO.	

38	

4.2.	
  The	
  NSEC	
  RR	
  PresentaDon	
  Format	
次のドメイン名	

alfa.example.com. 86400 IN NSEC host.example.com. (A MX RRSIG NSEC TYPE1234 ) 	

alfa.example.comが持つRRset	

INTERNET	  MULTIFEED	  CO.	39	

5.	
  The	  DS	  Resource	  Record	• DS	
  RRは鍵タグ・アルゴリズム・DNSKEY	
  RRのハッシュ値を保存します	
  – この段階ではZSK	  KSKの概念が存在しないので、単なるDNSKEYと言っているが、現在の運用ではKSKのDNSKEY	
  RRである。	
  – 鍵認証のプロセスは[RFC4035]で記述されます。	
  

• DS	
  RR	
  は同じowner	
  nameを持つが、保存場所は異なり、上位ゾーンのみに出現します。	
  – プロセスは[RFC4035]で記述されます。	
  INTERNET	  MULTIFEED	  CO.	40	

5.	
  The	  DS	  Resource	  Record	• DS	
  RRのタイプ値は４3	
  • DS	
  RRはクラス（ex.	
  IN)に依存しません	
  • DS	  RRには特別なTTL条件がありません	

INTERNET	  MULTIFEED	  CO.	

41	

5.1.	  DS	  RDATA	
  Wire	  Format	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag| Algorithm |Digest Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++- ///Digest///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-	

INTERNET	  MULTIFEED	  CO.	

42	

5.1.1.	
  The	  Key	  Tag	
  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag| Algorithm |Digest Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++- ///Digest///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-	

• DNSKEY	
  RRの鍵タグを指定します。	
  • 鍵タグはRRSIG	
  RR	
  の鍵タグと同一です。	
  INTERNET	  MULTIFEED	  CO.	

43	

5.1.2.	
  The	
  Algorithm	
  Field	
  	1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag| Algorithm |Digest Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++- ///Digest///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-	

• DNSKEY	
  RRのアルゴリズムを指定します。	
  • アルゴリズムはRRSIG	  RR,DNSKEY	
  RRのものと同一です。	
INTERNET	  MULTIFEED	  CO.	

44	

5.1.3.	
  The	  Digest	
  Type	  Field	

•

1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag| Algorithm |Digest Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++- ///Digest///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-	

メッセージダイジェスト（ハッシュ）を作る際のアルゴリズムを指定します。	
  値は付録A.2を参照	
  
VALUE
0
1
2-255

Algorithm
Reserved
SHA-1
Unassigned

INTERNET	  MULTIFEED	  CO.	STATUSMANDATORY-	

45	

5.1.4.	
  The	  Digest	
  Field	
1111111111222222222233
01234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Key Tag| Algorithm |Digest Type |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++- ///Digest///+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-	

• DNSKEY	
  RRのダイジェストを保存します	
Digest type	

DNSKEY	
  Owner	
  name	

DNSKEY	
  RDATA	

INTERNET	  MULTIFEED	  CO.	

Digest	46	

5.2.	
  Processing	
  of	
  DS	
  RRs	
  When	
  ValidaDng	
  Responses	

• DS	
  RRで指定されているDNSKEY	
  RRはDNSSE
Cの鍵でなくてはなりません。	
  つまり、ビット７のフラグが立っている必要があります。	
  • もしビット７が立っていなければ、	
  そのDNSKEY	
  RRとDS	
  RRは検証プロセスで	
  使用されてはなりません。	

INTERNET	  MULTIFEED	  CO.	

47	

5.3.	
  The	  DS	  RR	  PresentaDon	
  Format	dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A
98631FAD1A292118 )	

鍵タグ	

DNSKEY アルゴリズム	

Digest アルゴリズム	
Digest
ここは16進数で表記すること	

INTERNET	  MULTIFEED	  CO.	48	6.	
  Canonical	
  Form	  and	
  Order	  of	
  Resource	  Records	• この章では下記を定義します	
  – RRの正規表現	
  – RRsetの正規順序	
  – DNS名(owner	
  name)の正規順序 for	
  NSEC	

INTERNET	  MULTIFEED	  CO.	

49	

6.1.	  Canonical	
  DNS	  Name	  Order	•

所有者名は個別のラベルを、符号なし、左揃えのオクテット列と取り扱うことで順序づけられています。	
  •ASCII大文字はASCII小文字として扱います。	
  •並べ替えは最上位ラベル(最右）から順番に行います。	
  examplea.example
yljkjljk.a.example
Z.a.example
zABC.a.EXAMPLE
z.example\001.z.example*.z.example\200.z.example	
INTERNET	  MULTIFEED	  CO.	

50	

6.2.	  Canonical	
  RR	
  Form	•

ドメイン名を完全に拡張し、DNS名省略を行いません	  •RRの大文字US-­‐ASCIIは小文字に変換されます。	
  

•

RR	
  typeがNS,	
  MD,	  MF,	
  CNAME,	
  SOA,	
  MB,	
  MG,	
  MR,	
  PTR,	
  HINFO,	
  MINFO,	
  MX,	
  HINFO,	
  RP,	
  AFSDB,	
  RT,	
  SIG,	
  PX,	
  NXT,	
  NAPTR,	
  KX,	
  SRV,	
  DNAME,	
  A6,	  RRSIG,	
  or	
  NSECであれば、RDATA内のUS-­‐ASCII大文字は小文字に変換
されます	
  

•

「＊」ワイルドカードは拡張しません。	
  •RRのTTLは権威ゾーン、もしくはRRSIG	
  のoriginal	
  TTL	
  ﬁeldのTTLを設定します	

INTERNET	  MULTIFEED	  CO.	

51	6.3.	  Canonical	
  RR	
  Ordering	
  within	
  an	
  RRset	• 同じ所有者名、クラス、typeのRRはRDATAを左揃え、符号な
しのオクテット列として並べ替えます。	
  • [RFC2181]にてRRset内のRRは重複レコードを含めないと明示されている。	
  通常であればプロトコルエラーの処理になるが、	  頑健性の一般原則（自分に厳しく、他人にやさしく）に従う
なら、重複レコードを一つ残して他削除という処理をする	
  INTERNET	  MULTIFEED	  CO.	52	

7.	
  IANA	  ConsideraDons	
• 今までのプロトコルパラメータ変更の歴史を書いています。	
  • 興味がある方はご覧ください	  • ただし、この後にも多々変更されていることに注意してください	

INTERNET	  MULTIFEED	  CO.	53	

8.	
  Security	
  ConsideraDons	
•

このRFCは新しい4つのRRのフォーマットを記述するものであり、下記以外のセキュリティについては紹介しません。	
  詳しくはRFC4033,4035	
  – DS	
  RRに登録するハッシュは破られる可能性があり、その強度はハッシュに変換するアルゴリズムに依存します。（SHA-­‐1)	
  しかし、DS	  RRのアルゴリズムと鍵タグとハッシュが一致する公開鍵をそこから作成するのは困難です。	
  – 鍵タグは効率的にDNSKEY	
  RRを探すために使われますが、DNSKEYが全く同じ鍵タグを持つことが可能です。	
  そのため、鍵タグだけを使用する実装であれば、間違った更改鍵を選ぶ可能性があります。	
  INTERNET	  MULTIFEED	  CO.	

54