看板FB_security
标 题Re: Collecting entropy from device_attach() times.
发信站NCTU CS FreeBSD Server (Thu Sep 20 06:20:24 2012)
转信站ptt!csnews.cs.nctu!news.cs.nctu!.cs.nctucs.nctu!.org!ownorg!owner-free
--twz1s1Hj1O0rHoT0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, Sep 19, 2012 at 08:59:15PM +0100, Ben Laurie wrote:
> On Wed, Sep 19, 2012 at 8:29 PM, Pawel Jakub Dawidek <[email protected]> wr=
ote:
> > On Wed, Sep 19, 2012 at 07:30:52PM +0100, Jonathan Anderson wrote:
> >> > If all the times are more or less equally probable in this range [=
=E2=80=A6]
> >>
> >> They're very unlikely to be equally probable. It would make sense to d=
o some characterization of these times and their statistics: a highly non-u=
niform distribution would mean that we don't actually get many bits per att=
ach.
> >
> > I have times for ~2000 device_attach() calls when loading sound card
> > driver on totally idle system. If someone could take those and analyse
> > the distribution that would be great.
> >
> >> > [=E2=80=A6] we have more
> >> > than 19 bits of entropy from this one call, but I reduced if to four
> >> > bits only, because there are devices that are much faster to attach.
> >> >
> >>
> >> Another reason for doing the above characterization is that, if a part=
icular device_attach() really does provide 12 bits of uncertainty, it's a s=
hame to drop eight of them on the floor.
> >
> > Rights. That's why I've prepared another patch:
> >
> > http://people.freebsd.org/~pjd/patches/harvest_device_attach.2.=
patch
> >
> > which effectively discards top ten bits, which means we expect 0.1% of
> > the attach time to be unpredictable (the attach time in most cases vary
> > by few percent, not sure yet how much of this variation is really
> > unpredictable).
>=20
> This is the wrong thing to do! There's no reason to discard bits on
> input (modulo the device throwing away inputs, that is) - just reduce
> your entropy estimate. "Extra" bits do no harm.
I 'discard' ten bits from the estimation. I don't discard them by
zeroing them out. If the number is a 26 bit value then I feed entire
number, but pass estimation of 16 bits.
--=20
Pawel Jakub Dawidek
http://www.wheelsystems.com
FreeBSD committer
http://www.FreeBSD.org
Am I Evil? Yes, I Am!
http://tupytaj.pl
--twz1s1Hj1O0rHoT0
Content-Type: application/pgp-signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
iEYEARECAAYFAlBaKQcACgkQForvXbEpPzTBrgCgx7yFxqGb0xbY3sQ8qlntcJyK
s9sAni3yDdZGVHLsgQ6+GflUAqvvpzEE
=ZG7Q
-----END PGP SIGNATURE-----
--twz1s1Hj1O0rHoT0--