When experimenting with what would happen if we defined a well known TSIG key 
to provide a crypto hash for DNS/UDP to prevent fragmentation attacks being 
accepted it became clear that RFC2845 was not clear enough in error condition 
handling. See https://ednscomp.isc.org/compliance/alexa1m-tsig-wkk.txt for a 
summary of the results (this is being regenerated monthly).

The setting of the time fields on BADKEY is not well defined.  We had 
implementations setting the values to zero. Handling of BADKEY with a bad time 
is also not handled well.  I would recommend always copying the time fields 
from the request to the response for BADKEY and BADALG.  This provides the 
client with some of off path spoof protection.

The request’s algorithm field was not always copied to the response on BADKEY.

There were various implementations that detected BADKEY but continued 
processing the query.
NOERROR+BADKEY and REFUSED+BADKEY were seen.

The ID field in the TSIG of the reply to a forwarded message is not well 
defined.  i.e. should it be the original ID from the request’s TSIG or the ID 
of the forwarded message.

While other data in the initial request is not expected with RFC2845 it should 
be hashed but otherwise ignored if non empty.

There are also some STD13 issues see like returning FORMERR is not done by 
taking the query and setting the RCODE=FORMERR and setting QR=1.

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: ma...@isc.org

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to