Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Sep 2012 22:53:32 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Jonathan Anderson <jonathan.anderson@cl.cam.ac.uk>
Cc:        freebsd-security@freebsd.org, Mariusz Gromada <mariusz.gromada@gmail.com>
Subject:   Re: Collecting entropy from device_attach() times.
Message-ID:  <20120919205331.GE1416@garage.freebsd.pl>
In-Reply-To: <20120919192923.GA1416@garage.freebsd.pl>
References:  <20120918211422.GA1400@garage.freebsd.pl> <A8FD98DD94774D00B4E5F78D3174C1B4@gmail.com> <20120919192923.GA1416@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help

--NY6JkbSqL3W9mApi
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 19, 2012 at 09:29:23PM +0200, Pawel Jakub Dawidek wrote:
> 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]
> >=20
> > They're very unlikely to be equally probable. It would make sense to do=
 some characterization of these times and their statistics: a highly non-un=
iform distribution would mean that we don't actually get many bits per atta=
ch.
>=20
> 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.
>=20
> > > [=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.
> > > =20
> >=20
> > Another reason for doing the above characterization is that, if a parti=
cular device_attach() really does provide 12 bits of uncertainty, it's a sh=
ame to drop eight of them on the floor.
>=20
> Right. That's why I've prepared another patch:
>=20
> 	http://people.freebsd.org/~pjd/patches/harvest_device_attach.2.patch
>=20
> 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).

Here's how the distribution looks like for device_attach() times of my
sound card. The times were 26bit numbers, so this is after discarding
top ten bits, which leave us with 16 lower bits of pure entropy:)

	http://people.freebsd.org/~pjd/misc/harvest_device_attach.png

Kudos to my friend Mariusz (CCed) who is mathematician and who helped me
with visualization and also promissed to prepare formal proof:)

--=20
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl

--NY6JkbSqL3W9mApi
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iEYEARECAAYFAlBaMMsACgkQForvXbEpPzRvowCcCvvBJ0zDqwcQLhF4SkV7y/q7
xDoAoL5EuvVBtK8ivwKC38i+oHUtHX3E
=s4nF
-----END PGP SIGNATURE-----

--NY6JkbSqL3W9mApi--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120919205331.GE1416>