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>