I'm with EKR on this.

Regards,
Uri

Sent from my iPhone

> On Sep 3, 2018, at 15:27, Eric Rescorla <e...@rtfm.com> wrote:
> 
> 
> 
>> On Mon, Sep 3, 2018 at 12:19 PM, Hubert Kario <hka...@redhat.com> wrote:
>> On Monday, 3 September 2018 17:30:15 CEST Eric Rescorla wrote:
>> > On Mon, Sep 3, 2018 at 8:20 AM, Hubert Kario <hka...@redhat.com> wrote:
>> > > On Monday, 3 September 2018 17:15:24 CEST Eric Rescorla wrote:
>> > > > On Mon, Sep 3, 2018 at 7:28 AM, Hubert Kario <hka...@redhat.com> wrote:
>> > > > > On Monday, 3 September 2018 16:01:22 CEST Eric Rescorla wrote:
>> > > > > > On Mon, Sep 3, 2018 at 4:18 AM, Hubert Kario <hka...@redhat.com>
>> > > > > > wrote:
>> > > > > not
>> > > > > abort connection, so I still think it will create less confusion to
>> > > > > re-allow
>> > > > > them than to re-assign new codepoints
>> > > > 
>> > > > The issue is that it's not possible to distinguish a non-compliant TLS
>> > > 
>> > > 1.3
>> > > 
>> > > > implementation which is inappropriately sending these code points from
>> > > > one which actually supports Brainpool with TLS 1.3. Using new code
>> > > > points makes this clear.
>> > > 
>> > > and why having that distinction is that important?
>> > 
>> > Because otherwise you are risking interop problems:
>> > 
>> > 1. A stack which supports TLS 1.2 and TLS 1.3 but only supports Brainpool
>> > for TLS 1.2 (the only kind you can write at this point), and 
>> > inappropriately
>> > advertises the Brainpool curves in violation of the MUST above.
>> > 2. A stack which supports TLS 1.2 and TLS 1.3 and supports Brainpool for
>> > both (assuming that we adopt your proposal and reactivate these code
>> > points).
>> > 
>> > If stack 2 receives a CH from stack 1 and responds by selecting a Brainpool
>> > curve, then there will be an interop issue when it sends an HRR [0]
>> > selecting
>> > the Brainpool curve.
>> > 
>> > -Ekr
>> > 
>> > [0] I'm assuming that the client doesn't offer a Brainpool KeyShare.
>> 
>> ah, yes, missed this case. That does taint all those codepoints for TLS 1.3
>> 
>> but while the server may abort the connection upon receiving them in TLS 1.3 
>> CH (as it is violation of the MUST clause), I don't think it actually should 
>> abort it...
>> 
>> For one, and I think we can agree on that, is the server MUST ignore them if 
>> it doesn't support them in TLS 1.2.
> 
> I don't think I agree with this. Why would that be the case?
> 
> 
>> Given that TLS 1.3 server usually implement both TLS 1.2 and TLS 1.3, having 
>> code that does ignore them in TLS 1.2 and doesn't ignore them in TLS 1.3 is 
>> only inviting bugs.
> 
> We already have other special case code that enforces such rules. For 
> instance,
> compression:
> 
>       For every TLS 1..3 ClientHello, this vector
>       MUST contain exactly one byte, set to zero, which corresponds to
>       the "null" compression method in prior versions of TLS.  If a
>       TLS 1.3 ClientHello is received with any other value in this
>       field, the server MUST abort the handshake with an
>       "illegal_parameter" alert.  Note that TLS 1.3 servers might
>       receive TLS 1.2 or prior ClientHellos which contain other
>       compression methods and (if negotiating such a prior version) MUST
>       follow the procedures for the appropriate prior version of TLS.
> 
> -Ekr
> 
> 
> 
>> -- 
>> Regards,
>> Hubert Kario
>> Senior Quality Engineer, QE BaseOS Security team
>> Web: www.cz.redhat.com
>> Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to