最新版本的 Apple 浏览器 Safari 12 将提供“智能跟踪预防”(Intelligent Tracking Prevention,ITP)2.0,旨在降低第三方通过 Cookie 和其他方法跟踪网络用户的能力。
Safari 和 MacOS、iOS 和 Linux 上的很多应用程序都使用开源的 Web 浏览器引擎 WebKit 。WebKit 中的 ITP 功能会收集有关网页资源加载以及用户交互(如“轻触、单击和文本输入”)的统计信息。统计信息会存储在每个顶级私有控制域或 eTLD+1 中,eTLD+1 是由典型的网站 URL 基地址组成的“有效顶级域名(Top Level Domain)”的简写。一个 eTLD+1 的例子是 social.co.uk,但 sub.social.co.uk 不是(eTLD+2),co.uk 也不是(eTLD)。根据 WebKit 博客所述,他们使用了一个机器学习模型,基于所收集的统计数据来分类哪些顶级私人控制域有跟踪用户跨站点的能力。所有数据收集和分类均在设备上进行。
因为 eTLD 被分类为可跟踪用户跨站点,所以在 ITP 版本 1.0 和 1.1 中实现了几项预防措施。如果用户在过去 30 天内未与某个网站互动,比如“example.com”,那么 example.com 网站数据和 Cookie 将立即被清除,新添加的数据也会继续被清除。但是,如果用户将 example.com 作为顶级域名(通常称为第一方域名),则 ITP 会认为用户对该网站感兴趣,并暂时调整其行为,如以下时间线所示:
在使用ITP 1.0 和1.1 时,如果用户在过去24 小时内访问了example.com,则在请求example.com 资源或将其作为第三方嵌入资源时,其cookie 也可用。根据WebKit 博客,这样可以允许“使用X 帐号登录Y 网站”。这意味着用户只能从实际访问的网站获得持久性Cookie 和网站数据,并且在浏览网页时会主动删除跟踪数据。
如果用户在过去30 天但不是最近24 小时访问example.com,example.com 会保留其cookie,但它们将被“分区”。分区意味着第三方将根据每个顶级私人控制域或TLD+1 获得唯一的独立存储。例如,account.example.com 和 www.example.com 共享分区 example.com。这样,即使用户偶尔访问某个网站,也可以保持登录状态,同时限制使用 Cookie 进行跨网站跟踪。
ITP 2.0 已经删除了 24 小时的 Cookie 访问窗口。通过身份验证的嵌入只能通过 Storage Access API 访问第一方 Cookie。ITP 2.0 还限制了第三方内容,以便只有在用户实际使用内容时才能识别用户,比如撰写评论或播放视频。这也是 Safari 会向用户询问许可的地方(比如 widget 要求许可查看其 Cookie)。
ITP 2.0 还具有检测一个域名被用作“第一方跳转跟踪器”的能力,这意味着它不会被用作第三方内容提供者,而是纯粹通过导航重定向来跟踪用户。这种模式经常出现在社交媒体网站提供的短链接中。其他对策还包括防止追踪者串通(多个站点试图串通来识别用户),以及对于非用户交互的域名使用 origin-only referrer(例如,“ https://store.example/baby/strollers/deluxe-stroller-navy-blue.html ”变成简单的“ https://store.example/ ”)。
Safari 技术预览版58 现已提供下载,可在macOS High Sierra 和macOS Mojave 的beta 版上安装。
查看英文原文: How Apple’s Intelligent Tracking Prevention in Safari Works
评论