DNS/DNSSEC/RFC4035について、ここに記述してください。
http://tools.ietf.org/html/rfc4035
1. 5. DNS応答の認証
1.1. resolver への要請
リゾルバが(DOビットを設定して)DNSSECサポートを明示した場合、
- DNSSEC対応ネームサーバは必要なDNSKEY、RRSIG、NSECおよびDS RRsetを応答で提供しようと試みるべきである(セクション3参照)。
しかし、上流にあるDNSSEC非対応再帰ネームサーバが偶然DNSSEC RRを抑制したり、 意図的な攻撃による応答の改ざんでDNSSEC RRが消去される、 あるいは問合わせを一部変更されてDNSSEC RRを要求できないなどの理由により、 DNSSEC対応リゾルバは依然として適切なDNSSEC RRを欠いた応答を受信する場合がある。
リゾルバは応答の中にDNSSECデータが存在しないという事実から、認証情報が存在しないと解釈してはならない(MUST NOT)。
DNSSEC非対応のサーバには再度問い直しする必要があるということか。JPの場合はDNSSECサポートが明示されているが。 どういう動作をすべきかは5.2にあるのか。
リゾルバは署名ゾーンから認証情報が得られると期待すべき(SHOULD)である。 リゾルバは、あるゾーンに関する公開鍵が設定されているか、または あるゾーンの親が署名付きでその親からの委任にDS RRsetが設定されている場合、 そのゾーンは署名付きであると見なすべき(SHOULD)である。
5.2. 参照の認証
If no DS RRset is present at the delegation point, the name server MUST return both the NSEC RR that proves that the DS RRset is not present and the NSEC RR's associated RRSIG RR(s) along with the NS RRset. The name server MUST place the NS RRset before the NSEC RRset and its associated RRSIG RR(s).
親ゾーンから得られた参照がDS RRsetを含まない場合、 委任された名前に関する DS RRsetが存在しないことを証明する署名付きNSEC RRsetが応答には含まれているべきである(セクション3.1.4参照)。
DNSSEC対応リゾルバは、参照に DS RRsetもDS RRsetの不在証明をするNSEC RRsetも含まれていない場合、 親ゾーンのネームサーバに対してDS RRsetに関する問合わせをしなければならない(MUST)(セクション4参照)。
バリデータがゾーンにDS RRsetが存在しないことを証明するNSEC RRsetを認証した場合、親から子に至る認証の経路は存在しない。
認証できなかった場合のことは記述されていない。 偽委譲の可能性があるのではないか。
5.3.2. 署名付きデータの再構成
- 委任境界にあるNSEC RRsetは特別な処理を必要とする。
署名付きの委任された名前に関して、2つの異なるNSEC RRsetが存在する。
- 1つ目のNSEC RRsetは親ゾーンに存在し、親ゾーンに存在するRRsetを指定する。 2つ目のNSEC RRsetは子ゾーンに存在し、子ゾーンの頂点にあるRRsetを特定する。
子ゾーン側のNSEC RRだけが名前に対するSOA RRsetが存在することを示すので、
- 親ゾーン側のNSEC RRsetと子ゾーン側のNSEC RRsetは常に識別可能である。
親ゾーン側にある委任に関するオリジナルのNSEC RRsetを再構成する際に、
- 親側のNSEC RRを子側のNSEC RRと混同してはならない(MUST NOT)。
子ゾーンの頂点にあるオリジナルNSEC RRsetを再構成する際に、子側の
- NSEC RRを親ゾーンのNSEC RRと混同してはならない(MUST NOT)。
委任境界にある2つのNSEC RRsetは、それぞれ対応するRRSIG RRを持つ。
- どちらのRRSIG RRも委任された名前を所有者名に持ち、署名対象のNSEC RRsetが存在するゾーンにおいて権威を持つデータである。
リゾルバは、必要であればRRSIG RRの署名者名フィールドを検査することにより、 これらのRRSIG RRを区別することができる。