3

ネームサーバー上のDNSKEYは、その親ネームサーバーに保存されているDSを使用して検証できます。RFC4034によると:DSレコードは、DNSKEYRRのダイジェストを含めることによってDNSKEYRRを参照します。

ダイジェストは、DNSKEYRRの完全修飾所有者名の正規形をDNSKEYRDATAと連結し、ダイジェストアルゴリズムを適用することによって計算されます。

 digest = digest_algorithm( DNSKEY owner name | DNSKEY RDATA);

  "|" denotes concatenation

 DNSKEY RDATA = Flags | Protocol | Algorithm | Public Key.

次の例は、DNSKEYRRとそれに対応するDSRRを示しています。

   dskey.example.com. 86400 IN DNSKEY 256 3 5 ( AQOeiiR0GOMYkDshWoSKz9Xz
                                         fwJr1AYtsmx3TGkJaNXVbfi/
                                         2pHm822aJ5iI9BMzNXxeYCmZ
                                         DRD99WYwYqUSdjMmmAphXdvx
                                         egXd/M5+X7OrzKBaMbCVdFLU
                                         Uh6DhweJBjEVv5f2wwjM9Xzc
                                         nOf+EPbtG9DMBmADjFDc2w/r
                                         ljwvFw==
                                         ) ;  key id = 60485
   dskey.example.com. 86400 IN DS 60485 5 1 ( 2BB183AF5F22588179A53B0A
                                          98631FAD1A292118 )

DNSKEYに基づいてDSを生成する方法を誰かに説明してもらえますか?私の具体的な質問は、「DNSKEYRDATA」をどのように連結して生成する必要があるかということです。前もって感謝します。

4

1 に答える 1

3

このページの情報によると:

事実上、ダイジェストは連結された次のフィールドに対して計算されます。

DNSKEY 所有者名: se. (0x 02736500) フラグ: 257 (0x0101) プロトコル: 3 (0x03) アルゴリズム: 5 (0x05) 公開鍵: Aw……</p>

最初の 4 つのフィールド (16 進数) は次のとおりです: 02736500 0101 03 05、

私の質問は、DNSKEY ドメイン名 (この場合は se.) の値を計算する方法でした。私が知らなかった概念は「ワイヤーフォーマット」でした。幸運なことに、イギリスの Nominet の Roy Arends が、それが何であるかを明確に説明してくれました。

「wireformat」のドメイン名は一連のラベルであり、各ラベルの前に長さの値があり、空のラベル (値 0x00) で終わります。

「せ」の場合。ワイヤ形式は次のとおりです: 02 (「se」の長さ)、次に 73 65 (「s」および「e」の ASCII 値の 16 進数表現、その後に空のラベル (値 00) が続きます: 0x 02 73 65 00

ルート (".") の場合、値は 00 であるため、0x00 になります。

「dnssec-tools」の長さは 12 文字なので、長さの値は次のとおりです: 0c 16 進数での dnssec-tools の ASCII 表現: 64 6e 73 73 65 63 2d 74 6f 6f 6c 73 「org」の長さは 3 文字なので、長さの値は次のとおりです: 03 次に、org の 16 進数の ASCII 表現: 6f 72 67 に続く空のラベル: 00

全体として、「dnssec-tools.org」です。0x0c646e737365632d746f6f6c73036f726700 です

ありがとうエイジャン・ロイ。

于 2013-03-21T13:40:08.233 に答える