From: Austin S Hemmelgarn <ahferroin7@gmail.com>
To: "H. Peter Anvin" <hpa@zytor.com>,
Kees Cook <keescook@chromium.org>,
linux-kernel@vger.kernel.org
Cc: Matt Mackall <mpm@selenic.com>,
Herbert Xu <herbert@gondor.apana.org.au>,
Rusty Russell <rusty@rustcorp.com.au>,
Satoru Takeuchi <satoru.takeuchi@gmail.com>,
linux-crypto@vger.kernel.org, Theodore Ts'o <tytso@mit.edu>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH][RESEND 3] hwrng: add randomness to system from rng sources
Date: Mon, 17 Mar 2014 07:53:50 -0400 [thread overview]
Message-ID: <5326E24E.1090607@gmail.com> (raw)
In-Reply-To: <53262C21.6000608@zytor.com>
On 2014-03-16 18:56, H. Peter Anvin wrote:
> On 03/03/2014 03:51 PM, Kees Cook wrote:
>> When bringing a new RNG source online, it seems like it would make sense
>> to use some of its bytes to make the system entropy pool more random,
>> as done with all sorts of other devices that contain per-device or
>> per-boot differences.
>>
>> Signed-off-by: Kees Cook <keescook@chromium.org>
>
> I would like to raise again the concept of at least optionally using a
> kernel thread, rather than a user-space daemon, to feed hwrng output to
> the kernel pools. The main service rngd provides is FIPS tests, but
> those FIPS tests were withdrawn as a standard over 10 years ago and are
> known to be extremely weak, at the very best a minimal sanity check.
> Furthermore, they are completely useless against the output of any RNG
> which contains a cryptographic whitener, which is the vast majority of
> commercial sources -- this is especially so since rngd doesn't expect to
> have to do any data reduction for output coming from hwrng.
>
> Furthermore, if more than one hwrng device is available, rngd will only
> be able to read one of them because of the way /dev/hwrng is implemented
> in the kernel.
>
> For contrast, the kernel could do data reduction just fine by only
> crediting the entropy coming out of each hwrng driver with a fractional
> amount.
>
> That does *not* mean that there aren't random number generators which
> require significant computation better done in user space. For example,
> an audio noise daemon or a lava lamp camera which requires video processing.
>
> -hpa
I definitely second this proposal, not only does it get rid of the
overhead of the FIPS tests (which can be quite significant on embedded
systems), it also removes a significant percentage of the context
switches that rngd needs to make. This should provide some way of
disabling this behavior, probably either making it a module, or
providing a command-line/sysfs option to disable it. In fact, it should
probably default to being disabled (at least at first) and require the
user to explicitly opt-in to using it (I know people who run simulations
who use the output from /dev/hwrng directly for the simulation software
exclusively, and /dev/[u]random for everything else).
prev parent reply other threads:[~2014-03-17 11:53 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-03 23:51 [PATCH][RESEND 3] hwrng: add randomness to system from rng sources Kees Cook
2014-03-04 15:38 ` Jason Cooper
2014-03-04 19:01 ` Kees Cook
2014-03-04 19:53 ` Jason Cooper
2014-03-04 19:59 ` Kees Cook
2014-03-04 22:39 ` Matt Mackall
2014-03-05 21:11 ` Jason Cooper
2014-03-05 21:51 ` Kees Cook
2014-03-06 0:52 ` Matt Mackall
2014-03-06 1:34 ` Kees Cook
2014-03-06 12:54 ` Jason Cooper
2014-03-17 2:12 ` H. Peter Anvin
2014-03-06 12:55 ` Jason Cooper
2014-03-10 12:22 ` Herbert Xu
2014-03-16 22:56 ` H. Peter Anvin
2014-03-17 11:53 ` Austin S Hemmelgarn [this message]
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=5326E24E.1090607@gmail.com \
--to=ahferroin7@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=herbert@gondor.apana.org.au \
--cc=hpa@zytor.com \
--cc=keescook@chromium.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
--cc=rusty@rustcorp.com.au \
--cc=satoru.takeuchi@gmail.com \
--cc=tytso@mit.edu \
/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.