Re: iked curve25519
I think this is the right time to do this. Stuart Henderson wrote: > On 2019/03/30 13:43, Theo de Raadt wrote: > > I think we should switch, waiting doesn't help. > > > > Reyk Floeter wrote: > > > > > I like the idea of switching it to the proper ID. > > > > > > Reyk > > > > > > > Am 30.03.2019 um 20:31 schrieb Stuart Henderson : > > > > > > > > curve25519 had a proper ID (31) assigned in 2016 but we still have > > > > the draft private-use ID in iked. Any thoughts on whether we can just > > > > cut across to the proper ID, or whether that will be too painful? > > > > Are many people using this already? > > > > > > > > > > > Here's the cut-across diff. OK? > > To transition, before updating, configure the responder to allow both > curve25519 and another PFS group e.g. > > ... > ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group curve25519 \ > ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group brainpool512 \ > ... > > Then switch the initiators to the other group, then upgrade and switch > back as wanted. > > This doesn't affect the default iked configuration, and is unlikely to > affect non-OpenBSD devices as curve25519 with the draft ID does not seem > widely used elsewhere, so shouldn't trouble too many people. > > Index: dh.c > === > RCS file: /cvs/src/sbin/iked/dh.c,v > retrieving revision 1.21 > diff -u -p -r1.21 dh.c > --- dh.c 27 Oct 2017 14:26:35 - 1.21 > +++ dh.c 1 Apr 2019 19:06:18 - > @@ -244,9 +244,7 @@ const struct group_id ike_groups[] = { > { GROUP_ECP, 28, 256, NULL, NULL, NID_brainpoolP256r1 }, > { GROUP_ECP, 29, 384, NULL, NULL, NID_brainpoolP384r1 }, > { GROUP_ECP, 30, 512, NULL, NULL, NID_brainpoolP512r1 }, > - > - /* "Private use" extensions */ > - { GROUP_CURVE25519, 1034, CURVE25519_SIZE * 8 } > + { GROUP_CURVE25519, 31, CURVE25519_SIZE * 8 } > }; > > void > Index: iked.conf.5 > === > RCS file: /cvs/src/sbin/iked/iked.conf.5,v > retrieving revision 1.53 > diff -u -p -r1.53 iked.conf.5 > --- iked.conf.5 31 Jan 2018 13:25:55 - 1.53 > +++ iked.conf.5 1 Apr 2019 19:06:18 - > @@ -883,7 +883,7 @@ The currently supported group types are > MODP (exponentiation groups modulo a prime), > EC2N (elliptic curve groups over GF[2^N]), > ECP (elliptic curve groups modulo a prime), > -or the non-standard Curve25519. > +or Curve25519. > Please note that the EC2N groups are considered as insecure and only > provided for backwards compatibility. > .Sh EXAMPLES > Index: ikev2.h > === > RCS file: /cvs/src/sbin/iked/ikev2.h,v > retrieving revision 1.28 > diff -u -p -r1.28 ikev2.h > --- ikev2.h 27 Feb 2019 06:33:57 - 1.28 > +++ ikev2.h 1 Apr 2019 19:06:18 - > @@ -231,16 +231,16 @@ extern struct iked_constmap ikev2_xforma > #define IKEV2_XFORMDH_MODP_4096 16 /* DH Group 16 */ > #define IKEV2_XFORMDH_MODP_6144 17 /* DH Group 17 */ > #define IKEV2_XFORMDH_MODP_8192 18 /* DH Group 18 */ > -#define IKEV2_XFORMDH_ECP_25619 /* DH Group 19 */ > -#define IKEV2_XFORMDH_ECP_38420 /* DH Group 20 */ > -#define IKEV2_XFORMDH_ECP_52121 /* DH Group 21 */ > -#define IKEV2_XFORMDH_ECP_19225 /* DH Group 25 */ > -#define IKEV2_XFORMDH_ECP_22426 /* DH Group 26 */ > -#define IKEV2_XFORMDH_BRAINPOOL_P224R1 27 /* DH Group 27 */ > -#define IKEV2_XFORMDH_BRAINPOOL_P256R1 28 /* DH Group 28 */ > -#define IKEV2_XFORMDH_BRAINPOOL_P384R1 29 /* DH Group 29 */ > -#define IKEV2_XFORMDH_BRAINPOOL_P512R1 30 /* DH Group 30 */ > -#define IKEV2_XFORMDH_X_CURVE25519 1034/* > draft-ietf-ipsecme-safecurves-00 */ > +#define IKEV2_XFORMDH_ECP_25619 /* RFC5114 */ > +#define IKEV2_XFORMDH_ECP_38420 /* RFC5114 */ > +#define IKEV2_XFORMDH_ECP_52121 /* RFC5114 */ > +#define IKEV2_XFORMDH_ECP_19225 /* RFC5114 */ > +#define IKEV2_XFORMDH_ECP_22426 /* RFC5114 */ > +#define IKEV2_XFORMDH_BRAINPOOL_P224R1 27 /* RFC6954 */ > +#define IKEV2_XFORMDH_BRAINPOOL_P256R1 28 /* RFC6954 */ > +#define IKEV2_XFORMDH_BRAINPOOL_P384R1 29 /* RFC6954 */ > +#define IKEV2_XFORMDH_BRAINPOOL_P512R1 30 /* RFC6954 */ > +#define IKEV2_XFORMDH_CURVE25519 31 /* RFC8031 */ > > extern struct iked_constmap ikev2_xformdh_map[]; > > Index: parse.y > === > RCS file: /cvs/src/sbin/iked/parse.y,v > retrieving revision 1.78 > diff -u -p -r1.78 parse.y > --- parse.y 13 Feb 2019 22:57:07 - 1.78 > +++ parse.y 1 Apr 201
Re: iked curve25519
On 2019/03/30 13:43, Theo de Raadt wrote: > I think we should switch, waiting doesn't help. > > Reyk Floeter wrote: > > > I like the idea of switching it to the proper ID. > > > > Reyk > > > > > Am 30.03.2019 um 20:31 schrieb Stuart Henderson : > > > > > > curve25519 had a proper ID (31) assigned in 2016 but we still have > > > the draft private-use ID in iked. Any thoughts on whether we can just > > > cut across to the proper ID, or whether that will be too painful? > > > Are many people using this already? > > > > > > Here's the cut-across diff. OK? To transition, before updating, configure the responder to allow both curve25519 and another PFS group e.g. ... ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group curve25519 \ ikesa enc aes-256 prf hmac-sha2-256 auth hmac-sha2-256 group brainpool512 \ ... Then switch the initiators to the other group, then upgrade and switch back as wanted. This doesn't affect the default iked configuration, and is unlikely to affect non-OpenBSD devices as curve25519 with the draft ID does not seem widely used elsewhere, so shouldn't trouble too many people. Index: dh.c === RCS file: /cvs/src/sbin/iked/dh.c,v retrieving revision 1.21 diff -u -p -r1.21 dh.c --- dh.c27 Oct 2017 14:26:35 - 1.21 +++ dh.c1 Apr 2019 19:06:18 - @@ -244,9 +244,7 @@ const struct group_id ike_groups[] = { { GROUP_ECP, 28, 256, NULL, NULL, NID_brainpoolP256r1 }, { GROUP_ECP, 29, 384, NULL, NULL, NID_brainpoolP384r1 }, { GROUP_ECP, 30, 512, NULL, NULL, NID_brainpoolP512r1 }, - - /* "Private use" extensions */ - { GROUP_CURVE25519, 1034, CURVE25519_SIZE * 8 } + { GROUP_CURVE25519, 31, CURVE25519_SIZE * 8 } }; void Index: iked.conf.5 === RCS file: /cvs/src/sbin/iked/iked.conf.5,v retrieving revision 1.53 diff -u -p -r1.53 iked.conf.5 --- iked.conf.5 31 Jan 2018 13:25:55 - 1.53 +++ iked.conf.5 1 Apr 2019 19:06:18 - @@ -883,7 +883,7 @@ The currently supported group types are MODP (exponentiation groups modulo a prime), EC2N (elliptic curve groups over GF[2^N]), ECP (elliptic curve groups modulo a prime), -or the non-standard Curve25519. +or Curve25519. Please note that the EC2N groups are considered as insecure and only provided for backwards compatibility. .Sh EXAMPLES Index: ikev2.h === RCS file: /cvs/src/sbin/iked/ikev2.h,v retrieving revision 1.28 diff -u -p -r1.28 ikev2.h --- ikev2.h 27 Feb 2019 06:33:57 - 1.28 +++ ikev2.h 1 Apr 2019 19:06:18 - @@ -231,16 +231,16 @@ extern struct iked_constmap ikev2_xforma #define IKEV2_XFORMDH_MODP_409616 /* DH Group 16 */ #define IKEV2_XFORMDH_MODP_614417 /* DH Group 17 */ #define IKEV2_XFORMDH_MODP_819218 /* DH Group 18 */ -#define IKEV2_XFORMDH_ECP_256 19 /* DH Group 19 */ -#define IKEV2_XFORMDH_ECP_384 20 /* DH Group 20 */ -#define IKEV2_XFORMDH_ECP_521 21 /* DH Group 21 */ -#define IKEV2_XFORMDH_ECP_192 25 /* DH Group 25 */ -#define IKEV2_XFORMDH_ECP_224 26 /* DH Group 26 */ -#define IKEV2_XFORMDH_BRAINPOOL_P224R1 27 /* DH Group 27 */ -#define IKEV2_XFORMDH_BRAINPOOL_P256R1 28 /* DH Group 28 */ -#define IKEV2_XFORMDH_BRAINPOOL_P384R1 29 /* DH Group 29 */ -#define IKEV2_XFORMDH_BRAINPOOL_P512R1 30 /* DH Group 30 */ -#define IKEV2_XFORMDH_X_CURVE25519 1034/* draft-ietf-ipsecme-safecurves-00 */ +#define IKEV2_XFORMDH_ECP_256 19 /* RFC5114 */ +#define IKEV2_XFORMDH_ECP_384 20 /* RFC5114 */ +#define IKEV2_XFORMDH_ECP_521 21 /* RFC5114 */ +#define IKEV2_XFORMDH_ECP_192 25 /* RFC5114 */ +#define IKEV2_XFORMDH_ECP_224 26 /* RFC5114 */ +#define IKEV2_XFORMDH_BRAINPOOL_P224R1 27 /* RFC6954 */ +#define IKEV2_XFORMDH_BRAINPOOL_P256R1 28 /* RFC6954 */ +#define IKEV2_XFORMDH_BRAINPOOL_P384R1 29 /* RFC6954 */ +#define IKEV2_XFORMDH_BRAINPOOL_P512R1 30 /* RFC6954 */ +#define IKEV2_XFORMDH_CURVE25519 31 /* RFC8031 */ extern struct iked_constmap ikev2_xformdh_map[]; Index: parse.y === RCS file: /cvs/src/sbin/iked/parse.y,v retrieving revision 1.78 diff -u -p -r1.78 parse.y --- parse.y 13 Feb 2019 22:57:07 - 1.78 +++ parse.y 1 Apr 2019 19:06:18 - @@ -253,7 +253,7 @@ const struct ipsec_xf groupxfs[] = { { "grp29", IKEV2_XFORMDH_BRAINPOOL_P384R1 }, { "brainpool512", IKEV2_XFORMDH_BRAINPOOL_P512R1 }, { "grp30", IKEV2_XFORMDH_BRAINPOOL_P512R1 }, - { "curve25519", IKEV2_XFORMDH_X_CURVE25519 }, + { "curve25519", IKEV2_XFORMDH_
Re: [EXTERNAL] Re: iked curve25519
You didn't ask for an enduser opinion but you should go ahead but I suggest a hard change. I can tell you people will continue to use the old method until it no longer works. -Original Message- From: owner-t...@openbsd.org On Behalf Of Tobias Heider Sent: Saturday, March 30, 2019 1:53 PM To: tech@openbsd.org Cc: r...@openbsd.org; s...@spacehopper.org Subject: [EXTERNAL] Re: iked curve25519 +1 for adding ID 31 Maybe add the proper one but also keep the old to give people some time to update their stuff if this is a problem. There should be more than enough reserved IDs. On 3/30/19 8:35 PM, Reyk Floeter wrote: > I like the idea of switching it to the proper ID. > > Reyk > >> Am 30.03.2019 um 20:31 schrieb Stuart Henderson : >> >> curve25519 had a proper ID (31) assigned in 2016 but we still have >> the draft private-use ID in iked. Any thoughts on whether we can just >> cut across to the proper ID, or whether that will be too painful? >> Are many people using this already? >> >
Re: iked curve25519
+1 for adding ID 31 Maybe add the proper one but also keep the old to give people some time to update their stuff if this is a problem. There should be more than enough reserved IDs. On 3/30/19 8:35 PM, Reyk Floeter wrote: > I like the idea of switching it to the proper ID. > > Reyk > >> Am 30.03.2019 um 20:31 schrieb Stuart Henderson : >> >> curve25519 had a proper ID (31) assigned in 2016 but we still have >> the draft private-use ID in iked. Any thoughts on whether we can just >> cut across to the proper ID, or whether that will be too painful? >> Are many people using this already? >> >
Re: iked curve25519
I think we should switch, waiting doesn't help. Reyk Floeter wrote: > I like the idea of switching it to the proper ID. > > Reyk > > > Am 30.03.2019 um 20:31 schrieb Stuart Henderson : > > > > curve25519 had a proper ID (31) assigned in 2016 but we still have > > the draft private-use ID in iked. Any thoughts on whether we can just > > cut across to the proper ID, or whether that will be too painful? > > Are many people using this already? > > >
Re: iked curve25519
I like the idea of switching it to the proper ID. Reyk > Am 30.03.2019 um 20:31 schrieb Stuart Henderson : > > curve25519 had a proper ID (31) assigned in 2016 but we still have > the draft private-use ID in iked. Any thoughts on whether we can just > cut across to the proper ID, or whether that will be too painful? > Are many people using this already? >
iked curve25519
curve25519 had a proper ID (31) assigned in 2016 but we still have the draft private-use ID in iked. Any thoughts on whether we can just cut across to the proper ID, or whether that will be too painful? Are many people using this already?