研究发现: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开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据.不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的.客户端要发起请求,首先需要一个标识 ...
随机推荐
- netty使用MessageToByteEncoder 自定义协议(四)
开发应用程序与应用程序之间的通信,程序之前通信 需要定义协议,比如http协议. 首先我们定义一个协议类 package com.liqiang.SimpeEcode; import java.sql ...
- asp.net--webconfg指南
原文链接 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. ...
- CentOS6.3安装Mysql-5.5.29
转自:http://www.cnblogs.com/zhoulf/archive/2013/01/25/zhoulf.html 安装方式分为rpm和源码编译安装两种,本文是采用mysql源码编译方式, ...
- 时序图与状态图(Rose) - Windows XP经典软件系列
以CAN转UART(串口)为例. 功能简单介绍: 当主程序收到CAN口的数据后:依据按键的不同来选择是使用CAN口发送,还是使用UART口发送. 一.图片 时序图 watermark/2/text/a ...
- Jemeter第一个实例
http://www.jianshu.com/p/0e4daecc8122?from=timeline&isappinstalled=0 学习地址:http://leafwf.blog.51c ...
- luogu3953 逛公园
正解:SPFA+DP 将POJ3463中maxDist(Target)由minDist(Target)+1改为minDist(Target+K)即可.判断0环,需要对每个节点建立下标为maxDist- ...
- cdev_init和register_chrdev区别
--- 01:include/linux/fs.h static inline int register_chrdev(unsigned int major, const char *name, co ...
- hdoj--1281--棋盘游戏(最小点覆盖+枚举)
棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HttpServletRequest对象小结
当客户端通过HTTP协议访问服务器时,请求所有信息都封装在HttpServletRequest对象中,可通过它获取到请求的所有信息,其常用方法如下: getRequestURL方法返回客户端发出请求时 ...
- Orcal的JDBC数据连接方式
package cn.com.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepar ...