<div dir="ltr">This may not be the right place to ask, if this is a better question asked in a different list, please let me know.<div><br></div><div>I am curious as to how BIND generates and processes DS RRSIG, and this may not be unique to BIND, since I've seen this behavior across multiple vendors. From the following:</div><div><br></div><div>$ dig <a href="http://example.com">example.com</a>. DS +dnssec +nocrypto <br><br>; <<>> DiG 9.12.2-P2 <<>> <a href="http://example.com">example.com</a>. DS +dnssec +nocrypto<br>;; global options: +cmd<br>;; Got answer:<br>;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48102<br>;; flags: qr rd ra ad; QUERY: 1, ANSWER: 7, AUTHORITY: 0, ADDITIONAL: 1<br><br>;; OPT PSEUDOSECTION:<br>; EDNS: version: 0, flags: do; udp: 4096<br>;; QUESTION SECTION:<br>;<a href="http://example.com">example.com</a>.                    IN      DS<br><br>;; ANSWER SECTION:<br><a href="http://example.com">example.com</a>.           84558   IN      DS      43547 8 2 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      DS      31406 8 1 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      DS      31406 8 2 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      DS      31589 8 1 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      DS      31589 8 2 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      DS      43547 8 1 [omitted]<br><a href="http://example.com">example.com</a>.                84558   IN      RRSIG   DS 8 2 86400 20190709042256 20190702031256 3800 com. [omitted]<br></div><div><br></div><div>;; Query time: 228 msec<br>;; SERVER: 10.0.22.1#53(10.0.22.1)<br>;; WHEN: Wed Jul 03 01:27:42 PST 2019<br>;; MSG SIZE  rcvd: 455<br></div><div><br></div><div>There are 6 DS records total, but only 1 RRSIG. This leads me to believe that the single RRSIG is generated by somehow concatenating all DS records together. This then leads me to believe that the validating resolver needs to process _all_ DS records, not just the ones whose key tag matches the child zone's KSK. Is this true? It seems like a small overhead in the grand scheme of things, but that seems inefficient, if multiple DS records are left at the parent zone after a couple of key rollovers.</div><div><br></div><div>Any information on this would be appreciated.</div><div><br></div><div>-Josh</div></div>