Preliminary Comparison between the different Trust Anchor Rollover Proposals
(last modified: 15 March 2006)
This document makes a preliminary comparison between the different trust anchor rollover proposals. The requirements listed in the first column below were drawn from the different documents/e-mails that were sumbitted to namedroppers. These are still being discussed and debated, so these requirements may not necessarily be the correct set of parameters to compare the different proposals against.
The comments/rationale and notes for each of the approaches has been entered based on my interpretation and evaluation of the requirements and the proposals -- they may not necessarily be correct. The idea is to encourage discussion so that the correct set (and scope) of these requirements may be identified.
Please send any updates or corrections directly to: suresh at tislabs dot com
XX Represents requirements that may not form an effective basis for comparison      
draft-ietf-dnsext-rollover-rquirements-00
               
ID Requirement Comments/Rationale M-of-N Timers Laurie Vixie Moreau
               
1 Support for large number of resolvers and up to 1000 trust anchors per resolver Rollover daemons may have to periodically query nameservers to identify apex keyset. Queries to make sure that the keyset has not changed (TTL) Queries to make sure keyset has not changed + one query during the add-hold period for each new key + one query per revoked-key advertisement window Scales well for large number of resolvers. However as the number of islands grows, there are more certificates to retrieve recursively query for apex when hash of keyset changes + any query to that zone within the period that a key might change (TTL). Queries to make sure that the keyset has not changed (TTL) + queries for the SDDA
               
2 No IPR encumberance/ globally deployable Encourage interoperability Diversinet patent filed in Israel and also applied for in Canada. Don't understand what it considers "reasonable" (I am not a lawyer) Diversinet patent filed in Israel and also applied for in Canada. Don't understand what it considers "reasonable" (I am not a lawyer) None currently known Suffers from the same patent claim that M-N does(?) There is some hint that the idea of pre-distribution of digests is not new -- using MASH's is patented though, and the idea is not universally free to use
               
3,4 Support for all types of zones and networks (tunable to their needs) Universal solution          
               
5 Support reconnection upto a period of N months Avoid initial setup if it can be avoided Does not directly support this Does not directly support this As long as you can trust the local CA certificate, resolvers can reconnect without problem Does not directly support this If resolvers have the current key in the set of pre-distributed keys, they can reconnect without problem
               
6 Leave room for manual rollover operations It is always possible to manually set the trust anchor, so one interpretation of this requirement could be that doing so should not prevent automated mechanisms from taking over thereon No state is maintained, so no harm done if trust anchors are manually configured Probably no harm -- specification needs to be updated to specify how the timers are affected if trust anchors change OOB The bootstrapping process simply gives a list of keys, which can also be configured manually No state is maintained, so no harm done if trust anchors are manually configured Should be possible to configure a trust anchor manually
               
7 Support for pre-scheduled and emergency types of rollover Why do we want to separate these two? Supports pre-scheduled well; emergency rollover cannot be detected any sooner Supports pre-scheduled well; emergency rollover cannot be detected any sooner rollovers in general can only be detected at the same rate at which bootstrapping is done Supports pre-scheduled well. Emergency rollover is faster than MofN because any DNS response from that zone can trigger this Supports pre-scheduled well; emergency rollover cannot be detected any sooner
               
8 Timeliness May be same as emergency rollover requirement          
               
9 Ability to inspect issuer's knowledge of possible current and past trust anchors Resolvers should be able to detect when they need to re-sync. obtaining current keys is easy; obtaininig past keys is not obtaining current keys is easy; obtaininig past keys is not The CAs provide the repository of current and past (CRL) keys obtaining current keys is easy; obtaininig past keys is not Past keys (or their hash) can be known by inspecting the pre-distributed list
               
10 No new RRs shall be needed No on-the-wire changes in general No on-the-wire changes Addition of the revoke bit in the DNSKEY (but this is a feature) Completely OOB Modifies name server algorithm. Keyset digest is sent in the authority section. Message size increases New SDDA RR definition
               
Pseudo-requirements from draft-ietf-dnsext-rollover-requirements-00
               
ID Requirement Comments/Rationale M-of-N Timers Laurie Vixie Moreau
               
11 trustworthy initialization of trust anchors in resolvers Initialization must be manageable over the scale of the Internet Need to establish trust with all zones for which a TA needs to be configured, every time the resolver is offline for a prolonged period Need to establish trust with all zones for which a TA needs to be configured, every time the resolver is offline for a prolonged period Need to establish trust with only the local CA. Need to establish trust with all zones for which a TA needs to be configured, every time the resolver is offline for a prolonged period Need to establish trust with all zones for which a TA needs to be configured, every time the resolver is offline for a prolonged period
               
12 Support trust anchors for multiple zones Support for islands of trust Supports this Supports this Supports this Supports this Supports this
               
13 Support for multiple trust anchors per zone Pre-publishing, use of diverse algorithms etc Supports this Supports this Supports this Supports this Supports this: different SDDA RRs in the RRset can point to different DNSKEYs
               
14 Should support add, remove, replace(as a single operation) Basic operations. Remove is different from revoke Add, remove and replace may not be simultaneously possible. For replace N has to be at least 2, but for single addition N has to be 1. Supports add and remove operations. Remove is same as revoke unless it is inside the add-hold time interval. Replace is not possiblein one step (because of the add-hold timer) Supports add. Remove and replace are only possible if keys are revoked. Add, remove and replace may not be simultaneously possible. For replace N has to be at least 2, but for single addition of key N has to be 1 Supports add, remove and replace operations
               
15 must support revocation and knowledge about which keys are the target of revocation Revocation is different from replacement Does not support revocation Supports revocation, but may not have knowledge of the complete set of keys that were revoked - it only knows what it sees Supports revocation through the X509 infrastructure Does not support revocation Does not support revocation
               
16 Ability to define effectivity periods for tust anchors Helpful for determining a polling interval Not possible Not possible Supports this through the X509 infrastructure Not possible Might be able to augment initial distribution or the SDDA records with effectivity periods for keys
               
draft-moreau-dnsext-tak-req-00
             
ID Requirement Comments/Rationale M-of-N Timers Laurie Vixie Moreau
               
17 Organizations must universally agree to follow guidelines Maybe this is trying to say that the procedure should be operationally viable, which is the same as requirement 3,4          
               
               
18, 19 Must include a local store, Must assume an opportunity for initializing the trusted configuration are there any resolver scenarios where there might not be sufficient memory to store the initial trusted configuration? The requirement may instead be: must keep the amount of local persistent storage to a minimum Needs memory for storing at least M+N keys per island of trust Needs sufficient memory for at least two trust anchor keys per island of trust and the set of revoked keys that were seen Needs sufficient memory to store location and certificate of local CA Similar to M-of-N Needs memory to store the series of 4-tuples for every island of trust
               
20 Trustworthiness must not degrade after a rollover May be a policy issue (which algorithm to allow etc). How does one define degraded trustworthyness?          
               
21 Failure conditions must be identifiable and detectable Looking at it differently from revocation (which is given in 15), this might instead refer to distinguishing between genuine loss of synchronization and DoS attacks Difficult to make this distinction if the name sever rolls its keys faster than the polling interval. Depends on how much you believe that your revocation information is current. If you suddenly see new keys and you know you haven't missed revocation event, you can ignore the new keys Rollover is essentially doing the resolver bootstrap all over again. The resolver may treat multiple unknown trust anchors as cue to perform the bootstrap, backing off from this process exponentially Difficult to make this distinction if the name sever rolls its keys faster than the polling interval. Since there is no revocation information maintained, you donŐt know if the name server operator suddenly decided to change the complete set of pre-published keys
               
22 Must allow for protection against reuse attacks Looks like the same as 15          
               
23 Must disclose how dependent the procedure is on OOB distribution of configuration information This may be trying to say the same thing as 11          
               
24 Must allow for overlapping periods of key validity This is a requirement for the zone data adminstrator and is not under the control of the trust anchor rollover protocol If rollover at the zone is not graceful, you would fall back to initial state If rollover at the zone is not graceful, you would fall back to initial state Non-graceful rollover of keys at the zone does not adversely impact this approach. You simply bootstrap all over again If rollover at the zone is not graceful, you would fall back to initial state Even if rollover at the zone is not graceful, you can still carry on the process if the new key is in your pre-distributed list of keys.
               
25 It should be possible to identify which keys are have been added/rolled over There is always local policy that can influence the final decision on whether a key is rolled over at the resolver end You don't really know if one of the keys in the trusted set was removed. The M and N parameters are additional policy knobs that determine exact key that is rolled over. The values of the timers can influence the set of keys that are added as trust anchors in the resolver. You get to see this in the CRLs You don't really know if one of the keys in the trusted set was removed Its possible to examine the pre-distributed list to know which keys have been rolled over.
               
26 Disclosure of which aspects of security principles are needed for avoidance of critical failure This may be same as 21          
               
Other Requirements
               
ID Requirement Comments/Rationale M-of-N Timers Laurie Vixie Moreau
               
27 Must be an in-band mechanism No reliance on other pieces that can fail separately If re-sync is not needed, completely in-band If re-sync is not needed, completely inband DNSSEC fails if X509 infrastructure fails If re-sync is not needed, completely inband If re-sync is not needed, completely inband
               
28 Shall work for different types of keys in the keyset (unknown algorithms, only ZSKs, only KSKs) Since there is no protocol difference between ZSKs and KSKs, you cannot expect all zone administrators to maintain this separation Needs to have ZSK and KSK separation Needs to have ZSK and KSK separation Need not have ZSK and KSK separation Needs to have ZSK and KSK separation Need not have ZSK and KSK separation
             
29 Must not impose a limit on how many keys can be added, removed, replaced or revoked Does it matter. Should there be a limit?          
               
30 Trust anchor configuration must not significantly increase work for the name server operator Over and above best practices, i.e.. However, emergency scenarios are different I think and graceful rollover may not be the norm here. This is covered in 24.