All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arno Wagner <arno@wagner.name>
To: dm-crypt@saout.de
Subject: Re: [dm-crypt] [ANNOUNCE] cryptsetup 1.2.0-rc1 (test release	candidate)
Date: Fri, 19 Nov 2010 01:11:53 +0100	[thread overview]
Message-ID: <20101119001153.GC18432@tansi.org> (raw)
In-Reply-To: <4CE52399.3080106@redhat.com>

On Thu, Nov 18, 2010 at 02:01:13PM +0100, Milan Broz wrote:
> On 11/18/2010 01:40 PM, Arno Wagner wrote:
> >> I think it is not only about starved situations, thats just practical
> >> impact of using this interface.
> >> Ipsec need to set key too and cannot wait for entropy.
> > 
> > It has to. No entropy - no security. The entropy does not
> > nee to be "fresh", but it needs to be there.
> 
> Maybe I said it wrong - RNG of course must be seeded (using entropy).
> But this is in initialisation phase. It must wait forever here
> if there is no entropy.
> But once seeded, it should produce strong enough stream of data,

Ah, yes, I see we are in agreement. Once properly seesed
it _must_ perform. 

> optionally mixed with environmental noise.

That is not stricly needed, agreed, but it helps to
add more entropy if the crypto-PRNG has slight weaknesses
or slight information leakage. It is more of a safety-net
for these cases. It is essential if an installation 
including seed is copied or restored from backup.


I also see you had a piece of information I was not aware
of so far (but which is logical in hindsight), namely that
the kernel does not reseed the PRNG from its former state
after a reboot. It seems in Debian, this is done by 
/etc/init.d/urandom, i.e. by the distribution.

Thinking about this, I believe the only clean solution would 
have been to drop /dev/urandom from the kernel entirely, as
it runs into the seeding problem after each reboot and has
to do so unless the kernel was allowed to write the filesystem,
which would cause a whole lot of other issues. It would
seem that while the kernel is the place to gather entropy 
(and /dev/random does a reasonable job of that), it is not
the place for a dependable cryptographic PRNG service. 


Ok, I think I really see your point now ;-)

Arno
-- 
Arno Wagner, Dr. sc. techn., Dipl. Inform., CISSP -- Email: arno@wagner.name 
GnuPG:  ID: 1E25338F  FP: 0C30 5782 9D93 F785 E79C  0296 797F 6B50 1E25 338F
----
Cuddly UI's are the manifestation of wishful thinking. -- Dylan Evans

If it's in the news, don't worry about it.  The very definition of 
"news" is "something that hardly ever happens." -- Bruce Schneier 

  reply	other threads:[~2010-11-19  0:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-16  8:58 [dm-crypt] [ANNOUNCE] cryptsetup 1.2.0-rc1 (test release candidate) Milan Broz
2010-11-16 11:58 ` Christoph Anton Mitterer
2010-11-17 18:01 ` Milan Broz
2010-11-17 22:36   ` Arno Wagner
2010-11-18  3:51     ` Milan Broz
2010-11-18  9:43       ` Christoph Anton Mitterer
2010-11-18 12:40       ` Arno Wagner
2010-11-18 13:01         ` Milan Broz
2010-11-19  0:11           ` Arno Wagner [this message]
2010-11-19  1:01 ` Arno Wagner
2010-11-19  8:49   ` Milan Broz
2010-11-19 12:08     ` Arno Wagner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101119001153.GC18432@tansi.org \
    --to=arno@wagner.name \
    --cc=dm-crypt@saout.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.