<story><title>How HTTPS Handshake Happens</title><url>http://sudhakar.online/programming/2015/08/09/https.html</url></story><parent_chain><item><author>mrkurt</author><text>There are some really cool &amp;quot;tricks&amp;quot; for avoiding the round trip — round trips are why everyone should be using a global load balancer for SSL. Clients have to send 2 packets across the world and wait for a reply, which can add &amp;gt;100ms before any actual work happens.&lt;p&gt;http2 helps because you can multiplex a bunch of requests into a single connection, less waiting on new connections to be established.&lt;p&gt;TLS 1.2 with session resumption lets clients reuse existing sessions after the first connection.&lt;p&gt;TLS 1.3 has a 0rtt handshake, which is pretty baller. It&amp;#x27;s just not widely deployed.</text></item></parent_chain><comment><author>valarauca1</author><text>&lt;p&gt;&lt;pre&gt;&lt;code&gt;    TLS 1.3 has a 0rtt handshake, which is pretty baller.
    It&amp;#x27;s just not widely deployed. 
&lt;/code&gt;&lt;/pre&gt;
And it likely won&amp;#x27;t be. 0RTT Allows for replay attacks (I capture your packets, and replay them). Without a round trip this will always exist.&lt;p&gt;Also 0RTT is only for &lt;i&gt;&lt;/i&gt;re-connections&lt;i&gt;&lt;/i&gt; not initial connections.&lt;p&gt;The solution is only like 0RTT be executed once and only once, but this isn&amp;#x27;t part of TLSv1.3 and is waiting to _globally_ approved. Until then nobody smart will touch it.&lt;p&gt;---&lt;p&gt;0RTT is only supported by Cloud-Flare and Google. Cloud-Flare makes you track 0RTT yourself so a fair number of sites are insecure. Google does SSL tick synchronization across data centers because &lt;i&gt;&lt;/i&gt;their arrogant&lt;i&gt;&lt;/i&gt; and is extremely vulnerable to timing att-</text></comment>
<story><title>How HTTPS Handshake Happens</title><url>http://sudhakar.online/programming/2015/08/09/https.html</url></story><parent_chain><item><author>mrkurt</author><text>There are some really cool &amp;quot;tricks&amp;quot; for avoiding the round trip — round trips are why everyone should be using a global load balancer for SSL. Clients have to send 2 packets across the world and wait for a reply, which can add &amp;gt;100ms before any actual work happens.&lt;p&gt;http2 helps because you can multiplex a bunch of requests into a single connection, less waiting on new connections to be established.&lt;p&gt;TLS 1.2 with session resumption lets clients reuse existing sessions after the first connection.&lt;p&gt;TLS 1.3 has a 0rtt handshake, which is pretty baller. It&amp;#x27;s just not widely deployed.</text></item></parent_chain><comment><author>bogomipz</author><text>&amp;gt;&amp;quot;There are some really cool &amp;quot;tricks&amp;quot; for avoiding the round trip — round trips are why everyone should be using a global load balancer for SSL. Clients have to send 2 packets across the world and wait for a reply, which can add &amp;gt;100ms before any actual work happens.&amp;quot;&lt;p&gt;What is a &amp;quot;global load balancer&amp;quot;? A load balancer doesn&amp;#x27;t avoid any round trips. The &amp;quot;work&amp;quot; of TLS begins as soon as the client sends a ClientHello which is during the second round trip. On a new connection the total round trips is 4 if you include the GET request. It&amp;#x27;s 3 round trips if you only consider the TCP hand shake and the TLS handshake. This is true whether there is a load balancer or not.</text></comment>