Session ticket关联TLS流方法分析
来源:互联网 发布:网络分销管理软件 编辑:程序博客网 时间:2024/06/05 18:50
HTTPS的过程是在TCP三次握手之后会进行SSL的四次握手,如果一个业务请求包含多条的加密流,反复的握手请求势必会导致较高的延迟。SSL的设计者们在尽量减少握手次数方面也是做了一定的考虑的。具体就是Session ID和Session ticket的应用。本文主要就Session ticket方法结合具体应用做一次简单的分析。
流关联的一种形式是Session ID,可以去了解一下原理。而本文所述的Sessionticket,是流关联的另外一种应用场景。
无论是Session ID还是Session ticket都是为了复用已有的加密参数,诸如秘钥以及加密算法等,进而减少SSL的握手次数,目的是提高有效数据的响应效率。
Session ID的思想就是服务器端为每一次的会话生成并记录一个ID号并发送给客户端,在重新连接的时候(多次短连接场景),客户端向服务器发送该ID号,服务器查找自己的会话记录,匹配之后,重用之前的加密参数信息。
而Sessionticket的思想类似于cookie,是由服务器将ticket数据结构发由客户端管理,ticket中是包含了加密参数等连接信息。当需要重连的时候,客户端将ticket发送给服务器。这样双方就得到了重用的加密参数。
Session ticket较之Session ID优势在于服务器使用了负载均衡等技术的时候。Session ID往往是存储在一台服务器上,当我向不同的服务器请求的时候,就无法复用之前的加密参数信息,而Session ticket可以较好的解决此类问题,因为相关的加密参数信息交由客户端管理,服务器只要确认即可。
下图是 Session ticket的一个报文。
可以看到,这里面应用了Sessionticket,其原因就是我们刚才提到的。
需要注意的是sessionID支持比较广泛,而Sessionticket支持相对少一些;对于服务器端,这两种中技术都是支持的,但是浏览器端来说Session ticket只有chrome和firefox支持,对于支持Session ticket的软件,都会有相应的处理机制。不仅如此,我看了一下,曾经分析过的Spotify,美拍等应用均是采用Session ticket,可见其应用广泛。这里面并没有抓到client hello发送的Session ticket,后续抓到之后再补上。
更多内容请参见:sessionID RFC 5246;sessionticket RFC 5077
- Session ticket关联TLS流方法分析
- 代码干货 | nginx中session ticket重用Session提高https性能分析
- TLS/SSL 实例分析
- TLS 报文分析记录
- TLS协议分析
- TLS协议分析
- TLS协议分析------
- SSL/TLS 协议分析
- 传智播客hibernate学习,Session的方法和关联映射
- Hibernate_集合映射、关联关系、Session方法总结
- 数据挖掘中的关联分析方法
- Hibernate Session各种状态转换方法分析。
- Hibernate Session各种状态转换方法分析
- Hibernate Session各种状态转换方法分析
- Hibernate Session各种状态转换方法分析
- windows wifi tls认证分析
- 关联函数处理session
- 关联分析
- 使用<pre></pre> 保留制表符\t 换行符\t\r 格式显示,并强制换行
- 经典算法——合并两个有序链表
- 《电路基础》叠加定理
- Netty系列之Netty高性能之道
- SASS
- Session ticket关联TLS流方法分析
- Codeforces Round #350 (Div. 2) C Cinema
- 贝叶斯推断及其互联网应用(一):定理简介
- Android NDK之JNI陷阱
- Hive四种数据导入方式介绍
- PHP 中的设计模式详解
- 网络请求 多次请求
- 只为菜鸟 cocos2dx-lua 实现Scrollview (vs2013)
- Android 自定义控件WheelView