研究发现:TLS1.3中的 TLS 对话恢复机制可以追踪用户
由于隐私浏览器技术的日渐成熟,网站越来越无法通过 Cookie 和网页浏览器特征来追踪用户,但道高一尺魔高一丈,现在这些网站会用 TLS 1.3 中的 TLS 对话恢复机制追踪用户。
你以为禁用浏览器 Cookie 就能避免被网站追踪吗?倡导将 Cookie 追踪选择权还给用户的说法,可能只是烟雾弹,实际上仍能使用最新 TLS 1.3 传输层安全协议追踪用户。
目前网站追踪用户的手段,比较流行的仍然是 Cookie 或通过网页浏览器特征进行辨识,而较少受到关注的技术是基于传输层安全协议(Transport Layer Security,TLS)的用户跟踪,特别是使用 TLS 对话恢复(TLS Session Resumption)机制,而汉堡大学研究员率先对 TLS 对话恢复机制的适用性进行了研究。
研究发现:不靠 cookie,网站也能通过 TLS 协议追踪你
包括 Facebook 以及 Google 在内的等公司,过去都会使用 HTTP Cookie 以及网页浏览器特征追踪用户,但随着用户越来越注意保护自己的隐私,更多的人开始使用强化隐私的浏览器,以隐私模式或是扩展来限制网页追踪,这使得上述两项技术几乎失灵。另外,通过 IP 位置追踪用户也受到限制,因为用户有可能以 NAT 共享公共 IP 地址,而且网站也无法跨过不同的网络追踪装置。
网站于是开始把目光瞄向了最新的 TLS 1.3 协议上,它们的追踪技术开始转向使用 TLS 对话恢复机制。TLS 对话恢复机制允许网站利用早前的 TLS 对话中交换的密钥,来缩减 TLS 握手程序,而这也开启了让网站可以链接两个对话的可能性。由于重启浏览器会顺便清空缓存,所以这个方法仅在浏览器未重启的情况下,网站才能通过 TLS 对话恢复进行连续的用户追踪。但是这个使用习惯在移动设备上完全不同,移动设备用户很少重启浏览器。
汉堡大学研究员系统性地研究了 48 种热门浏览器以及 Alexa 前百万热门网站的配置,以评估这些追踪机制的实际配置以及用户追踪可持续时间。研究人员使用了延长攻击(Prolongation Attack),延长追踪周期至超过 TLS 对话恢复的生命周期,接着根据额外的 DNS 数据,分析延长攻击对于追踪时间的影响,以及可永久追踪的用户比例,最终导出用户的浏览行为。
研究显示,即便标准浏览器将 TLS 对话恢复生命周期设置为仅维持一天,用户仍可以被追踪长达8天之久,TLS 1.3 草稿版本建议 TLS 对话恢复生命周期为7天上限,研究人员通过 Alexa 资料集中的至少一个网站,便可永久追踪实验中的 65% 用户。
研究人员也观察到,Alexa 前百万热门网站中,有超过 80% 的 TLS 对话恢复生命周期都在 10 分钟以下,但是大约 10% 的网站使用大于24小时的周期设定,特别是广告商 —— Google 的 TLS 对话生命周期达28小时,而 Facebook 对话恢复生命周期的设定更是高达48小时,在 Alexa 前百万热门网站中位于 99.99 百分位数之上。
汉堡大学研究员指出,要防止网站通过 TLS 对话恢复追踪用户,需要修改 TLS 标准和常见浏览器的配置,而目前最有效的方式就是完全禁用 TLS 对话恢复功能。
研究发现:TLS1.3中的 TLS 对话恢复机制可以追踪用户的更多相关文章
- NGUI研究之在Unity中使用贝塞尔曲线
鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...
- 怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?
怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pi ...
- C++研究之在开发中你可能没有考虑到的两个性能优化
1:多余的存储引用导致性能减少. 2:利用局部性提高程序性能: 先来说说引用是怎么减少程序性能.个人觉得减少程序性能主要有两个原因,一是数据结构选择不合理,二是多层嵌套循环导致部分代码被多余反复 ...
- TLS使用指南(一):如何在Rancher 2.x中进行TLS termination?
引 言 这是一个系列文章,我们将在本系列中探索Rancher使用TLS证书的不同方式.TLS,安全传输层协议,是用于保护网络通信的加密协议.它是目前已经弃用的安全套接层(SSL)的继任者. 你可以从本 ...
- SSL/TLS 协议运行机制概述(一)
SSL/TLS 协议运行机制概述(一) SSL/TLS 发展史 1994年,NetScape 设计了SSL协议(Secure Sockets Layer) 1.0,未正式发布 1995年,NetSca ...
- SSL/TLS协议运行机制的概述_转
转自:SSL/TLS协议运行机制的概述 作者: 阮一峰 日期: 2014年2月 5日 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和 ...
- ETL中的数据增量抽取机制
ETL中的数据增量抽取机制 ( 增量抽取是数据仓库ETL(extraction,transformation,loading,数据的抽取.转换和装载)实施过程中需要重点考虑的问 题.在ETL过 ...
- [翻译] Python 3.5中async/await的工作机制
Python 3.5中async/await的工作机制 多处翻译出于自己理解,如有疑惑请参考原文 原文链接 身为Python核心开发组的成员,我对于这门语言的各种细节充满好奇.尽管我很清楚自己不可能对 ...
- 从express源码中探析其路由机制
引言 在web开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据.不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的.客户端要发起请求,首先需要一个标识 ...
随机推荐
- 念念不忘SERVLET
这个弄弄也有意思,以前无法入门,没有系统性概念,现在慢慢开始懂了.. 这个SERVLET/JSP学习笔记也易懂.. 那个JAVA7程序设计也可以慢慢看来,, 再加上SPRING,我黑心了??:) pa ...
- ruby for in 循环中改变i的值无效
ruby for in 循环中改变i的值无效 for j in 1..5 puts "#{j}hehe" j = j + 2 #break end 在循环中,使用j = j + 2 ...
- CSS3 timing-function: steps()介绍
在应用 CSS3 渐变/动画时.有个控制时间的属性 <timing-function>.它的取值中除了经常使用到的三次贝塞尔曲线以外,还有个steps() 函数. steps 函数指定了一 ...
- 很实用的50个CSS代码片段
原文:50 Useful CSS Snippets Every Designer Should Have 面对每年如此多的 新趋势 ,保持行业的率先是个非常困难问题. 站点设计者和前 ...
- PyCharm 运行工程
- 关于ShapeDrawable应用的一些介绍(上)
在Android中, 很多时候系统原生的控件的格式并不能满足我们的需求,我们想要更加好看点的样式,像什么圆角矩形啊,颜色渐变啊,阴影效果啊等等的,这个时候就是我们的 ShapeDrawable发挥效果 ...
- [POI 2007] 堆积木
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1109 [算法] DP [代码] #include<bits/stdc++.h& ...
- Sublime Text 2 界面主题 推荐 Flatland
先搜索下THEME-FLATLAND 安装完后在preferences中选择settings-usr { "color_scheme": "Packages/Theme ...
- Koa 中实现 chunked 数据传输
有关于 Transfer-Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输.这里看 Koa 中如何实现. Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接 ...
- HUdson2092整数解
2019-05-17 16:04:37 加油,坚持就是胜利,fightting m / i的情况,i可能等于0 #include <bits/stdc++.h> using namespa ...