[dnssec-deployment] Write ups on root key schemes

Ólafur Guðmundsson ogud at ogud.com
Wed Jun 23 11:41:22 EDT 2004


At 11:24 22/06/2004, Steve Crocker wrote:
>Last week's DNSSEC call ended with writing assignments:
>
>O SEVERAL people (Johan Ihren, Olaf Kolkman, Olafur Gudmundsson or Mike
>St. Johns, Rob Austein, Paul Vixie, Mark Kosters, Matt Larson, if I
>recall correctly, but I may have mangled this list) EACH writing short
>responses on
>
>O FOUR root key distribution schemes (manual, revoke bit, M-of-N, DLV)
>
>O Against FIVE criteria (is it a protocol change, is a permanent or
>temporary solution, does it also include trust anchors, what is the
>impact if operators do not attend to roll-over notices, what is the
>recovery process if the automatic system fails).
>
>That's 20 pieces of text from each person.



Given that I only know the details of manual, Revoke and DLV I will
ignore or guess what n-m does.

I added two more criteria: Scaling and Learning of new TA's.

I also have to report regrets for the next 4 teleconferences,
this week and next I may join late (depending on traffic),
the first two in July I will miss.

Abbreviations:
         TA:     Trust anchor
         TAM:    Trust Anchor Maintainer

                         A               B               C               D
                         Manual          Revoke          N-M             DLV
1. Protocol Change:     NO              Yes & NO[]      (no)[]          Yes[]
2. Permanent:           Hope 
Not[]      YES[]           (yes)           decreasing[]
3. Includes TA's.       yes & no[]      yes             yes             yes
4. Inattention Impact:  key rot []      key rot[]       key 
rot[]       depends[]
5. Recovery 
Process:    manual[]        restart[]       ???             manual[]
6. Scaling              bad[]           linear[]        ???             good[]
7. Learning new 
TA's    Manual          Manual[]        ???             automatic[]

Notes
1B:   The proposal reserves a bit in the DNSKEY flags field, this bit
       is similar to the KSK bit that it is not used by DNSSEC
       validator during DNSSEC verification but by DNSSEC support
       tools. Thus this is a change on the wire but it does not affect
       DNSSEC validation process. The use of this bit is by a separate
       entity/function Trust Anchor Maintainer (TAM). this can be part of
       resolving nameserver or separate. The output from the TAM is
       used to configure Trust Anchors for DNSSEC validator(s).
       The real interesting effect of the Revoke bit is that as it is set
       the key becomes unusable by Validator, but TAM can still use
       it.

1C    My guess is that this schema involves TAM as well.

1D    DLV adds a logic to resolvers to learn Trust Anchors from a
       separate tree. This logic is needed in every resolver.

2A    Manual process is needed for TA's under domains that do not
       use DNSSEC, hopefully this group shrinks with time. In most
       cases manual is only worth it to configure important partner TA.
       As the process requires manual communication each time there is
       change in TA this is likely to break down unless there is high
       value in keeping the TA up to date.

2B.   Revoke bit proposal requires manual insertion of TA's in the
       beginning, after that the process keeps track and updates TA's
       as long as originator follows the process of publication. Revoke
       bit schema can learn new TA's that are below existing TA's thus
       mitigating failures in the higher TA.

2D.   DLV lookups are only needed when there is not a path from a
       known trusted key to the key being validated. Over time as
       larger and larger parts of the tree become signed fewer and
       fewer domains need to have their TA's listed in DLV. There are
       scenarios where DLV will never go away but these all involve
       TLD's that refuse to deploy DNSSEC.

3A.   Manual process requires the configuration of every new TA, and
       the maintenance of it. The process can be combined with tools
       to learn new TA's below the already configured ones. Or there
       might be trusted publishers of TA's that are downloaded
       periodically

3B.   New TA's need to be introduced (does not require actual key)
       only the fact this TA is of interest. The TAM learns to trust
       TA's over time, and after certain time has elapsed the TA is
       added to the TA list.

3D.   Only one TA per DLV tree needs to be configured after that
       discovery of TA's is automatic and handled by DLV operator.

4A.   Key Rot: As keys get removed from use and new ones introduced
       these changes must be reflected in the list of TA's. Thus any
       keys changed but not updated will cause that domain to become
       bogus/insecure. The failures can happen on both sides.

4B.   Key rot should not happen unless one of the three factors happen:
       - TAM is not executed periodically or the output is not shared
         with resolving validator
       - Zone does not follow procedure for retirement of TA's
         preventing TAM's from learning the new keys.
       - Zone stops using DNSSEC.

4C.   I assume impact is the same as in 4B

4D.   DLV has more complex failure model,
       - IF "user" does not update DLV master TA as it changes, the
         failure is complete loss of TA's that are not below trusted
         TA's (similar failure as to not updating the root key)
       - If DLV operator stops monitoring and updating TA's under
         contract there is failure similar to 4B.
       - If zone does not follow guidelines from DLV operator about key
         publication and changes DLV may have wrong key or no key for
         zone.
       - If DLV operator stops to function it is similar to the first
         one but possibly different.

5A.   Reestablish TA via communication with other zone or other
       channel

5B.   If TAM was not running, restarting that process will recover
       most errors in specified time (30 days). Some TA's may need
       manual recovery operation (depending on TAM policy)
       If zone did not follow procedure, TAM's may (if policy allows)
       learn to trust new TA for that zone over time.

5D.   If DLV master TA fails, putting in the new TA will complete recovery.
       If DLV operator stops to function here is no recovery
       If DLV operator does not do their job there is decreasing value
         in the information published.
       If DLV consumer (TA publisher) does not follow procedure only
         their data is affected and only they and DLV operator can
         perform recovery action.


6A.   Scaling is bad as all changes need some manual action, it is
       possible that a variant of this schema that uses trusted TA
       publishers will allow more scaling and less manual work (but
       that has similar effects as DLV but storing more information in
       resolvers).

6B.   Scaling is good, as new TA's are learned/lost the system can adjust
       what TA's to maintain. TA's can be learned down, only upwards
       TA's need to be configured (once).

6D.   DLV holds the promise that one KEY will validate many, thus
       there is not need to maintain TA lists. The bad effects here are
       multiple DLV tree's cause slowness of lookups, possibly
       inconsistent data, and  more TA's to maintain.

7A.   Manual may require trust relationship.

7B.   Manual up, automatic one level down, Manual multiple level down

7C.   Should hold same properties as 7B.

7D.   Automatic as the DLV operator handles this process and maintains trust
       relationship with the zone.





More information about the Dnssec-deployment mailing list