I don’t think this makes any difference in applications written on commodity servers using regular socket APIs.
It’s a kind of architecture that has a quick special purpose processor that terminates the TCP and splits the incoming stream into records. The application records are forwarded to a quick crypto processor that decrypts the records and feeds them into the application. Other types of records are forwarded to the handshake processor usually implemented on general-purpose hardware with perhaps a cryptographic accelerator for asymmetric operations. That performs the handshake and feeds the key to the application processor. With the change in TLS 1.3, the TCP terminator can no longer tell the records apart. That means that the crypto processor will have to take on that duty. That’s a change in architecture that could require new hardware as opposed to a firmware update for existing hardware. I tend to believe that if this had been such a big deal we would have heard from more people, but I could be wrong. It’s clear to me that the mid-sized content providers who are likely to use such architectures are not yelling much. Yoav > On 3 Nov 2016, at 19:30, Watson Ladd <[email protected]> wrote: > > On Thu, Nov 3, 2016 at 7:31 AM, Martin Rex <[email protected] > <mailto:[email protected]>> wrote: >> Ilari Liusvaara wrote: >>>>> >>>>> Hiding the types does have its benefits (and it is also used for >>>>> zero-overhead padding scheme). >>>> >>>> Nope, ZERO benefits. But it totally breaks the middleware >>>> _at_the_endpoints_! >>> >>> Also, things like this should have been discussed like year or two >>> ago. Right now it is too late for major changes like this without good >>> cryptographic justifications (which AFAICT don't exist). >> >> They WERE brought up back then, and several times in between. >> But the TLSv1.3 proposal has still not been fixed so far. >> Ignorance does not make problems go away. Instead, it means that >> one will have to fix it later. >> >> >> Since then, I've seen exactly ZERO rationale why the cleartext contenttype, >> which has existed through SSLv3->TLSv1.2 would be a problem. With the >> removal of renegotiation from TLSv1.3, it is even less of a problem to >> keep the contenttype in the clear. >> >> The removal of visibility of ContentType in TLSv1.3 will be a complete >> non-starter for TLSv1.3 as a drop-in replacement to TLSv1.2 for certain >> software architectures (including a lot of stuff we've been shipping for the >> last 5 years), because it is actively being used to signal state of >> the communication channel to the application and to *NOT* break application >> architecture that relies on (new) application data remaining visible on >> network sockets as "network readable" events. > > This I do not understand. I may make some technical errors in below, > and would appreciate correction. > > I assume we have an application that is using poll() or select() or > somesuch for nonblocking IO (maybe something fancier, but that is > okay). > > This application grabs data from a ready connection, rams it through > the TLS implementation, and then looks at what comes out. But reading > from the connection clears the data available state! However, it's > never the case that there is visible data absent a network read or > write after the handshake. > > So what is the content type doing here? Does the application not call > a TLS implementation provided state function to determine what state > the connection is in? And if so why does the record layer need to > know, as opposed to the handshake one? I'm not seeing why the above > style implementation is impossible: Microsoft doesn't seem to think so > and hasn't complained about this change. > > Sincerely, > Watson Ladd > > _______________________________________________ > TLS mailing list > [email protected] <mailto:[email protected]> > https://www.ietf.org/mailman/listinfo/tls > <https://www.ietf.org/mailman/listinfo/tls>
_______________________________________________ TLS mailing list [email protected] https://www.ietf.org/mailman/listinfo/tls
