SSL session resumption的原理是在服务端缓存所有的session,客户端之后在每次和服务端握手时通过Session ID完成session resumption。这种机制对服务端有如下挑战:
1.
如果是在本机缓存session,必须保证同一个客户端的请求要落到同一台服务器,这无疑给前端负载均衡策略增大了压力。
2.
如果是为一个集群单独一个shared的session cache,同样也增加了请求的处理环节,并增加了系统的成本(都是money啊)。
之所以如此纠结是因为SSL觉得session信息必须放在服务端缓存,而SSL的替代者TLS则提供了新的选择,服务端无状态的session resumption机制。简单的说,就是服务端不再缓存session的状态信息,而是将其加密并分发和转存到客户端,缓存在客户端的session状态信息叫ticket(船票,你懂得)。客户端每次请求时同时发送ticket到服务端,服务端将其解密并reuse之前的session 状态信息。废话不想多说,看下面两张图。
图1 TLS full handshake
图2 TLS session resumption without server
state
分享到:
相关推荐
TLS 1.2是目前广泛使用的标准,因为它提供了更好的安全性和性能,相较于早期的TLS 1.0和1.1版本,可以有效防止多种已知的安全漏洞。 在Windows服务器上启用TLS 1.2涉及以下步骤: 1. **检查当前TLS版本**:打开...
在分析“服务端长连接与客户端短连接引起Nginx产生大量‘TIME_WAIT’状态的线程”的问题之前,我们先来了解一下几个关键知识点:Nginx连接处理方式、长连接与短连接、TIME_WAIT状态以及TLS session重用(resumption...
php面试题 php面试题之SSL-TLS协议运行机制的概述
9. **错误处理与调试**: Mbedtls 提供了丰富的错误处理机制和调试选项,帮助开发者识别和解决问题。 10. **移植性**: Mbedtls 设计成高度可移植,可以在各种操作系统和硬件平台上运行,包括嵌入式系统。 压缩包中...
TLS通过两个证书来实现服务端的身份验证及加密密钥的安全生成,这两个证书分别是CA(证书颁发机构)证书和TLS证书。 CA证书是浏览器或操作系统自带的,用于验证服务端的TLS证书签名是否可信,它包含了一个CA机构的...
【如何让Nginx快速支持TLS1.3协议详解】 Nginx 是一款广泛应用的高性能Web服务器和反向代理服务器,其对TLS(Transport Layer Security)协议的支持是保证网络安全的重要一环。TLS 1.3是最新且最安全的TLS协议版本...
Mbed TLS,原名mbedtls,是ARM公司开发的一个开源且高度可移植的加密库,主要为嵌入式系统提供安全套接层(SSL)和传输层安全(TLS)协议的支持。这个库的设计目的是小巧、高效,使得它非常适合在资源有限的设备上...
5. **启用TLS 1.1和1.2**:在`TLS 1.1\Client`和`TLS 1.2\Client`下,创建 DWORD 值 `DisabledByDefault`,设置其值为0(无加密)。同样,在`TLS 1.1\Server`和`TLS 1.2\Server`下也创建同样的DWORD值,设置其值为0...
1. **服务端指纹识别**: JARM可以帮助识别同一组服务器是否共享相同的TLS配置,这对于检测潜在的安全漏洞或统一管理非常有价值。 2. **公司归属判断**: 通过对比不同服务器的JARM指纹,可以推测服务器可能属于哪个...
10. **状态维护**:服务端需要记录和管理每个连接的状态,例如是否正在传输数据,以及客户端的上下文信息。 在提供的压缩包文件"server"中,可能包含VB源代码文件,展示了如何将上述概念应用于实际的P2P服务端开发...
2. 安全机制:SSL 和 TLS 都使用加密技术来保护数据,但 TLSよりも安全。TLS 使用更强的加密算法和更好的密钥交换机制。 3. 认证机制:SSL 和 TLS 都支持服务器认证,但 TLS 也支持客户认证。TLS 的认证机制更加...
10. **性能优化**:在保证安全性的前提下,如何通过优化配置提高SSL/TLS连接的性能,例如使用session resumption和OCSP stapling等技术。 综上所述,这个"tls.pdf"文档很可能会深入探讨这些话题,对于理解SSL和TLS...
其中,Wireshark解密TLS报文是一个非常重要的功能,能够帮助网络管理员和开发者们更好地了解和分析TLS协议的工作机制。 在Wireshark中,解密TLS报文需要配置Chrome浏览器的TLS握手日志环境变量,然后使用Wireshark...
标题中的“XP支持TLS1.1和TLS1.2.rar”指的是Windows XP操作系统的一个更新,目的是使其能够支持传输层安全(TLS)协议的1.1和1.2版本。TLS是一种网络安全协议,用于在互联网上提供加密通信和身份验证,确保数据在...
本文将深入探讨如何在Android客户端和PC服务端之间实现基于TLS1.2的双向认证。TLS(Transport Layer Security)是一种网络安全协议,用于确保网络通信的安全性,防止中间人攻击和其他形式的数据篡改。 首先,我们要...
服务端需要维护一个会话管理机制,确保正确地将消息路由到正确的客户端。 学习这个服务端模块,你需要掌握以下几个关键点: 1. **TCP连接**:理解TCP的三次握手和四次挥手过程,了解如何在服务端创建监听套接字并...
- 日志记录有助于调试和监控系统的运行状态,如使用Logcat工具进行Android客户端的日志记录,服务端则可能使用如Log4j或ELK Stack(Elasticsearch、Logstash、Kibana)。 6. **性能优化**: - 使用缓存策略减少...
单向认证和双向认证是TLS中两种不同的身份验证机制。 **描述解析:** 描述中提到的几个关键点: 1. **TLS单向认证**:在单向认证中,服务器向客户端证明自己的身份,而客户端无需向服务器证实。这通常通过服务器...
mbedTLS(前身 PolarSSL)是一个由 ARM 公司开源和维护的 SSL/TLS 算法库。其使用 C 编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品...
3. **持久连接(Persistent Sessions)**:MQTT支持持久连接,即使客户端断开连接,服务端也能记住其订阅状态,当客户端重新连接时,能继续接收到未读的消息。 4. **主题(Topics)**:主题是消息的路由标识,类似于...