public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Buesch <mb@bu3sch.de>
To: Matt Mackall <mpm@selenic.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] hw_random: add quality categories
Date: Tue, 26 Jun 2007 16:12:26 +0200	[thread overview]
Message-ID: <200706261612.27184.mb@bu3sch.de> (raw)
In-Reply-To: <20070626031340.GQ11166@waste.org>

On Tuesday 26 June 2007 05:13:41 Matt Mackall wrote:
> On Sun, Jun 24, 2007 at 03:55:22PM +0200, Michael Buesch wrote:
> > This adds quality categories for hardware random number generators.
> > 
> ...
> > +
> > +/**
> > + * enum hwrng_quality - Quality identifier for RNG hardware
> > + * @HWRNG_QUAL_HIGH:	High quality RNG. Higher quality than
> > + * 			what is found on the usual PC mainboards.
> > + * 			Use that for special dedicated RNG
> > + * 			extension boards.
> > + * @HWRNG_QUAL_NORMAL:	PC-onboard-RNG devices.
> > + * @HWRNG_QUAL_LOW:	Low quality RNG devices. Use this for
> > + * 			devices which gather the entropy from possibly
> > + * 			bad sources, like the network.
> > + * @HWRNG_QUAL_PSEUDO:	Pseudo RNG device. Use this for devices
> > + * 			which are not RNG devices by definition, but
> > + * 			could be used as such. For example various
> > + * 			hardware sensors, like a motion sensor.
> > + */
> 
> I don't think these definitions are very useful.
...

No wait. You are missing the whole point of this
quality category.
The whole point of it is to prevent defaulting to a bad RNG, if
there's a bad and a good one in a machine.
Well, what's bad.
It's easy. HWRNGs like the one in bcm43xx are bad.
It's proprietary and nobody knows what it does (I guess
it gathers the entropy from the network or something
and hashes that in hardware).
So such a device would be QUAL_LOW.
_All_ HWRNGs that are shipped onboard in machines are
QUAL_NORMAL. There's no point in prefering an intel RNG
over and AMD RNG, although there might be differences.
These quality categories are only a _rough_ estimation
of how good the device is.
The reference frame for this estimation are the normal
onboard (or on-CPU) RNGs that are shipped.

This is _not_ a test to rule out your RNG extender board
for 10,000USD against the one which costs 100,000USD. They
would _both_ get QUAL_HIGH. So it's up to the user which
one of the devices he uses. But the important thing is that
this quality categories prevent the kernel from _defaulting_
to the in-CPU RNG, while a 10,000USD extender card is installed.

QUAL_LOW and QUAL_PSEUDO are _not_ to be used for real
HWRNGs. These categories are only for devices that can be used
to get entropy, _if_ there's nothing better in the machine.

Of would you like to generate your keys from entropy gathered
by your wireless-card, while you have a perfectly fine RNG in
your shiny CPU? This patch prevents that.
And you can still switch to your crappy wireless-card, if you
like that, in sysfs.

-- 
Greetings Michael.

  parent reply	other threads:[~2007-06-26 14:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-24 13:55 [PATCH] hw_random: add quality categories Michael Buesch
2007-06-24 14:30 ` Alexey Dobriyan
2007-06-24 14:43   ` Michael Buesch
2007-06-25 23:21 ` Andrew Morton
2007-06-26 13:56   ` Michael Buesch
2007-06-26  3:13 ` Matt Mackall
2007-06-26 14:06   ` Henrique de Moraes Holschuh
2007-06-26 14:20     ` Michael Buesch
2007-06-27  2:00       ` Henrique de Moraes Holschuh
2007-06-27 12:58         ` Michael Buesch
2007-06-27 16:40           ` Henrique de Moraes Holschuh
2007-06-27 17:56             ` Michael Buesch
2007-06-28  7:57               ` Henrique de Moraes Holschuh
2007-06-26 14:12   ` Michael Buesch [this message]
2007-06-26 14:32     ` Matt Mackall
2007-06-26 14:45       ` Michael Buesch
2007-06-27  3:18         ` Matt Mackall
2007-06-27 12:52           ` Michael Buesch

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=200706261612.27184.mb@bu3sch.de \
    --to=mb@bu3sch.de \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mpm@selenic.com \
    /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