On Thu, Jul 28, 2016 at 3:28 AM, Hubert Kario <hka...@redhat.com> wrote:
> On Wednesday, 27 July 2016 09:50:18 CEST Wan-Teh Chang wrote:
>> On Mon, Jul 25, 2016 at 3:32 PM, David Benjamin <david...@chromium.org>
> wrote:
>> > Hi folks,
>> >
>> > I'm not sure how this process usually works, but I would like to reserve a
>> > bunch of values in the TLS registries to as part of an idea to keep our
>> > extension points working. Here's an I-D:
>> > https://tools.ietf.org/html/draft-davidben-tls-grease-00
>> >
>> > (The name GREASE is in honor of AGL's rusted vs. well-oiled joints analogy
>> > from https://www.imperialviolet.org/2016/05/16/agility.html )
>> >
>> > One problem we repeatedly run into is servers failing to implement TLS's
>> > various extension points correctly. The most obvious being version
>> > intolerance. When we deployed X25519 in Chrome, we discovered an
>> > intolerant
>> > implementation. (Thankfully it was rare enough to not warrant a fallback
>> > or
>> > revert!) It appears that signature algorithms maybe also be gathering
>> > rust.
>> > Ciphers and extensions seem to have held up, but I would like to ensure
>> > they stay that way.
>> >
>> > The root problem here is these broken servers interoperate fine with
>> > clients at the time they are deployed. It is only after new values get
>> > defined do we notice, by which time it is too late.
>> >
>> > I would like to fix this by reserving a few values in our registries so
>> > that clients may advertise random ones and regularly exercise these
>> > codepaths in servers. If enough of the client base does this, we can turn
>> > a large class of tomorrow's interop failures into today's interop
>> > failures. This is important because an bug will not thrive in the
>> > ecosystem if it does not work against the current deployment.
>>
>> Hi David,
>>
>> In general I like your idea. Thank you for writing up a proposal.
>>
>> Another source of interop failures is the firewall devices that do
>> anomaly detection. Some of them will abort TLS handshakes if they see
>> unknown TLS protocol versions or extensions in ClientHello. (They all
>> seem to allow unknown cipher suite values.) I suspect they will treat
>> the GREASE cipher suite, extension, and named group values as "normal"
>> and continue to abort the handshake if they see truly new values. I
>> can only hope that these network security devices are updated
>> regularly.
>
> how about adding a section that explicitly says what they are allowed to do,
> and what they should not do?
>
> i.e. it is acceptable for them to reject messages that are malformed (data in
> client hello past extensions field, odd sizes for arrays that contain just
> double-byte values, etc.) but not "undefined" extensions or "undefined" values
> in them

This is what parsing is for.

>
> in other words, how they can still provide added value without breaking TLS in
> the future

Maybe they can't, and you shouldn't buy those products.

> --
> Regards,
> Hubert Kario
> Senior Quality Engineer, QE BaseOS Security team
> Web: www.cz.redhat.com
> Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>



-- 
"Man is born free, but everywhere he is in chains".
--Rousseau.

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

Reply via email to