[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DNSKEY flags field
On Monday 14 June 2004 6:36 am, Simon Josefsson wrote:
> "Olaf M. Kolkman" <olaf@ripe.net> writes:
> > If you follow a chain of trust that says "foo.example" is supposed to
> > be secure in "protocol 3" then, by not having a "protocol 3" key to
> > verify against you have to treat the zone as bogus.
>
> Again, what do you mean by "bogus" in this context? I believe it
> should mean "insecure", i.e. downgrade to vanilla DNS. But Scott Rose
> thought SERVFAIL should be returned here. If there isn't agreement on
> the interpretation, perhaps this should be clarified.
The term "bogus" is defined in draft-ietf-dnsext-dnssec-intro-10, section 5,
and again in -dnssec-protocol-06, section 4.3. As specified, when a
validator determines that a responses is bogus, for whatever reason, it
returns SERVFAIL.
> > If you do not have a secure entry point (following a chain of trust of
> > via a configured trustanchor) into the zone than the keys really are
> > of no use and it does not matter if they are of proto 3 or 4. And your
> > data should pass through as not being validated.
>
> Right. But I believe they should pass through. There appear to be
> disagreement on that.
If there is no trust anchor, then the validator has no reason to expect a the
answers should be signed, and no way to validate the answer if it is. This
is defined as the "Insecure" state. There is no disagreement about this.
> > IMHO this exactly as specified by the language in "proto". Protocol 4
> > keys are not to be used for validation: If a DS RR[*] points to a
> > protocol 4 key than the DS RR tells us foo.example is secure, but
> > since we have a protocol 4 key we cannot validate. Not being able to
> > validate in a secure zone implies bogus results.
>
> "Bogus results" is not well defined. Do you mean resolvers are
> permitted to return anything it want?
"Bogus" *is* well-defined. Granted, this term wasn't defined before this
latest round of documents. And it hasn't displaced the term "BAD" everywhere
in the docset. Maybe -intro or -protocols (or both) should define "BAD" as a
synonym of "Bogus".
> >> And do you have any thoughts on the actual proposed text change that
> >> started this thread? I have no wish to change the Protocol Field. I
> >> have used the Protocol Field, in this thread, as an example of an
> >> already specified extension mechanism, since people appeared to think
> >> that my proposed change wanted to introduce a new extension mechanism.
> >> I want to introduce a cleaner way to specify the extensions, compared
> >> to using the protocol field.
> >
> > IMHO, without degradation attack prevention you cannot use the field,
> > nor the flag bits.
>
> I believe you can. Send two DNSKEYs:
>
> foo.example IN DNSKEY proto=3 ...
> foo.example IN DNSKEY proto=4 ...
>
> Are you saying that a conforming DNSSECbis resolver would reject this
> response and return SERVFAIL? Or should it ignore the unrecognized
> second DNSKEY, validate the data using the proto=3 key and (assuming
> verification succeed) proceed as normal?
The latter.
In this case, the validator would discard the proto=4 key for validation
purposes, and thus effectively ignore RRSIGs generated by this key. If an
RRset *only* had RRSIGs by the proto=4 key, it would either generate a
requery for the "missing" RRSIG or consider the response bogus (or BAD, if
you prefer).
However, I don't know what use this case is for the purposes of DNSSEC
versioning.
--
David Blacka <davidb@verisignlabs.com>
Sr. Engineer VeriSign Applied Research
--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>