Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-22 Thread Kalman Feher



On 22/09/10 4:14 AM, Doug Barton do...@dougbarton.us wrote:

 On 9/21/2010 7:46 AM, Kalman Feher wrote:
 It may well be analogous to that (though I disagree), but the quote does not
 substantiate why knowing public information is bad. In the example above,
 you've simply saved your switchboard and the caller some time. If you don't
 want someone to know it, don't make it public (at the very least).
 
 You'll have to accept that no matter what steps you take, your public
 information will be available to those who wish to find it. Taking steps to
 prevent that is likely to waste more of your time than it will of those
 looking.
 
 When this topic first came up 12+ years ago I (and others) said that
 DNSSEC would never see wide deployment unless the ability to walk the
 zone was eliminated. We were all poo-pooed at the time with lots of
 security through obscurity, LOL type arguments. Development of DNSSEC
 specs continued to ignore the need to eliminate zone-walking for almost
 a decade until finally a consortium of folks more influential than I put
 their foot down and hammered out the NSEC3 spec (abridging the history
 here for the sake of a good story).
 
 My point being, it really doesn't matter if you agree with the reasoning
 or not, whether you understand the use case(s) or not, or whether you
 ever deploy NSEC3 or not. The fact is that there are a non-trivial
 number of organizations who will not deploy DNSSEC without it, so
 attempting to convince people not to use it is pointless.
Not surprising that you've missed the point given the long thread, but I'll
reiterate here.

The concern was that a zone could be walked even _with_ NSEC3. Use whichever
NSEC floats your (leaky) boat. It isn't going to stop public information
from falling into an evil persons hands.

I'd recommend being a little more sensible and only making public that which
you want to be public. Then protecting all systems addressed within the zone
as if bad people knew about them, regardless of the these are not the RRs
you're looking for magical powers of NSEC3.

 
 
 Doug (... and it annoys the pig)

-- 
Kal Feher 

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-22 Thread Niobos
On 2010-09-21 16:46, Kalman Feher wrote:
 If you don't
 want someone to know it, don't make it public (at the very least).
I agree totally!

 You'll have to accept that no matter what steps you take, your public
 information will be available to those who wish to find it.
I agree.
But I'd argue that there are different grades of public information.
My home phone number is public. You can look it up in the (paper or
electronic) phonebook. That doesn't mean I'll put it in the footer of
every mail/facebook/twitter I send out. Hell, I even use an alias to
post to newsgroups instead of my real name. And sure you can figure out
who I am, that info is publicly available somewhere (despite my
efforts), but I'm not going to hand it to you on a plate.

In that sense, I still believe that using NSEC3 over NSEC adds another
barrier to those who want to walk your zone. And while it's possible
(you could even argue easy) to overcome, it's yet another speed bump.
The whole point of NSEC3 was to make zone walking as difficult as
brute-forcing the server, not to make it impossible.

 Taking steps to
 prevent that is likely to waste more of your time than it will of those
 looking.
Unless you're calculating the NSEC3 hashes by hand, it took me under 1
minute to add an NSEC3PARAM RRset to my zone. And I'm fairly confident
that it will take at least 1 minute longer to walk an NSEC3 zone than an
NSEC zone.

Greets,
Niobos

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-22 Thread Niobos
On 2010-09-21 16:56, Phil Mayers wrote:
 On 21/09/10 14:43, Niobos wrote:
 On 2010-09-21 15:32, Kalman Feher wrote:
 On 21/09/10 8:43 AM, Niobosnio...@dest-unreach.be  wrote:
 I personally find protection against zone enumeration to be a false
 sense of
 security. If it's public people will find it. Ask your self what it
 is that
 you want publically accessible yet you don't want others to be aware of.
 I'll reply with a quote from the BIND  DNS book:
 It’s the difference between letting random folks call your company’s
 switchboard and ask for John Q. Cubicle’s phone number [versus] sending
 them a copy of your corporate phone directory.
 
 That is a poor analogy.
 
 Do you have reverse DNS in .in-addr.arpa?
Yes

 Have you timed how long an nmap -sL yoursubnet/mask takes? Because it
 doesn't take very long for us, and we've got a lot of large subnets.
A few seconds

 Attackers can gain a lot of info from this;
Correct

 certainly not *all* forward
 lookups, but a lot of them.
My zone consists of mostly CNAMEs that map vhosts to physical hosts; you
won't find these with .in-addr.arpa.

Greetings,
Niobos

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-22 Thread Matus UHLAR - fantomas
  I'll reply with a quote from the BIND  DNS book:
  It’s the difference between letting random folks call your company’s
  switchboard and ask for John Q. Cubicle’s phone number [versus] sending
  them a copy of your corporate phone directory.

  That is a poor analogy.

imho it's perfect.

 On 2010-09-21 16:56, Phil Mayers wrote:
  Do you have reverse DNS in .in-addr.arpa?

On 22.09.10 11:24, Niobos wrote:
 Yes

  Have you timed how long an nmap -sL yoursubnet/mask takes? Because it
  doesn't take very long for us, and we've got a lot of large subnets.

 A few seconds

and how long will it take for /48 (2^80 = 1208925819614629174706176) in ipv6
environment? :)

  Attackers can gain a lot of info from this;
 Correct

at present, yes. with ipv6, they will rely much more on DNS or other public
informations.
-- 
Matus UHLAR - fantomas, uh...@fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
Emacs is a complicated operating system without good text editor.
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-22 Thread Kalman Feher



On 22/09/10 11:29 AM, Matus UHLAR - fantomas uh...@fantomas.sk wrote:

 I'll reply with a quote from the BIND  DNS book:

 It¹s the difference
 between letting random folks call your company¹s

 switchboard and ask
 for John Q. Cubicle¹s phone number [versus] sending

 them a copy of 
 your corporate phone directory.


 That is a poor analogy.


imho it's perfect.
Analogies to specific issues are a poor idea. They abstract details that
should be considered and by trying to visualise the new example you
associate properties that don't exist within the original problem.

I could list differences but it would pander to the belief that somewhere
out there is the perfect non DNS example to a DNS problem.

Zone walking and its perceived risks should only be considered in light of
DNS knowledge, not boats, not phone switchboards or any other non DNS item.

Its fine to convey simple concepts using an analogy. But by using one for a
specific issue (on bind-users), you betray ignorance of the problem at hand
by relying on unrelated behaviours and properties to fill in the blanks for
you.

It is a poor analogy because so many of the properties of the original
problem (DNS software, zone walking software, publically available RRs)
simply do not behave in ways even vaguely similar to a human answering a
phone. 

If you think zone walking prevention (such as it is) makes you more secure.
I say prove it. Show me something measureable. Show me how you can protect a
publically available resource by preventing zone walking (which isn't
preventable by the way). After that, feel free to tell me how a phone
switchboard would implement the same solution.


-- 
Kal Feher 

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Niobos
Thank you for the excellent advice!

On 2010-09-20 18:09, Kevin Oberman wrote:
 I recommend anyone attempting to secure their DNS read the NIST Computer
 Security Resource Center document SP800-81 Rev.1, Secure Domain Naming
 System (DNS) Guide at:
 http://csrc.nist.gov/publications/nistpubs/800-81r1/sp-800-81r1.pdf 
 It recommends rolling th KSK every 12 to 24 months and the ZSK every 1
 to 3 months. These values are unchanged from the original SP800-81
 issues back at least two years ago and probably three. Everyone I have
 spoken with who works with crypto feels that, barring a math
 breakthough, these numbers are VERY conservative.
Very interesting read.

However, for my original question, the NIST document says:
 If the zone is signed using NSEC3 RRs, the salt value should be changed
 every time the zone is completely resigned
Since my zone is only updated dynamically, I'll never *completely*
resign my zone... Also, they do mention that [the salt] should be
changed on a regular basis to maintain protection against zone enumeration.
However, I don't see how it protects the zone from that if I use Daniel
Bernstein's method (i.e. guess a name  hash it. If it's outside a known
hash-range, request the server. Either it's a hit, or it's a new
hash-range.) If the hash changes halfway through the procedure, I just
rehash all my hits and go on. This is hardly a slowdown at all.


 Online/offline keys
 Sometimes this may be a choice, other times legislative or standards
 compliance will require certain behaviour. I've seen some documents require
 that even ZSKs remain offline (government agencies mostly), but generally
 its not considered much benefit if it rolls over reasonably often. KSKs are
 more commonly recommended to remain offline, but that definition can vary as
 well. A genuine HSM (Hardware Security Module), is not likely to be found in
 the bulk of DNSSEC deployments, due to cost, complexity and operational
 staff skills. Thus most operations will find it easier to generate keys
 either on the master server (perhaps the only server with key generating
 software) or close by (another server that is nevertheless online). If you
 don't use an offline HSM, then your alternatives will require you to have
 shorter roll over times in my opinion.
 
 HSMs are the way to go...if you can afford them. Prices vary a LOT from
 expensive to WOW! (So does functionality, and DNSSEC will typically take
 very little.) Because of dynamic DNS requirements, keeping the private
 ZSK on-line is allowed, even for government sites, though ONLY in cases
 where dynamic DNS is used or the back-end DNS management system requires
 it. Government sites may not keep the KSK on-line. See SP800-81r1
 Section 9.4 for details.

It's a private zone; HSM's are waay too expensive for that purpose!
I use DDNS daily, so that requires the ZSK to be online. The KSK can
remain offline if I manually resign the new DNSKEY RRset every Lzsk
(i.e. every month). I'm not sure I'll have the courage to do this...

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Kalman Feher



On 21/09/10 8:43 AM, Niobos nio...@dest-unreach.be wrote:

 Thank you for the excellent advice!
 
 On 2010-09-20 18:09, Kevin Oberman wrote:
 I recommend anyone attempting to secure their DNS read the NIST Computer
 Security Resource Center document SP800-81 Rev.1, Secure Domain Naming
 System (DNS) Guide at:
 http://csrc.nist.gov/publications/nistpubs/800-81r1/sp-800-81r1.pdf
 It recommends rolling th KSK every 12 to 24 months and the ZSK every 1
 to 3 months. These values are unchanged from the original SP800-81
 issues back at least two years ago and probably three. Everyone I have
 spoken with who works with crypto feels that, barring a math
 breakthough, these numbers are VERY conservative.
 Very interesting read.
 
 However, for my original question, the NIST document says:
 If the zone is signed using NSEC3 RRs, the salt value should be changed
 every time the zone is completely resigned
 Since my zone is only updated dynamically, I'll never *completely*
 resign my zone...
During ZSK roll over.
 Also, they do mention that [the salt] should be
 changed on a regular basis to maintain protection against zone enumeration.
I personally find protection against zone enumeration to be a false sense of
security. If it's public people will find it. Ask your self what it is that
you want publically accessible yet you don't want others to be aware of.


 However, I don't see how it protects the zone from that if I use Daniel
 Bernstein's method (i.e. guess a name  hash it. If it's outside a known
 hash-range, request the server. Either it's a hit, or it's a new
 hash-range.) If the hash changes halfway through the procedure, I just
 rehash all my hits and go on. This is hardly a slowdown at all.
 
 
 Online/offline keys
 Sometimes this may be a choice, other times legislative or standards
 compliance will require certain behaviour. I've seen some documents require
 that even ZSKs remain offline (government agencies mostly), but generally
 its not considered much benefit if it rolls over reasonably often. KSKs are
 more commonly recommended to remain offline, but that definition can vary as
 well. A genuine HSM (Hardware Security Module), is not likely to be found in
 the bulk of DNSSEC deployments, due to cost, complexity and operational
 staff skills. Thus most operations will find it easier to generate keys
 either on the master server (perhaps the only server with key generating
 software) or close by (another server that is nevertheless online). If you
 don't use an offline HSM, then your alternatives will require you to have
 shorter roll over times in my opinion.
 
 HSMs are the way to go...if you can afford them. Prices vary a LOT from
 expensive to WOW! (So does functionality, and DNSSEC will typically take
 very little.) Because of dynamic DNS requirements, keeping the private
 ZSK on-line is allowed, even for government sites, though ONLY in cases
 where dynamic DNS is used or the back-end DNS management system requires
 it. Government sites may not keep the KSK on-line. See SP800-81r1
 Section 9.4 for details.
 
 It's a private zone; HSM's are waay too expensive for that purpose!
 I use DDNS daily, so that requires the ZSK to be online. The KSK can
 remain offline if I manually resign the new DNSKEY RRset every Lzsk
 (i.e. every month). I'm not sure I'll have the courage to do this...
A small scale offline key management process may be something like:

1. install key creation tools on dedicated laptop or other non permanently
connected host. (bind dnssec tools or opendnssec or tools of your choice)
2. script up the creation including lifetimes.
3. script up a transfer from the offline node to master server. Place keys
in key-directory on master server.
4. master server rolls over based on lifetime values (assuming BIND 9.7+)
5. remove ksk
6. rinse and repeat next month

Security depends on how well you protect your key-generating system, on
whether your master server is a hidden master or publically accessible (for
any service) and how tightly you script the process. On a small scale, this
should certainly provide acceptable security. On a large scale, manual
intervention would make me very concerned with the likelihood of human based
outages. 

 
 ___
 bind-users mailing list
 bind-users@lists.isc.org
 https://lists.isc.org/mailman/listinfo/bind-users

-- 
Kal Feher 

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Niobos
On 2010-09-21 15:32, Kalman Feher wrote:
 On 21/09/10 8:43 AM, Niobos nio...@dest-unreach.be wrote:
 I personally find protection against zone enumeration to be a false sense of
 security. If it's public people will find it. Ask your self what it is that
 you want publically accessible yet you don't want others to be aware of.
I'll reply with a quote from the BIND  DNS book:
It’s the difference between letting random folks call your company’s
switchboard and ask for John Q. Cubicle’s phone number [versus] sending
them a copy of your corporate phone directory.

 On a large scale, manual
 intervention would make me very concerned with the likelihood of human based
 outages. 
I'm even concerned that this will be the problem on my private zone...

thank you again for the very insightful info!

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Phil Mayers

On 21/09/10 14:43, Niobos wrote:

On 2010-09-21 15:32, Kalman Feher wrote:

On 21/09/10 8:43 AM, Niobosnio...@dest-unreach.be  wrote:
I personally find protection against zone enumeration to be a false sense of
security. If it's public people will find it. Ask your self what it is that
you want publically accessible yet you don't want others to be aware of.

I'll reply with a quote from the BIND  DNS book:
It’s the difference between letting random folks call your company’s
switchboard and ask for John Q. Cubicle’s phone number [versus] sending
them a copy of your corporate phone directory.


That is a poor analogy.

Do you have reverse DNS in .in-addr.arpa?

Have you timed how long an nmap -sL yoursubnet/mask takes? Because it 
doesn't take very long for us, and we've got a lot of large subnets.


Attackers can gain a lot of info from this; certainly not *all* forward 
lookups, but a lot of them. Pretending that stopping zone enumeration is 
much of a security boost is just that IMHO - pretending.

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Doug Barton

On 9/21/2010 7:46 AM, Kalman Feher wrote:

It may well be analogous to that (though I disagree), but the quote does not
substantiate why knowing public information is bad. In the example above,
you've simply saved your switchboard and the caller some time. If you don't
want someone to know it, don't make it public (at the very least).

You'll have to accept that no matter what steps you take, your public
information will be available to those who wish to find it. Taking steps to
prevent that is likely to waste more of your time than it will of those
looking.


When this topic first came up 12+ years ago I (and others) said that 
DNSSEC would never see wide deployment unless the ability to walk the 
zone was eliminated. We were all poo-pooed at the time with lots of 
security through obscurity, LOL type arguments. Development of DNSSEC 
specs continued to ignore the need to eliminate zone-walking for almost 
a decade until finally a consortium of folks more influential than I put 
their foot down and hammered out the NSEC3 spec (abridging the history 
here for the sake of a good story).


My point being, it really doesn't matter if you agree with the reasoning 
or not, whether you understand the use case(s) or not, or whether you 
ever deploy NSEC3 or not. The fact is that there are a non-trivial 
number of organizations who will not deploy DNSSEC without it, so 
attempting to convince people not to use it is pointless.



Doug (... and it annoys the pig)

--

... and that's just a little bit of history repeating.
-- Propellerheads

Improve the effectiveness of your Internet presence with
a domain name makeover!http://SupersetSolutions.com/

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-21 Thread Warren Kumari

On Sep 21, 2010, at 10:14 PM, Doug Barton wrote:

 On 9/21/2010 7:46 AM, Kalman Feher wrote:
 It may well be analogous to that (though I disagree), but the quote does not
 substantiate why knowing public information is bad. In the example above,
 you've simply saved your switchboard and the caller some time. If you don't
 want someone to know it, don't make it public (at the very least).
 
 You'll have to accept that no matter what steps you take, your public
 information will be available to those who wish to find it. Taking steps to
 prevent that is likely to waste more of your time than it will of those
 looking.
 
 When this topic first came up 12+ years ago I (and others) said that DNSSEC 
 would never see wide deployment unless the ability to walk the zone was 
 eliminated. We were all poo-pooed at the time with lots of security through 
 obscurity, LOL type arguments. Development of DNSSEC specs continued to 
 ignore the need to eliminate zone-walking for almost a decade until finally a 
 consortium of folks more influential than I put their foot down and hammered 
 out the NSEC3 spec (abridging the history here for the sake of a good story).
 
 My point being, it really doesn't matter if you agree with the reasoning or 
 not, whether you understand the use case(s) or not, or whether you ever 
 deploy NSEC3 or not. The fact is that there are a non-trivial number of 
 organizations who will not deploy DNSSEC without it, so attempting to 
 convince people not to use it is pointless.

This is *very* true, and (IMO) something that I think it would be very useful 
for the v6 community to fully grok -- it matters not how awesome your solution 
is, if it doesn't do what the customer wants, they just won't deploy it

(see the DHCPv6 discussions, etc)...

W

 
 
 Doug (... and it annoys the pig)
 
 -- 
 
   ... and that's just a little bit of history repeating.
   -- Propellerheads
 
   Improve the effectiveness of your Internet presence with
   a domain name makeover!http://SupersetSolutions.com/
 
 ___
 bind-users mailing list
 bind-users@lists.isc.org
 https://lists.isc.org/mailman/listinfo/bind-users

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-20 Thread Kevin Oberman
 Date: Mon, 20 Sep 2010 11:03:31 +0200
 From: Kalman Feher kalman.fe...@melbourneit.com.au
 Sender: bind-users-bounces+oberman=es@lists.isc.org
 
 Apologies in advance for the longer than intended reply.
 
 I've spent a lot of time reviewing documents regarding timing values and
 they vary quite widely. One observation I've made is that many
 recommendations, especially those that are a little older, are predicated on
 the assumption that the process of signing is difficult and complicated. So
 last year I saw recommendations of ZSKs for a year and KSKs for 2 or more.
 As signing became easier and TLDs made their submission policies for DS (or
 pub key) clearer these numbers have dropped.
 
 I'm now seeing recommendations of 1-3 months for ZSKs and 6-12 months for
 KSKs.

The advice on this has always been all over the map, but the most common
recommendation I have seen, and I have been seeing it for years, is to
roll ZSKs about once a month and KSKs annually.

I recommend anyone attempting to secure their DNS read the NIST Computer
Security Resource Center document SP800-81 Rev.1, Secure Domain Naming
System (DNS) Guide at:
http://csrc.nist.gov/publications/nistpubs/800-81r1/sp-800-81r1.pdf 
It recommends rolling th KSK every 12 to 24 months and the ZSK every 1
to 3 months. These values are unchanged from the original SP800-81
issues back at least two years ago and probably three. Everyone I have
spoken with who works with crypto feels that, barring a math
breakthough, these numbers are VERY conservative.

I might also mention that US government system are required to follow
the recommendations of SP800-81r1.

 If you automate it, which is relatively easy today, then having shorter
 times makes sense on a number of levels.
 
 -It allows potentially lower bit sizes, due to the time/size trade off.
 -It ingrains the process within your operational procedures. Really large
 gaps between events can lead to a loss of skills or capability. (has anyone
 seen that HSM we bought 2 years ago?). That may or may not happen of course,
 but its good to exercise procedures.
 -You can use roll over times as natural change windows for new algorithms or
 new procedures. And the likelihood of changes in the next 2 years is very
 high since registries are still adapting and learning.

I can see no point in the use of lower bit size keys. Current systems
are able to deal with the sizes now in use. Shortening keys simply
weakens the system.

I agree with your concern with long intervals between signing. Blowing a
key roll is a really unpleasant things and will get more so as more and
more servers start doing validation.

 The value of the above benefits will vary depending on how many domains you
 have across how many different TLDs. The more of either, the greater the
 benefit of an automated and reasonably regular roll over.

Good advice!

 Online/offline keys
 Sometimes this may be a choice, other times legislative or standards
 compliance will require certain behaviour. I've seen some documents require
 that even ZSKs remain offline (government agencies mostly), but generally
 its not considered much benefit if it rolls over reasonably often. KSKs are
 more commonly recommended to remain offline, but that definition can vary as
 well. A genuine HSM (Hardware Security Module), is not likely to be found in
 the bulk of DNSSEC deployments, due to cost, complexity and operational
 staff skills. Thus most operations will find it easier to generate keys
 either on the master server (perhaps the only server with key generating
 software) or close by (another server that is nevertheless online). If you
 don't use an offline HSM, then your alternatives will require you to have
 shorter roll over times in my opinion.

HSMs are the way to go...if you can afford them. Prices vary a LOT from
expensive to WOW! (So does functionality, and DNSSEC will typically take
very little.) Because of dynamic DNS requirements, keeping the private
ZSK on-line is allowed, even for government sites, though ONLY in cases
where dynamic DNS is used or the back-end DNS management system requires
it. Government sites may not keep the KSK on-line. See SP800-81r1
Section 9.4 for details.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: ober...@es.net  Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751
___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-20 Thread Kalman Feher



On 20/09/10 6:09 PM, Kevin Oberman ober...@es.net wrote:

 Date: Mon, 20 Sep 2010 11:03:31 +0200
 From: Kalman Feher kalman.fe...@melbourneit.com.au
 Sender: bind-users-bounces+oberman=es@lists.isc.org
 
 Apologies in advance for the longer than intended reply.
 
 I've spent a lot of time reviewing documents regarding timing values and
 they vary quite widely. One observation I've made is that many
 recommendations, especially those that are a little older, are predicated on
 the assumption that the process of signing is difficult and complicated. So
 last year I saw recommendations of ZSKs for a year and KSKs for 2 or more.
 As signing became easier and TLDs made their submission policies for DS (or
 pub key) clearer these numbers have dropped.
 
 I'm now seeing recommendations of 1-3 months for ZSKs and 6-12 months for
 KSKs.
 
 The advice on this has always been all over the map, but the most common
 recommendation I have seen, and I have been seeing it for years, is to
 roll ZSKs about once a month and KSKs annually.
 
 I recommend anyone attempting to secure their DNS read the NIST Computer
 Security Resource Center document SP800-81 Rev.1, Secure Domain Naming
 System (DNS) Guide at:
 http://csrc.nist.gov/publications/nistpubs/800-81r1/sp-800-81r1.pdf
 It recommends rolling th KSK every 12 to 24 months and the ZSK every 1
 to 3 months. These values are unchanged from the original SP800-81
 issues back at least two years ago and probably three. Everyone I have
 spoken with who works with crypto feels that, barring a math
 breakthough, these numbers are VERY conservative.
 
 I might also mention that US government system are required to follow
 the recommendations of SP800-81r1.
 
 If you automate it, which is relatively easy today, then having shorter
 times makes sense on a number of levels.
 
 -It allows potentially lower bit sizes, due to the time/size trade off.
 -It ingrains the process within your operational procedures. Really large
 gaps between events can lead to a loss of skills or capability. (has anyone
 seen that HSM we bought 2 years ago?). That may or may not happen of course,
 but its good to exercise procedures.
 -You can use roll over times as natural change windows for new algorithms or
 new procedures. And the likelihood of changes in the next 2 years is very
 high since registries are still adapting and learning.
 
 I can see no point in the use of lower bit size keys. Current systems
 are able to deal with the sizes now in use. Shortening keys simply
 weakens the system.
That depends on what one assumes to be the base size. It also depends on
what one intends to use the keys for. The bulk of the advice within 800-81r1
assumes the target is a single or small number of production domains. The
operational recommendations would become unwieldy very fast at large scales.
The .GOV registry also has different policies around keys than other
registries. Key groups (or lack thereof) being an obvious difference, and
one that may impact how you feel about life times and bit sizes.

The other item of concern not directly addressed by 800-81r1 (since its
target audience wouldn't care that much), is the impact of signing many
(hundreds or thousands) domains. Bit sizes, life times, signing jitter and
overall domain size become of far more concern when your server will be
signing effectively all the time. Even allowing for dedicated signing
systems, you'll care a lot more about these issues.

Another report that may be more appropriate if you have a large number of
domains is the Shinkuro Setting the parameters report.
http://www.dnssec-deployment.org/documents/SettingtheParameters.pdf. It is
aimed at larger collections of domains and thus the advice is focused at
issues of load and signing capacity.

This isn't a matter of which report is better. Rather, which recommendation
is applicable to my organisation?. The NIST suggestions (if you are not a
government body) are entirely reasonable if your domain count is low. As the
domain count enters triple digits, other advice and research may be more
appropriate.

 
 I agree with your concern with long intervals between signing. Blowing a
 key roll is a really unpleasant things and will get more so as more and
 more servers start doing validation.
 
 The value of the above benefits will vary depending on how many domains you
 have across how many different TLDs. The more of either, the greater the
 benefit of an automated and reasonably regular roll over.
 
 Good advice!
 
 Online/offline keys
 Sometimes this may be a choice, other times legislative or standards
 compliance will require certain behaviour. I've seen some documents require
 that even ZSKs remain offline (government agencies mostly), but generally
 its not considered much benefit if it rolls over reasonably often. KSKs are
 more commonly recommended to remain offline, but that definition can vary as
 well. A genuine HSM (Hardware Security Module), is not likely to be found in
 

NSEC3 salt lifetime (and some other DNSSEC params): sane value?

2010-09-17 Thread Niobos
Hi,

I'm playing around with the different timers of DNSSEC. Usually these
timers are a balance between a low overhead vs quick propagation:
* A high TTL gives more caching and thus less load on the authoritative
server; but it takes a long time for updates to propagate.
* A short RRSIG lifetime limits the amount of time old answers can be
replayed; but requires regular resigning

Or they are a balance between low overhead and security:
* A DNSKEY (ZSK or KSK) used for a long time risks being cracked;
changing it often requires maintenance.

But for the NSEC3 salt, I can't really figure out what the components
are... If someone is brute-forcing the NSEC3 hashes (cfr Daniel
Bernstein's presentation), changing the salt requires only a minuscule
change on their end. I see no reason to change the NSEC3 salt at all.

So the question is: what is a normal lifetime of an NSEC3 salt, and for
what reason?

And while I'm at it: what lifetimes, keylengths and algo's are popular
for ZSK's and KSK's? Are your keys stored online or offline?

I'm thinking of using ZSK's of 1280bits for a year (since I'm lazy) and
KSK's of 2048bits until I feel like changing it (i.e. pretty much
indefinitely). This would allow the KSK to be offline, and only needed
once a year.
I'd like to use NSEC3 with RSA/SHA-512, but that might be unreasonable
strong compared to my lazy lifetimes. On the other hand, RSA/SHA1 is
more compatible (eg with bind 9.6).
My signature lifetime will probably be 3 weeks, resigning every week.
With 1 week expire timers, it leaves 1 week of margin to correct errors.
Are these values/argo's sane?

Thx,
Niobos

PS: don't try talking me into using NSEC. I'm using NSEC3 because I
can, not that it would be any problem at all if they walked my zone.

___
bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users