4. DS リソースレコード
DS(Delegation Signer、委任署名者)リソースレコード(RR)は、DNSSEC 用の DNSKEY RR を参照する。DS RR は、子ゾーン(child zone)のトラストアンカーを親ゾーン(parent zone)へ安全に伝達するために使用される。DS RR は、子ゾーンの名前と同じ名前を持つノードの親ゾーンに置かれる。
DS RR の RDATA フォーマットは以下のとおりである。
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Tag | Algorithm | Digest Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ /
/ Digest (ダイジェスト型により可変長) /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DS RR の RDATA は以下のように表現および符号化される。
- キータグ(KEY TAG)は符号なし 16 ビット整数であり、ネットワークバイト順で並べられ、参照される DNSKEY RR を識別する。
- アルゴリズム(ALGORITHM)は符号なし 8 ビット整数であり、参照される DNSKEY RR のアルゴリズムを識別する。
- ダイジェスト型(DIGEST TYPE)は符号なし 8 ビット整数であり、ダイジェストの計算に使用される暗号ハッシュアルゴリズムを識別する。
- ダイジェスト(DIGEST)は可変長のバイト列であり、第 4.1 節で述べるように、参照される DNSKEY RR のハッシュ値を含む。
4.1. DS RDATA のダイジェストフィールド
Digest フィールドの内容は、DIGEST TYPE フィールドで指定されたハッシュアルゴリズムを用いて、子ゾーンの対応する DNSKEY RR の RDATA に対して計算されたハッシュ値である。
DS レコードのダイジェストの計算に使用される DNSKEY RDATA は、フラグ、プロトコル、アルゴリズム、および公開鍵フィールドを含む(ただし DNSKEY RR の TTL、クラス(class)、または所有者名は含まない)DNSKEY RR の RDATA であり、これはリソースレコードの正規形式(第 6 節参照)で表される。
DIGEST TYPE が 1(SHA-1)の場合、DNSKEY RDATA の正規形式に対して SHA-1 ハッシュアルゴリズム [FIPS180-1] を使用してダイジェストを計算する。Sha-1 は本書執筆時点で定義されている唯一のダイジェスト型である。
4.2. DS RDATA のキータグフィールド
KEY TAG フィールドは符号なし 16 ビット整数であり、ネットワークバイト順で並べられ、子ゾーンの対応する DNSKEY RR を識別する。これは、参照される DNSKEY RR のキータグ(付録 B のアルゴリズムを使用して計算)と等しくなければならない(MUST)。
4.3. DS RDATA のアルゴリズムフィールド
ALGORITHM フィールドは符号なし 8 ビット整数であり、参照される DNSKEY RR のアルゴリズムを識別する。これは、対応する DNSKEY RR の ALGORITHM フィールドと等しくなければならない(MUST)。
4.4. DS RDATA のダイジェスト型フィールド
DIGEST TYPE フィールドは符号なし 8 ビット整数であり、DIGEST フィールドの計算に使用されるハッシュアルゴリズムを識別する。現在定義されている唯一の値は 1(SHA-1)である。
4.5. DS 表現フォーマット
DS RR の表現フォーマット(presentation format)は以下のとおりである。
- キータグは 10 進整数で表される。
- アルゴリズムは 10 進整数で表される。
- ダイジェスト型は 10 進整数で表される。
- ダイジェストは、空白を含まない 16 進表現のバイト列で表される(Base64 とは異なる)。
例:
example.com. 3600 IN DS 60485 5 1 (
2BB183AF5F22588179A53B0A98631FAD1A292118 )
4.6. DS RR に関する特記事項
DS レコードは、親ゾーンから子ゾーンへの信頼の連鎖(chain of trust)を確立する。検証器は、子ゾーンの DNSKEY と一致する(キータグ、アルゴリズム、およびダイジェストによって)DS レコードを親ゾーンで見つけなければ、その子ゾーンを認証済み(authenticated)とはみなしてはならない(MUST NOT)。
子ゾーンが署名されているが親ゾーンに対応する DS レコードが存在しない場合、その子ゾーンは検証済みとはみなしてはならない(MUST NOT)。
関連章ナビゲーション: