由于隐私浏览器技术的日渐成熟,网站越来越无法通过 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 对话恢复机制可以追踪用户的更多相关文章

  1. NGUI研究之在Unity中使用贝塞尔曲线

    鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...

  2. 怎么发现RAC环境中'library cache pin'等待事件的堵塞者(Blocker)?

    怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pi ...

  3. C++研究之在开发中你可能没有考虑到的两个性能优化

     1:多余的存储引用导致性能减少. 2:利用局部性提高程序性能: 先来说说引用是怎么减少程序性能.个人觉得减少程序性能主要有两个原因,一是数据结构选择不合理,二是多层嵌套循环导致部分代码被多余反复 ...

  4. TLS使用指南(一):如何在Rancher 2.x中进行TLS termination?

    引 言 这是一个系列文章,我们将在本系列中探索Rancher使用TLS证书的不同方式.TLS,安全传输层协议,是用于保护网络通信的加密协议.它是目前已经弃用的安全套接层(SSL)的继任者. 你可以从本 ...

  5. SSL/TLS 协议运行机制概述(一)

    SSL/TLS 协议运行机制概述(一) SSL/TLS 发展史 1994年,NetScape 设计了SSL协议(Secure Sockets Layer) 1.0,未正式发布 1995年,NetSca ...

  6. SSL/TLS协议运行机制的概述_转

    转自:SSL/TLS协议运行机制的概述 作者: 阮一峰 日期: 2014年2月 5日 互联网的通信安全,建立在SSL/TLS协议之上. 本文简要介绍SSL/TLS协议的运行机制.文章的重点是设计思想和 ...

  7. ETL中的数据增量抽取机制

    ETL中的数据增量抽取机制 (     增量抽取是数据仓库ETL(extraction,transformation,loading,数据的抽取.转换和装载)实施过程中需要重点考虑的问 题.在ETL过 ...

  8. [翻译] Python 3.5中async/await的工作机制

    Python 3.5中async/await的工作机制 多处翻译出于自己理解,如有疑惑请参考原文 原文链接 身为Python核心开发组的成员,我对于这门语言的各种细节充满好奇.尽管我很清楚自己不可能对 ...

  9. 从express源码中探析其路由机制

    引言 在web开发中,一个简化的处理流程就是:客户端发起请求,然后服务端进行处理,最后返回相关数据.不管对于哪种语言哪种框架,除去细节的处理,简化后的模型都是一样的.客户端要发起请求,首先需要一个标识 ...

随机推荐

  1. 【Codeforces Round #519 by Botan Investments E】Train Hard, Win Easy

    [链接] 我是链接,点我呀:) [题意] [题解] 设每个人做第一题.第二题的分数分别为x,y 我们先假设没有仇视关系. 即每两个人都能进行一次训练. 那么 对于第i个人. 考虑第j个人对它的贡献 如 ...

  2. QT创建快捷方式

    1.当我第一次安装完QT后发现它并没有在桌面上给我创建快捷方式,使用起来很难受啊,于是寻找办法,终于找到一个懒办法: 首先进入到上图的BIN目录下找到qtcreator文件,双击运行,然后系统就会在左 ...

  3. BZOJ 2150 cogs 1861 [国家集训队2011]部落战争

    题目描述 lanzerb的部落在A国的上部,他们不满天寒地冻的环境,于是准备向A国的下部征战来获得更大的领土. A国是一个M*N的矩阵,其中某些地方是城镇,某些地方是高山深涧无人居住.lanzerb把 ...

  4. Codeforces 525E Anya and Cubes 中途相遇法

    题目链接:点击打开链接 题意: 给定n个数.k个感叹号,常数S 以下给出这n个数. 目标: 随意给当中一些数变成阶乘.至多变k个. 再随意取一些数,使得这些数和恰好为S 问有多少方法. 思路: 三进制 ...

  5. POJ 3608

    1.计算P上y坐标值最小的顶点(称为 yminP )和Q上y坐标值最大的顶点(称为 ymaxQ). 2.为多边形在 yminP 和 ymaxQ 处构造两条切线 LP 和 LQ 使得他们对应的多边形位于 ...

  6. 为什么用clojure作为storm 的主要开发语言

    Why you choose Clojure as the development language of Storm? Could you talk about your long practica ...

  7. 怎样 获取 ios的系统版本

    获得Ios系统版本的函数,比方 函数定义: [cpp] view plaincopy + (float)getIOSVersion; 函数实现: [cpp] view plaincopy + (flo ...

  8. 为大家推荐一本书《jQuery Mobile 即学即用》

    这是人民邮电出版社出版的一本面向前端开发者的书. 非常喜欢书名"即学即用"这是每一个程序开发者的理想模式. 不同国家的人有不同的思维方式.这本书的作者是 [阿根廷] Maximil ...

  9. Selenium webdriver-UI Element定位

    转:http://blog.csdn.net/jillliang/article/details/8206402 1.创建Fixfox web driver实例 WebDriver driver =  ...

  10. C++关键知识

    <精通MFC>第一章节整理复习 //c++编程技术要点 /* //1.虚函数及多态的实现 //演示多态技术 #include <iostream> using namespac ...