服务端无状态的TLS seession resumption机制

阅读更多

SSL session resumption的原理是在服务端缓存所有的session,客户端之后在每次和服务端握手时通过Session ID完成session resumption。这种机制对服务端有如下挑战:

1.      如果是在本机缓存session,必须保证同一个客户端的请求要落到同一台服务器,这无疑给前端负载均衡策略增大了压力。

2.      如果是为一个集群单独一个sharedsession cache,同样也增加了请求的处理环节,并增加了系统的成本(都是money啊)。

之所以如此纠结是因为SSL觉得session信息必须放在服务端缓存,而SSL的替代者TLS则提供了新的选择,服务端无状态的session resumption机制。简单的说,就是服务端不再缓存session的状态信息,而是将其加密并分发和转存到客户端,缓存在客户端的session状态信息叫ticket(船票,你懂得)。客户端每次请求时同时发送ticket到服务端,服务端将其解密并reuse之前的session 状态信息。废话不想多说,看下面两张图。

服务端无状态的TLS seession resumption机制_第1张图片

1 TLS full handshake

服务端无状态的TLS seession resumption机制_第2张图片

2 TLS session resumption without server state

 

 

你可能感兴趣的:(tls,session,重用,resumption)