From: Michael Buesch <mb@bu3sch.de>
To: moreau francis <francis_moreau2000@yahoo.fr>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [HW_RNG] How to use generic rng in kernel space
Date: Fri, 4 Aug 2006 23:08:24 +0200 [thread overview]
Message-ID: <200608042308.24421.mb@bu3sch.de> (raw)
In-Reply-To: <20060804130030.90361.qmail@web25805.mail.ukl.yahoo.com>
On Friday 04 August 2006 15:00, moreau francis wrote:
> Michael Buesch wrote:
> > The dataflow is as follows:
>
> > HW-RNG -> userspace RNGD (through /dev/hwrng) -> the daemon
> > checks it for sanity and puts it back into the kernel through
> > /dev/random -> Your driver gets the data from the /dev/random
> > entropy pools.
>
> Is that also true for embedded systems ? I mean we may not found
> any rngd on these systems.
Yes, I think so.
> One other question now: suppose that others drivers need to use
> random data during their inits. At this time userspace appli still not
> have been started. How does it work ?
>
> > This is very neccesary, because your HW-RNG may fail and
> > so you may unintentionally use non-random data, if you use
> > the random data from the RNG directly.
> > The data _must_ go through userspace rngd, which does FIPS
> > sanity checks on the data.
>
> Well I'm working on a secure SOC which have a randown hardware
> which is supposed to return true random data. I understand that
> some self tests on the random data are needed but doing them in
> userspace is suprising.
The whole purpose of the hrwng subsystem is to give userspace
an interface to the RNG device. Not more and not less.
So, if you have a special hwrng on your embedded board and you
have some special driver in that board, why not interface
directly from the driver to the hwrng-driver?
This is all pretty special case.
In the hwrng-driver you could still additionally do a
hrwng_register() to export the functionality to
userspace, though.
I am not a friend of a direct in-kernel hwrng access interface,
because it may return crap data by definition. Many (all current)
RNG devices may fail and return non-random data. If that's happily
used by some in-kernel user by the interface, we are screwed.
Why can't you build your random-data consumer as module and load
it later, when random data is available (and was carefully checked
by various tests in rngd)?
--
Greetings Michael.
next prev parent reply other threads:[~2006-08-04 21:09 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-01 12:09 [HW_RNG] How to use generic rng in kernel space moreau francis
2006-08-01 13:29 ` Alan Cox
2006-08-01 13:28 ` Re : " moreau francis
2006-08-01 20:49 ` Michael Buesch
2006-08-04 13:00 ` Re : " moreau francis
2006-08-04 21:08 ` Michael Buesch [this message]
2006-08-05 1:44 ` Jeff Garzik
2006-08-08 15:39 ` Re : " moreau francis
2006-08-08 17:34 ` Michael Buesch
2006-08-09 10:02 ` Re : " moreau francis
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=200608042308.24421.mb@bu3sch.de \
--to=mb@bu3sch.de \
--cc=francis_moreau2000@yahoo.fr \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox