SSL和TLS-TLS 1.3
TLS 1.3(版本号3,4)变化很大,比如新的消息流和更强大的加密。
一个典型的SSL/TLS握手需要最少两个RTTs,如果要验证证书,需要更多次(下载和检查CRLs,或者调用OSCP)。2010年,Google介绍和发布了False Start技术,它的思想是客户端发送它的Finished消息之后,立刻开始发送应用数据(不等服务器发送Finished消息),这样节省了一个RTT。但是,该技术碰到了困难,没进入TLS标准。
开始设计TLS 1.3的时候,他们记得TLS False Start,想采用类似的技术减少握手需要的RTTs数。于是,设计了新的消息流。
TLS 1.3只要三次flights就可以建立一个TLS连接。跟TCP连接的建立类似,也需要交换三次消息。
如果和OCSP stapling相结合,可以很快地建立一个安全的连接。第一个flight,客户端发送ClientHello消息以后,立刻发送ClientKeyShare消息。ClientKeyShare消息(type 18)代替了ClientKeyExchange。TLS 1.3不再支持静态key交换,所以每个key交换必须是暂时的。ClientKeyShare消息包含一组参数,客户端支持的0个或者多个key交换方法。如果参数不被接受,或者服务器不支持,服务器就返回HelloRetryRequest消息,客户端就用另一个