On Thursday, 13 December 2018 18:04:12 CET David Benjamin wrote: > On Thu, Dec 13, 2018 at 10:54 AM Hubert Kario <hka...@redhat.com> wrote: > > On Wednesday, 12 December 2018 23:21:43 CET David Benjamin wrote: > > > Hi folks, > > > > > > We have one more update for you all on TLS 1.3 deployment issues. Over > > > the > > > course of deploying TLS 1.3 to Google servers, we found that JDK 11 > > > unfortunately implemented TLS 1.3 incorrectly. On resumption, it fails > > > to > > > send the SNI extension. This means that the first connection from a JDK > > > 11 > > > client will work, but subsequent ones fail. > > > https://bugs.openjdk.java.net/browse/JDK-8211806 > > > > > > It appears this will be fixed in JDK 11.0.2, which is not yet released. > > > In > > > the meantime, we have sadly had to detect JDK 11 clients and disable TLS > > > 1.3 for them. This, in turn, raises a problem with the downgrade signal > > > in > > > ServerHello.random. JDK 11 does implement that downgrade signal, so the > > > workaround cannot send it. However, the signal is not effective for > > > other > > > clients unless all TLS 1.2 ServerHellos are marked. > > > > > > To salvage this for now, we've introduced a second value, generated > > > > > > randomly: > > > 0xed, 0xbf, 0xb4, 0xa8, 0xc2, 0x47, 0x10, 0xff > > > > > > When Google servers detect JDK 11 and disable TLS 1.3 to work around > > > this > > > issue, they will use that value in ServerHello.random instead of the > > > standard 0x44, 0x4f, 0x57, 0x4e, 0x47, 0x52, 0x44, 0x01. Future versions > > > of > > > Chrome will treat the new value as an alias of the standard one. Other > > > clients may wish to do the same, but please properly test your TLS 1.3 > > > implementation first. > > > > there is now a server test script in tlsfuzzer for standard downgrade > > sentinel: > > > > https://github.com/tomato42/tlsfuzzer/blob/master/scripts/test-downgrade-p > > rotection.py > > > > example of usage: https://github.com/tomato42/tlsfuzzer/pull/479/files > > That's not the problematic direction here. If someone ships a TLS 1.3 > *client* which enforces the downgrade sentinel, it is important that the > TLS 1.3 implementation not contain show-stopping bugs. The reason JDK 11's > problem impacts the downgrade sentinel is because JDK 11 lacks a working > client TLS 1.3 implementation, but it insists it has one by way of > enforcing the signal on the client.
I know, but if people start fiddling with downgrade signal, they should verify that it works correctly in general case — I was replying to the last sentence only. -- 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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ TLS mailing list TLS@ietf.org https://www.ietf.org/mailman/listinfo/tls