[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


To: dnssec@cafax.se
Cc: olafur Gudmundsson <ogud@ogud.com>, Dan Massey <masseyd@isi.edu>, Edward Lewis <lewis@tislabs.com>
From: Ólafur Guðmundsson <ogud@ogud.com>
Date: Tue, 25 Sep 2001 12:18:04 -0400
Sender: owner-dnssec@cafax.se
Subject: Signalling DS support to resolvers


In the process of implementing DS I ran into the issue that there
is no easy way for a resolver to figure out if a zone uses RFC2535 semantics
or DS. I asked Dan Massey and Ed Lewis to write up short problem description
and how to apply a particular solution to the problem.

Please comment on which approach is more attractive, suggest other ones,
find cases where things will not work.

Once we have rough consensus, we will make a formal proposal will be taken
to namedroppers.

------
First Dan Massey for using KEY flags to signal DS support:

   Backwards compatability with SIG@child:

    In the ideal scenario, DS would be the only approach used for
    DNS key signing.  Unfortunately we have a legacy SIG@child approach
    from RFC 2535 and we have to consider backwards compatability.

    DS and SIG@child use conflicting mechanisms to signal a child's
    security status.  The possible contents of a delegation are:

       Delegation contains an NS set and DS set:
         child is secure using DS, not allowed with SIG@child.

       Delegation contains an NS set and NULL key:
         not allowed using DS, child is unsecure using SIG@child.

       Delegation contains only an NS set:
         child is unsecure using DS, child is secure using SIG@child

    The zone signer, the nameserver, and the resolver will all need to
    know whether the zone uses DS or SIG@child so the question is how
    do we signal this.

    The proposed answer is that the parent's key includes a flag to indicate
    DS or SIG@child.  By looking at the parent's key, you can determine
    if the parent uses SIG@child or DS to sign its children.

    There is one more complication.  Suppose the parent has multiple KEY
    records.  The flag must be set in any KEY record that is signed by
    the parent's parent (for SIG@child) or is stored in a DS record by
    the parent's parent.

------
Second Edward Lewis for the use of SEC RR to signal DS usage

Assuming the adoption of the DS RR, there is a need to maintain
compatibility between DS RR delegation semantics and RFC 2535/3090
delegation semantics.  The compatibility problem is complicated by an issue
regarding the absence of DS RR and KEY RR sets at a delegation.

According to the DS RR semantics, if no DS RR set exists at a delegation
point, the child zone is to be considered unsecured.  According to the RFC
2535/3090 semantics, the lack of a KEY RR set indicates that the child is
secured.  Because of this difference, a resolver cannot decide if the
absence of signed records at the child is the result of RFC 2535/3090
semantics or a dns-jacking of a secured child zone in a situation when DS
RR semantics are in use to indicate a secured child.

Because of this situation, there is a need for the parent to explicitly
state which set of semantics are in use, whether per-algorithm,
per-delegation, or for the entire zone.  Per-algorithm behaviour in DNS has
proven problematic in the past and will not be considered further.  A
discussion of the problems exists in RFC 3090.  Per-delegation indications
would have to rely on some existing mechanism to carry the indication,
which is not readily available.  From this point on, the discussion will
assume that an indication of whether a zone chooses DS RR semantics or RFC
2535/3090 semantics for all of its delegations is a requirement.

One of the means to indicate a zone's security semantics is to use the
oft-suggested but never fully defined SEC RR set.  The SEC RR set has been
a latent suggestion to relate security information about a zone.  There is
natural resistance to defining a new RR set, which is why the SEC RR set
has not been put forward.

This missive is intended to just state the case for re-consideration of the
SEC RR, not to define it nor discuss its merits in general.  The only
philosophical rationale that will be mentioned is that, like the DS RR set,
there has long been known a need to state information and up to know the
preference was to do this through inference.  As with the final acceptence
of the DS RR set, is may be time to capitulate to the definition of yet
another RR type to explicitly state information.

-----

Olafur with lots of help from Dan and Ed. 


Home | Date list | Subject list