From owner-freebsd-security@FreeBSD.ORG Wed Sep 19 20:20:06 2012 Return-Path: Delivered-To: freebsd-security@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1E243106566C; Wed, 19 Sep 2012 20:20:06 +0000 (UTC) (envelope-from pawel@dawidek.net) Received: from mail.dawidek.net (garage.dawidek.net [91.121.88.72]) by mx1.freebsd.org (Postfix) with ESMTP id CE0028FC08; Wed, 19 Sep 2012 20:20:05 +0000 (UTC) Received: from localhost (89-73-195-149.dynamic.chello.pl [89.73.195.149]) by mail.dawidek.net (Postfix) with ESMTPSA id 165F74A9; Wed, 19 Sep 2012 22:19:10 +0200 (CEST) Date: Wed, 19 Sep 2012 22:20:24 +0200 From: Pawel Jakub Dawidek To: Ben Laurie Message-ID: <20120919202023.GD1416@garage.freebsd.pl> References: <20120918211422.GA1400@garage.freebsd.pl> <20120919192923.GA1416@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="twz1s1Hj1O0rHoT0" Content-Disposition: inline In-Reply-To: X-OS: FreeBSD 10.0-CURRENT amd64 User-Agent: Mutt/1.5.21 (2010-09-15) X-Mailman-Approved-At: Wed, 19 Sep 2012 20:34:08 +0000 Cc: freebsd-security@freebsd.org, Jonathan Anderson Subject: Re: Collecting entropy from device_attach() times. X-BeenThere: freebsd-security@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Security issues \[members-only posting\]" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2012 20:20:06 -0000 --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 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--