There should *absolutely* be a requirement that any point you receive from the 
peer is actually a point on the curve.

What can happen if you don't?  Well, that depends on the implementation of the 
point addition/doubling; what happens with the normal implementation is that it 
acts as if it was a different curve with a different curve order -- this means 
that someone introducing a bogus value can give us a point with a small order 
(which can't happen with the normal Brainpool curves, because those curves have 
prime orders).

In addition, validating the values is cheap; easily worth the gain.


Also, given the you validate the peer's value, and forbid public points which 
are the point-at-infinity, doubling checking that the D-H common value is not 
the point at infinity appears to be unneeded.  The Brainpool Curves are (again) 
of prime order; this implies that the D-H common value is the point at infinity 
only if the peer's public value is the point at infinity (which ought to be 
forbidden), or our secret value is a multiple of the curve order (in which 
case, our public value is the point at infinity).


-----Original Message-----
From: ipsec-boun...@ietf.org [mailto:ipsec-boun...@ietf.org] On Behalf Of Dan 
Harkins
Sent: Friday, November 30, 2012 12:57 PM
To: Johannes Merkle
Cc: IPsecme WG; Manfred Lochter; Turner, Sean P.; rfc-...@rfc-editor.org
Subject: Re: [IPsec] I-D on Using the ECC Brainpool Curves for IKEv2 Key 
Exchange


  Hi Johannes,

On Fri, November 30, 2012 4:11 am, Johannes Merkle wrote:
> We have submitted a new revision of the Internet Draft on Using the 
> ECC Brainpool Curves (defined in RFC 5639) for IKEv2 Key Exchange 
> https://datatracker.ietf.org/doc/draft-merkle-ikev2-ke-brainpool/
>
> Since there was considerable objection to the point compression method 
> in the WG, we have removed this option altogether and define only the 
> uncompressed KE payload format, which is in full accordance with RFC 
> 5903.
>
>
> Any feedback is welcome.

  I see that there is a requirement that an implementation MUST verify that the 
D-H common value is not the point-at-infinity. Do you think there should also 
be a requirement that an implementation MUST verify that the x- and 
y-coordinates received from a peer satisfy the equation of the negotiated curve 
(and abort the exchange if not)?

  regards,

  Dan.


_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec
_______________________________________________
IPsec mailing list
IPsec@ietf.org
https://www.ietf.org/mailman/listinfo/ipsec

Reply via email to