Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Jun 2012 10:52:05 +0100
From:      "Simon L. B. Nielsen" <simon@FreeBSD.org>
To:        Gleb Kurtsou <gleb.kurtsou@gmail.com>
Cc:        freebsd-security@FreeBSD.org, Pawel Jakub Dawidek <pjd@FreeBSD.org>
Subject:   Re: OpenSSL change for review.
Message-ID:  <75AEDB7C-6246-4F01-AC6B-5521114F3205@FreeBSD.org>
In-Reply-To: <20120609085141.GA1153@reks>
References:  <20120531194825.GB1400@garage.freebsd.pl> <20120609085141.GA1153@reks>

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

On 9 Jun 2012, at 09:51, Gleb Kurtsou wrote:

> On (31/05/2012 21:48), Pawel Jakub Dawidek wrote:
>> As learned on someone else's mistakes, I'd like to ask for a review =
of
>> those changes related to random data handling:
>>=20
>> 	http://people.freebsd.org/~pjd/patches/libc_arc4random.c.patch
>> 	http://people.freebsd.org/~pjd/patches/openssl_rand_unix.c.patch
>>=20
>> The first patch changes arc4random() to use sysctl to obtain random =
data
>> instead of opening /dev/random. The main reason here is to make it =
more
>> sandbox-friendly. Once closed in sandbox, a process can no longer =
open
>> files, so it has no access to proper random data. As a side-effect it
>> should be a bit faster as instead of three system calls (open, read =
and
>> close) we use only one (__sysctl).
>>=20
>> The second patch enables the use of libc's arc4random(3) in OpenSSL.
>=20
> While at it, did you consider replacing default homegrown OpenSSL =
random
> generator (ssleay_rand_*) with something standard (this "hash
> uninitialized user buffer to increase entropy" thing makes me nervous,
> which was also the source of well known Debian RSA key generation =
issue).

Changing the random number generator without having it coming from =
upstream makes me even more nervous, but I agree with your general =
point.

> There is standard (ANSI X9.31 A.2.4) AES-based implementation under
> openssl/fips/rand. Replacing fips_get_dt with our arc4random_buf() =
looks
> straightforward. It may be performance improvement as well, =
considering
> both OpenSSL and hardware support AESNI. Or simply replace the whole
> thing with arc4random_*..

If somebody is interested in doing things along these lines, I strongly =
suggest trying to rope in some OpenSSL people, e.g. benl@.

> Patches are good to commit, IMHO.

Thanks for giving the patch more eyes.

--=20
Simon L. B. Nielsen




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?75AEDB7C-6246-4F01-AC6B-5521114F3205>