Hi,

> From: Gert Doering [mailto:g...@greenie.muc.de]
> Sent: donderdag 18 april 2013 22:45
> 
> Hi,
> 
> On Thu, Apr 18, 2013 at 08:28:42PM +0100, Ed W wrote:
> > Hi, given the new abstractions to support PolarSSL, what
> > interest/resistance would there be to supporting libsodium?
> >      https://github.com/jedisct1/libsodium
> 
> It took us quite some effort to reach the point where a polarssl-
> compiled openvpn would be able to talk to a (default-configured)
> openssl-openvpn, and I don't really see us using a crypto library that
> has none of the algorithms that we need for interoperability.
> 
> But then, I'm not the crypto geek here, I'm just the janitor...
> 

As a (minor) crypto geek, I'd love to see support for NaCl. I'm personally very 
happy with PolarSSL, but it's good to have more options.

There's a few issues that we need to overcome though:

 - Unfortunately as far as I know there's no TLS support in NaCl. I guess it 
could work as a crypto library for the data channel and TLS-Auth parts of 
OpenVPN though. The control channel could then still be managed by 
PolarSSL/OpenSSL.

 - Maintenance is an issue, are you (or do you know someone :)) willing to take 
responsibility for writing the required patches and maintaining them?

 - As Gert said, he default algorithm in OpenVPN is Blowfish with a SHA-1 HMAC. 
There's no support for auto-negotiation, so using NaCl will break compatibility 
with an OpenSSL/PolarSSL-based OpenVPN. This is minor though, as it's easy to 
work around this as an end-user by specifying the algorithms in the client and 
server config files.

I don't want to sound overly negative though, the crypto abstraction in OpenVPN 
is flexible enough to support this sort of hybrid multi-library implementation 
now. At first glance, it would just require some tweaks to the build system, 
and some glue for libsodium.

Adriaan

Reply via email to