Re: [Openvpn-users] ECDH / ECDSA support?

2016-07-08 Thread Jan Just Keijser
Hi,

On 08/07/16 11:10, David Sommerseth wrote:
> On 08/07/16 00:24, Jan Just Keijser wrote:
>> Hi,
>>
>> On 07/07/16 09:15, Steffan Karger wrote:
>>> Hi Scott,
>>>
>>> On Wed, Jul 6, 2016 at 9:18 PM, Scott Crooks  wrote:
 I saw this file in the OpenVPN codebase:
 https://github.com/OpenVPN/openvpn/blob/master/README.ec

 Which claims that support for elliptic curve certificates will be enabled 
 in
 OpenVPN 2.4.0. Just wanting to make sure there wasn't another way to enable
 it in version 2.3.10?
>>> Yes, use an mbed TLS build.  That will automatically support ECDSA and
>>> ECDH.  I *think* (can't test right now) that ECDSA also works fine
>>> with 2.3.10 + modern OpenSSL (1.0.1+, iirc).  ECDH might also work
>>> with OpenSSL 1.0.2+.
>>>
>>> But, by far the easiest way is to just use the master branch.  It is
>>> quite stable, and has full EC support, for both mbed TLS and OpenSSL.
>>>
>>>
>> I concur mostly with Steffan, with a few notes:
>>
>> - with mbed TLS ECDSA works "out of the box"
>> - with OpenSSL, you need a version that supports it; notably, RedHat
>> strips ALL elliptic curve support from their supplied versions of openssn
> Really?  I'm on Scientific Linux 7.2 (RHEL 7.2 clone) ... and I can do this:
>
> $ openssl speed ecdsap521
> Doing 521 bit sign ecdsa's for 10s: 27835 521 bit ECDSA signs in 10.01s
> Doing 521 bit verify ecdsa's for 10s: 5518 521 bit ECDSA verify in 10.00s
> OpenSSL 1.0.1e-fips 11 Feb 2013
> built on: Mon May  9 01:19:53 CDT 2016
> options:bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int)
> aes(partial) idea(int) blowfish(idx)
> compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT
> -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2
> -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
>-m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2
> -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM
> -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
>signverifysign/s verify/s
>   521 bit ecdsa (nistp521)   0.0004s   0.0018s   2780.7551.8
>
> [...]

> In addition 'openssl ec' and 'openssl ecparam' works too.  And 'openssl
> speed' also provides possibilities to test ecdsap256, ecdsap384, ecdsa,
> ecdhp256, ecdhp384, ecdhp521, ecdh in addition to ecdsap521 in the
> example above.
>
> Or have I misunderstood something?  With that said, I don't know how it
> is with EC support on EL6, and I doubt it is available on EL5 releases.
>
it seems to depend on the RH (or derived) distro:
on my fedora 22 box I see a difference in ciphers -V between the OS 
version of OpenSSL and a custom built version:

<   0xC0,0x02 - ECDH-ECDSA-RC4-SHA  SSLv3 Kx=ECDH/ECDSA 
Au=ECDH Enc=RC4(128)  Mac=SHA1
<   0xC0,0x03 - ECDH-ECDSA-DES-CBC3-SHA SSLv3 Kx=ECDH/ECDSA 
Au=ECDH Enc=3DES(168) Mac=SHA1
<   0xC0,0x04 - ECDH-ECDSA-AES128-SHA   SSLv3 Kx=ECDH/ECDSA 
Au=ECDH Enc=AES(128)  Mac=SHA1
<   0xC0,0x05 - ECDH-ECDSA-AES256-SHA   SSLv3 Kx=ECDH/ECDSA 
Au=ECDH Enc=AES(256)  Mac=SHA1
54,57d36
<   0xC0,0x0C - ECDH-RSA-RC4-SHASSLv3 Kx=ECDH/RSA 
Au=ECDH Enc=RC4(128)  Mac=SHA1
<   0xC0,0x0D - ECDH-RSA-DES-CBC3-SHA   SSLv3 Kx=ECDH/RSA 
Au=ECDH Enc=3DES(168) Mac=SHA1
<   0xC0,0x0E - ECDH-RSA-AES128-SHA SSLv3 Kx=ECDH/RSA 
Au=ECDH Enc=AES(128)  Mac=SHA1
<   0xC0,0x0F - ECDH-RSA-AES256-SHA SSLv3 Kx=ECDH/RSA 
Au=ECDH Enc=AES(256)  Mac=SHA1
70,71d42
<   0xC0,0x25 - ECDH-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH/ECDSA 
Au=ECDH Enc=AES(128)  Mac=SHA256
<   0xC0,0x26 - ECDH-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH/ECDSA 
Au=ECDH Enc=AES(256)  Mac=SHA384
74,75d44
<   0xC0,0x29 - ECDH-RSA-AES128-SHA256  TLSv1.2 Kx=ECDH/RSA 
Au=ECDH Enc=AES(128)  Mac=SHA256
<   0xC0,0x2A - ECDH-RSA-AES256-SHA384  TLSv1.2 Kx=ECDH/RSA 
Au=ECDH Enc=AES(256)  Mac=SHA384
78,79d46
<   0xC0,0x2D - ECDH-ECDSA-AES128-GCM-SHA256 TLSv1.2 
Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(128) Mac=AEAD
<   0xC0,0x2E - ECDH-ECDSA-AES256-GCM-SHA384 TLSv1.2 
Kx=ECDH/ECDSA Au=ECDH Enc=AESGCM(256) Mac=AEAD
82,83d48
<   0xC0,0x31 - ECDH-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH/RSA 
Au=ECDH Enc=AESGCM(128) Mac=AEAD
<   0xC0,0x32 - ECDH-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH/RSA 
Au=ECDH Enc=AESGCM(256) Mac=AEAD


but those ciphers *are* present on a CentOS 7.2 box.
My advice remains: check whether your openssl version supports the type 
of EC crypto that you desire.

cheers,

JJK


--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
e

Re: [Openvpn-users] ECDH / ECDSA support?

2016-07-08 Thread David Sommerseth
On 08/07/16 00:24, Jan Just Keijser wrote:
> Hi,
> 
> On 07/07/16 09:15, Steffan Karger wrote:
>> Hi Scott,
>>
>> On Wed, Jul 6, 2016 at 9:18 PM, Scott Crooks  wrote:
>>> I saw this file in the OpenVPN codebase:
>>> https://github.com/OpenVPN/openvpn/blob/master/README.ec
>>>
>>> Which claims that support for elliptic curve certificates will be enabled in
>>> OpenVPN 2.4.0. Just wanting to make sure there wasn't another way to enable
>>> it in version 2.3.10?
>> Yes, use an mbed TLS build.  That will automatically support ECDSA and
>> ECDH.  I *think* (can't test right now) that ECDSA also works fine
>> with 2.3.10 + modern OpenSSL (1.0.1+, iirc).  ECDH might also work
>> with OpenSSL 1.0.2+.
>>
>> But, by far the easiest way is to just use the master branch.  It is
>> quite stable, and has full EC support, for both mbed TLS and OpenSSL.
>>
>>
> I concur mostly with Steffan, with a few notes:
> 
> - with mbed TLS ECDSA works "out of the box"
> - with OpenSSL, you need a version that supports it; notably, RedHat 
> strips ALL elliptic curve support from their supplied versions of openssn

Really?  I'm on Scientific Linux 7.2 (RHEL 7.2 clone) ... and I can do this:

$ openssl speed ecdsap521
Doing 521 bit sign ecdsa's for 10s: 27835 521 bit ECDSA signs in 10.01s
Doing 521 bit verify ecdsa's for 10s: 5518 521 bit ECDSA verify in 10.00s
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Mon May  9 01:19:53 CDT 2016
options:bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int)
aes(partial) idea(int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT
-DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -DTERMIO -Wall -O2
-g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches
  -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM
-DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
  signverifysign/s verify/s
 521 bit ecdsa (nistp521)   0.0004s   0.0018s   2780.7551.8

$ openssl ciphers | tr : \\n | grep EC
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
ECDHE-ECDSA-AES256-SHA
ECDH-RSA-AES256-GCM-SHA384
ECDH-ECDSA-AES256-GCM-SHA384
ECDH-RSA-AES256-SHA384
ECDH-ECDSA-AES256-SHA384
ECDH-RSA-AES256-SHA
ECDH-ECDSA-AES256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-ECDSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-DES-CBC3-SHA
ECDHE-ECDSA-DES-CBC3-SHA
ECDH-RSA-AES128-GCM-SHA256
ECDH-ECDSA-AES128-GCM-SHA256
ECDH-RSA-AES128-SHA256
ECDH-ECDSA-AES128-SHA256
ECDH-RSA-AES128-SHA
ECDH-ECDSA-AES128-SHA
ECDH-RSA-DES-CBC3-SHA
ECDH-ECDSA-DES-CBC3-SHA
ECDHE-RSA-RC4-SHA
ECDHE-ECDSA-RC4-SHA
ECDH-RSA-RC4-SHA
ECDH-ECDSA-RC4-SHA

In addition 'openssl ec' and 'openssl ecparam' works too.  And 'openssl
speed' also provides possibilities to test ecdsap256, ecdsap384, ecdsa,
ecdhp256, ecdhp384, ecdhp521, ecdh in addition to ecdsap521 in the
example above.

Or have I misunderstood something?  With that said, I don't know how it
is with EC support on EL6, and I doubt it is available on EL5 releases.


--
kind regards,

David Sommerseth

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users


Re: [Openvpn-users] ECDH / ECDSA support?

2016-07-07 Thread Jan Just Keijser
Hi,

On 07/07/16 09:15, Steffan Karger wrote:
> Hi Scott,
>
> On Wed, Jul 6, 2016 at 9:18 PM, Scott Crooks  wrote:
>> I saw this file in the OpenVPN codebase:
>> https://github.com/OpenVPN/openvpn/blob/master/README.ec
>>
>> Which claims that support for elliptic curve certificates will be enabled in
>> OpenVPN 2.4.0. Just wanting to make sure there wasn't another way to enable
>> it in version 2.3.10?
> Yes, use an mbed TLS build.  That will automatically support ECDSA and
> ECDH.  I *think* (can't test right now) that ECDSA also works fine
> with 2.3.10 + modern OpenSSL (1.0.1+, iirc).  ECDH might also work
> with OpenSSL 1.0.2+.
>
> But, by far the easiest way is to just use the master branch.  It is
> quite stable, and has full EC support, for both mbed TLS and OpenSSL.
>
>
I concur mostly with Steffan, with a few notes:

- with mbed TLS ECDSA works "out of the box"
- with OpenSSL, you need a version that supports it; notably, RedHat 
strips ALL elliptic curve support from their supplied versions of openssn
- then, in order to use ECDSA certs it is best to run the master branch 
on the server, as you will need to specify a ecdh-curve parameter in 
order to use SHA2+ECDSA.
- for the *client* you can stick with 2.3.10+ as long as the OpenSSL lib 
supports EC.

HTH,

JJK


--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users


Re: [Openvpn-users] ECDH / ECDSA support?

2016-07-07 Thread Steffan Karger
Hi Scott,

On Wed, Jul 6, 2016 at 9:18 PM, Scott Crooks  wrote:
> I saw this file in the OpenVPN codebase:
> https://github.com/OpenVPN/openvpn/blob/master/README.ec
>
> Which claims that support for elliptic curve certificates will be enabled in
> OpenVPN 2.4.0. Just wanting to make sure there wasn't another way to enable
> it in version 2.3.10?

Yes, use an mbed TLS build.  That will automatically support ECDSA and
ECDH.  I *think* (can't test right now) that ECDSA also works fine
with 2.3.10 + modern OpenSSL (1.0.1+, iirc).  ECDH might also work
with OpenSSL 1.0.2+.

But, by far the easiest way is to just use the master branch.  It is
quite stable, and has full EC support, for both mbed TLS and OpenSSL.

-Steffan

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users


[Openvpn-users] ECDH / ECDSA support?

2016-07-06 Thread Scott Crooks
Greetings,

I saw this file in the OpenVPN codebase:
https://github.com/OpenVPN/openvpn/blob/master/README.ec

Which claims that support for elliptic curve certificates will be enabled
in OpenVPN 2.4.0. Just wanting to make sure there wasn't another way to
enable it in version 2.3.10?

-- 
Scott Crooks (王虎)
LinkedIn: http://www.linkedin.com/in/jshcrooks
--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Openvpn-users mailing list
Openvpn-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users