[racket-dev] [patch] OpenSSL ECDH(E) + DHE support.

From: Edward Lee (e45lee at plg.uwaterloo.ca)
Date: Sun Feb 9 20:35:06 EST 2014

Full disclosure:  I am not an OpenSSL expert and this patch is still
a work in progress.  I will hopefully have a more finalized patch
closer to next week, but I am not qualified to audit this code.

On Sun, Feb 09, 2014 at 04:40:44PM -0500, Neil Van Dyke wrote:
> Edward Lee wrote at 02/08/2014 05:52 PM:
> [...]
> >Racket's OpenSSL bindings do not currently enable the ECDH(E) and the
> >DHE ciphers, which are needed for perfect forward secrecy.
> >
> >I've attached a patch that:
> [...]
> 
> First, thanks for taking the initiative and contributing.  Second, I
> feel a little embarrassed saying this, since I don't have time to
> volunteer myself right now, but I think the following is
> important...
> 
> I suggest that any contributions touching SSL in the core need
> careful auditing by someone who understands the mechanics fully.  If
> Edward is an expert on this aspect of OpenSSL, his audit would be
> fine, but otherwise someone else has to audit it.
> 
> To emphasize: The SSL infrastructure and OpenSSL are both hairy, and
> a small mistake can defeat SSL altogether without being detected for
> years.  This has actually happened before, notably with SSL traffic
> on Debian and Ubuntu systems being compromised for over a year by a
> one-line mistake ("https://www.schneier.com/blog/archives/2008/05/random_number_b.html").
> From a Racket extension perspective, in addition to possible logic
> errors of API usage, there's also possible C memory errors through
> the FFI.
> 
> Neil V.

Posted on the dev mailing list.