与业界携手改进 CHIPS

了解 Chrome 团队在实现 CHIPS 时面临的两大挑战,以及社区反馈在改进提案设计的过程中发挥的关键作用。

Milica Mihajlija
Milica Mihajlija
Jeremy Ney
Jeremy Ney

具有独立分区状态的 Cookie (CHIPS) 是一项 Privacy Sandbox 技术,可让开发者选择将 Cookie 放入“分区”存储,并为每个顶级网站使用单独的 Cookie JAR。
CHIPS 的示例用例包括:跨网站子资源需要某些会话或持久状态的概念(这些概念的范围限定为用户在单个顶级网站上的活动),例如第三方聊天微件、地图嵌入、子资源 CDN 负载均衡、无头 CMS 提供商等。

我们开发 CHIPS 的目的是成为一项开放式 Web 标准。PrivacyCG 正在对此进行讨论,已经进行了 7 个月的源试用,在此期间,Chrome 团队收到了有用的反馈。在开发过程中,该团队与主要利益相关方通力合作,探讨相关反馈,从而更新了设计,以便更好地服务于网络生态系统。

我们来探索一下 Chrome 团队在实现 CHIPS 时面临的两大挑战,以及社区反馈在改进提案设计的过程中发挥的关键作用。

移除主机前缀且没有 Domain 要求

为了鼓励良好的安全做法,CHIPS 设计要求只能通过安全协议设置和发送 Cookie,并且必须使用 Secure 设置分区 Cookie。

除了这些要求,初始方案还禁止对分区 Cookie 使用 Domain 属性。在 Cookie 上省略 Domain 会导致无法在分区内的不同第三方子网域之间共享这些 Cookie。

在源试用期间,Chrome 团队从合作伙伴和其他利益相关方那里了解到,无网域要求会导致包含子网域的网站难以实现 CHIPS。例如,这会使 shop.example.compay.example.com 更难共享分区 Cookie JAR。在其他情况下,导致身份验证流程在嵌入式上下文中变得困难

显示 pay.example.com 和 shop.example.com 网站的示意图

Chrome 团队评估了这些反馈,认为移除无网域要求不会给隐私权带来挑战,但可以提高易用性。作为回应,CHIPS 产品团队在 GitHub 上发起了讨论,并邀请了更多关于移除此要求的反馈。多家正在测试 CHIPS 的公司就这项变更对其用例的重要性做出了回应并公开评论。

Chrome 将反馈提交给 W3C 的隐私社区小组 (Privacy Community Group),并演示了更新后的方案 - Firefox 和 Edge 批准了这项更改,Safari 则未提出任何疑虑。第二天,Chrome 团队更新了 Blink-Dev,并展示了在 CHIPS GitHub 代码库中移除此要求的计划。

CHIPS 团队最初提出这项要求是为了确保网站不会收到来自任何恶意或被入侵的子网域的跨网站 Cookie,并降低使用网域 Cookie 作为跨子网域泄露数据的渠道的可能性。

虽然这带来了额外的安全优势,但 Tableau 强调了 CHIPS 的采用面临挑战,因为当前的某些应用架构依赖于在子网域之间共享 Cookie。

在 Chrome 做出这一更改后,可视化分析平台背后的公司 Tableau 现已分享

移除命名变更后,相关要求与之前关于添加“SameSite=None”属性(因此数量更加“已知”)的更改保持一致。我们衷心感谢您提供反馈、了解影响并做出相应更改,以帮助简化过渡。 Lee Graber,Tableau 软件工程架构师

通过这一流程,CHIPS 简化了利益相关方的实施工作,同时保护了用户的隐私。

实现 CHIPS 的另一个挑战是静态 Cookie 限制。
为防止 Cookie 占用大量内存,最初的设计建议,每个分区的每个网站 Cookie 的数量限制为 10 个。

Akamai 收到了一些公开反馈,指出建议的分区 Cookie 限制可能不足以支持 CDN 等服务(例如提供顶级域名来托管其客户的内容)(例如 customer.cdn.xyz)。例如,customer1.cdn.xyz 和 customer2.cdn.xyz 均可提供第三方内容,也可各自设置多个自己的 Cookie。如果将多个此类客户网站嵌入另一个网站,则可能会达到每个分区 10 个 Cookie 的限制。

Chrome 团队在其他论坛、合作伙伴会议和 W3C 讨论中听到了类似的反馈,因此他们考虑了如何解决 Cookie 限制在这些用例中面临的挑战的最佳方式。

显示单个网域在客户端计算机上 SameSite=None Cookie 数量上限的图表
显示单个网域在客户端的计算机上 SameSite=None Cookie 数量上限的图片

在考虑如何采纳社区反馈后,Chrome 在 TPAC 2022 上提出了一个更新后的想法,建议 CHIPS 根据内存允许从静态 10 Cookie 限制变为 _动态 _10 KB 限制。分析结果表明,这项变更应该能够涵盖 99% 的网络用例,并将遵循 Chrome 试图实现的隐私权原则(限制跨网站分享太多与用户相关的信息),同时仍维持关键用途。

其他浏览器供应商做出了回应,表示他们同意更新后的解决方案,这对于确保 CHIPS 在 PrivacyCG 中维护跨浏览器支持非常重要。

因此,Chrome 采用了这项新限制,并将该解决方案整合到了 CHIPS 设计中。

与业界合作

在 CHIPS 的整个开发过程中,许多合作伙伴都向我们反馈了问题,他们之间的合作对于加强网络隐私保护至关重要。

Akamai 与 Google 等其他行业领导者建立了多个方面的合作关系。我们针对 CHIPS 计划提供的反馈可能看起来只是一个微小的细节,但此变更将非常有助于最大限度地减少对良好用例的负面影响,同时仍实现最终目标。我们各自的组织正努力按照自己的方式提高互联网的速度和安全性,而如果全体员工齐心协力,整个互联网将会变得更美好。 Martin Meyer,Akamai Technologies 高级架构师

CHIPS 表明,来自生态系统的反馈对于改进 Privacy Sandbox 中的技术至关重要。现在,Chrome 稳定版已推出多项变更,这些变化直接促成了 GitHub 中的开放网络对话、W3C 会议,以及与 Chrome 团队的持续互动。Chrome 团队非常期待收到针对各种提案的这些反馈,这对技术在网络上的开发和推广方式产生了巨大影响。