draft-ietf-dnsop-dnssec-operational-practices-08.txt

来自「非常好的dns解析软件」· 文本 代码 · 共 1,507 行 · 第 1/5 页

TXT
1,507
字号
   for verification can be obtained.   The responsibility for maintaining the chain of trust is shared by   administrators of secured zones in the chain of trust.  This is most   obvious in the case of a 'key compromise' when a trade off between   maintaining a valid chain of trust and replacing the compromised keys   as soon as possible must be made.  Then zone administrators will have   to make a trade off, between keeping the chain of trust intact -   thereby allowing for attacks with the compromised key - or to   deliberately break the chain of trust and making secured sub domains   invisible to security aware resolvers.  Also see Section 4.3.3.  Keys Generation and Storage   This section describes a number of considerations with respect to the   security of keys.  It deals with the generation, effectivity period,   size and storage of private keys.3.1.  Zone and Key Signing Keys   The DNSSEC validation protocol does not distinguish between different   types of DNSKEYs.  All DNSKEYs can be used during the validation.  In   practice operators use Key Signing and Zone Signing Keys and use the   so-called (Secure Entry Point) SEP [3] flag to distinguish between   them during operations.  The dynamics and considerations are   discussed below.   To make zone re-signing and key rollover procedures easier toKolkman & Gieben        Expires September 7, 2006               [Page 6]Internet-Draft        DNSSEC Operational Practices            March 2006   implement, it is possible to use one or more keys as Key Signing Keys   (KSK).  These keys will only sign the apex DNSKEY RRSet in a zone.   Other keys can be used to sign all the RRSets in a zone and are   referred to as Zone Signing Keys (ZSK).  In this document we assume   that KSKs are the subset of keys that are used for key exchanges with   the parent and potentially for configuration as trusted anchors - the   SEP keys.  In this document we assume a one-to-one mapping between   KSK and SEP keys and we assume the SEP flag to be set on all KSKs.3.1.1.  Motivations for the KSK and ZSK Separation   Differentiating between the KSK and ZSK functions has several   advantages:   o  No parent/child interaction is required when ZSKs are updated.   o  The KSK can be made stronger (i.e. using more bits in the key      material).  This has little operational impact since it is only      used to sign a small fraction of the zone data.  Also the KSK is      only used to verify the zone's key set, not for other RRSets in      the zone.   o  As the KSK is only used to sign a key set, which is most probably      updated less frequently than other data in the zone, it can be      stored separately from and in a safer location than the ZSK.   o  A KSK can have a longer key effectivity period.   For almost any method of key management and zone signing the KSK is   used less frequently than the ZSK.  Once a key set is signed with the   KSK all the keys in the key set can be used as ZSK.  If a ZSK is   compromised, it can be simply dropped from the key set.  The new key   set is then re-signed with the KSK.   Given the assumption that for KSKs the SEP flag is set, the KSK can   be distinguished from a ZSK by examining the flag field in the DNSKEY   RR.  If the flag field is an odd number it is a KSK.  If it is an   even number it is a ZSK.   The zone signing key can be used to sign all the data in a zone on a   regular basis.  When a zone signing key is to be rolled, no   interaction with the parent is needed.  This allows for "Signature   Validity Periods" on the order of days.   The key signing key is only to be used to sign the DNSKEY RRs in a   zone.  If a key signing key is to be rolled over, there will be   interactions with parties other than the zone administrator.  These   can include the registry of the parent zone or administrators of   verifying resolvers that have the particular key configured as secure   entry points.  Hence, the key effectivity period of these keys can   and should be made much longer.  Although, given a long enough key,Kolkman & Gieben        Expires September 7, 2006               [Page 7]Internet-Draft        DNSSEC Operational Practices            March 2006   the Key Effectivity Period can be on the order of years we suggest   planning for a key effectivity of the order of a few months so that a   key rollover remains an operational routine.3.1.2.  KSKs for High Level Zones   Higher level zones are generally more sensitive than lower level   zones.  Anyone controlling or breaking the security of a zone thereby   obtains authority over all of its sub domains (except in the case of   resolvers that have locally configured the public key of a sub   domain, in which case this, and only this, sub domain wouldn't be   affected by the compromise of the parent zone).  Therefore, extra   care should be taken with high level zones and strong keys should   used.   The root zone is the most critical of all zones.  Someone controlling   or compromising the security of the root zone would control the   entire DNS name space of all resolvers using that root zone (except   in the case of resolvers that have locally configured the public key   of a sub domain).  Therefore, the utmost care must be taken in the   securing of the root zone.  The strongest and most carefully handled   keys should be used.  The root zone private key should always be kept   off line.   Many resolvers will start at a root server for their access to and   authentication of DNS data.  Securely updating the trust anchors in   an enormous population of resolvers around the world will be   extremely difficult.3.2.  Key Generation   Careful generation of all keys is a sometimes overlooked but   absolutely essential element in any cryptographically secure system.   The strongest algorithms used with the longest keys are still of no   use if an adversary can guess enough to lower the size of the likely   key space so that it can be exhaustively searched.  Technical   suggestions for the generation of random keys will be found in RFC   4086 [15].  One should carefully assess if the random number   generator used during key generation adheres to these suggestions.   Keys with a long effectivity period are particularly sensitive as   they will represent a more valuable target and be subject to attack   for a longer time than short period keys.  It is strongly recommended   that long term key generation occur off-line in a manner isolated   from the network via an air gap or, at a minimum, high level secure   hardware.Kolkman & Gieben        Expires September 7, 2006               [Page 8]Internet-Draft        DNSSEC Operational Practices            March 20063.3.  Key Effectivity Period   For various reasons keys in DNSSEC need to be changed once in a   while.  The longer a key is in use, the greater the probability that   it will have been compromised through carelessness, accident,   espionage, or cryptanalysis.  Furthermore when key rollovers are too   rare an event, they will not become part of the operational habit and   there is risk that nobody on-site will remember the procedure for   rollover when the need is there.   From a purely operational perspective a reasonable key effectivity   period for Key Signing Keys is 13 months, with the intent to replace   them after 12 months.  An intended key effectivity period of a month   is reasonable for Zone Signing Keys.   For key sizes that matches these effectivity periods see Section 3.5.   As argued in Section 3.1.2 securely updating trust anchors will be   extremely difficult.  On the other hand the "operational habit"   argument does also apply to trust anchor reconfiguration.  If a short   key-effectivity period is used and the trust anchor configuration has   to be revisited on a regular basis the odds that the configuration   tends to be forgotten is smaller.  The trade-off is against a system   that is so dynamic that administrators of the validating clients will   not be able to follow the modifications.   Key effectivity periods can be made very short, as in the order of a   few minutes.  But when replacing keys one has to take the   considerations from Section 4.1 and Section 4.2 into account.3.4.  Key Algorithm   There are currently three different types of algorithms that can be   used in DNSSEC: RSA, DSA and elliptic curve cryptography.  The latter   is fairly new and has yet to be standardized for usage in DNSSEC.   RSA has been developed in an open and transparent manner.  As the   patent on RSA expired in 2000, its use is now also free.   DSA has been developed by NIST.  The creation of signatures takes   roughly the same time as with RSA, but is 10 to 40 times as slow for   verification [18].   We suggest the use of RSA/SHA-1 as the preferred algorithm for the   key.  The current known attacks on RSA can be defeated by making your   key longer.  As the MD5 hashing algorithm is showing (theoretical)   cracks, we recommend the usage of SHA-1.Kolkman & Gieben        Expires September 7, 2006               [Page 9]Internet-Draft        DNSSEC Operational Practices            March 2006   At the time of publication it is known that the SHA-1 hash has   cryptanalysis issues.  There is work in progress on addressing these   issues.  We recommend the use of public key algorithms based on   hashes stronger than SHA-1, e.g.  SHA-256, as soon as these   algorithms are available in protocol specifications (See [20] and   [21] ) and implementations.3.5.  Key Sizes   When choosing key sizes, zone administrators will need to take into   account how long a key will be used, how much data will be signed   during the key publication period (See Section 8.10 of [18]) and,   optionally, how large the key size of the parent is.  As the chain of   trust really is "a chain", there is not much sense in making one of   the keys in the chain several times larger then the others.  As   always, it's the weakest link that defines the strength of the entire   chain.  Also see Section 3.1.1 for a discussion of how keys serving   different roles (ZSK v.  KSK) may need different key sizes.   Generating a key of the correct size is a difficult problem, RFC 3766   [14] tries to deal with that problem.  The first part of the   selection procedure in Section 1 of the RFC states:      1. Determine the attack resistance necessary to satisfy the         security requirements of the application.  Do this by         estimating the minimum number of computer operations that         the attacker will be forced to do in order to compromise         the security of the system and then take the logarithm base         two of that number.  Call that logarithm value "n".         A 1996 report recommended 90 bits as a good all-around choice         for system security.  The 90 bit number should be increased         by about 2/3 bit/year, or about 96 bits in 2005.   [14] goes on to explain how this number "n" can be used to calculate   the key sizes in public key cryptography.  This culminated in the   table given below (slightly modified for our purpose):Kolkman & Gieben        Expires September 7, 2006              [Page 10]Internet-Draft        DNSSEC Operational Practices            March 2006      +-------------+-----------+--------------+      | System      |           |              |      | requirement | Symmetric | RSA or DSA   |      | for attack  | key size  | modulus size |      | resistance  | (bits)    | (bits)       |      | (bits)      |           |              |      +-------------+-----------+--------------+      |     70      |     70    |      947     |      |     80      |     80    |     1228     |      |     90      |     90    |     1553     |      |    100      |    100    |     1926     |      |    150      |    150    |     4575     |      |    200      |    200    |     8719     |      |    250      |    250    |    14596     |      +-------------+-----------+--------------+   The key sizes given are rather large.  This is because these keys are   resilient against a trillionaire attacker.  Assuming this rich   attacker will not attack your key and that the key is rolled over   once a year, we come to the following recommendations about KSK   sizes; 1024 bits low value domains, 1300 for medium value and 2048   for the high value domains.   Whether a domain is of low, medium, high value depends solely on the   views of the zone owner.  One could for instance view leaf nodes in   the DNS as of low value and TLDs or the root zone of high value.  The   suggested key sizes should be safe for the next 5 years.   As ZSKs can be rolled over more easily (and thus more often) the key   sizes can be made smaller.  But as said in the introduction of this   paragraph, making the ZSKs' key sizes too small (in relation to the   KSKs' sizes) doesn't make much sense.  Try to limit the difference in   size to about 100 bits.   Note that nobody can see into the future, and that these key sizes   are only provided here as a guide.  Further information can be found   in [17] and Section 7.5 of [18].  It should be noted though that [17]   is already considered overly optimistic about what key sizes are   considered safe.   One final note concerning key sizes.  Larger keys will increase the

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?