了解 Chrome 团队在实现 CHIPS 的过程中面临的两大挑战,以及社区反馈在改进提案设计的过程中发挥的关键作用。
Cookies Having Independent Partitioned State (CHIPS) 是一项 Privacy Sandbox 技术,可让开发者选择将 Cookie 存储在“分区”存储空间中,每个顶级网站都有单独的 Cookie Jar。
CHIPS 的示例用例包括任何场景,例如跨网站子资源需要某种会话或持久性状态的概念,该概念的范围仅限于用户在单个顶级网站上的活动,例如第三方聊天 widget、地图嵌入、子资源 CDN 负载均衡、无头 CMS 提供程序等。
CHIPS 的开发目标是成为开放 Web 标准。该功能目前正在 PrivacyCG 中讨论,并且已经进行了 7 个月的源代码测试,在此期间,Chrome 团队收到了有用的反馈。在开发过程中,该团队与关键利益相关方合作,探索这些反馈,最终设计出更适合 Web 生态系统的更新版。
我们来了解一下 Chrome 团队在实现 CHIPS 的过程中面临的两大挑战,以及社区反馈在改进提案设计的过程中发挥的关键作用。
移除了主机前缀,无需 Domain
为了鼓励采用良好的安全做法,CHIPS 设计要求仅通过安全协议设置和发送 Cookie,并且必须使用 Secure
设置分区 Cookie。
除了这些要求之外,初始提案还禁止在分区 Cookie 中使用 Domain
属性。忽略 Cookie 中的 Domain
会导致无法在分区内的不同第三方子网域之间共享 Cookie。
在源试用期间,Chrome 团队听取了合作伙伴和其他利益相关方的意见,发现无网域要求会导致包含子网域的网站难以实现 CHIPS。例如,这会使 shop.example.com
和 pay.example.com
更难共享分区 Cookie Jar。在其他情况下,它会导致嵌入式环境中的身份验证流程变得复杂。
Chrome 团队评估了这些反馈,得出结论:移除无网域要求不会造成隐私问题,反而会提高易用性。为此,CHIPS 产品团队在 GitHub 上发起了讨论,邀请大家就移除此要求提供更多反馈。几家正在测试 CHIPS 的公司回复了我们,并公开发表了对此变更对其用例的重要性的看法。
Chrome 将反馈带到了 W3C 的隐私保护社区组,并提出了更新后的提案。Firefox 和 Edge 批准了更改,Safari 没有提出任何疑虑。第二天,Chrome 团队更新了 Blink-Dev,并在 CHIPS GitHub 代码库中提出了移除该要求的计划。
CHIPS 团队最初提出此要求是为了确保网站不会收到来自任何恶意或已被入侵的子网域的跨网站 Cookie,并降低使用网域 Cookie 作为渠道在子网域之间泄露数据的可能性。
虽然这带来了额外的安全优势,但 Tableau 强调,这会给采用 CHIPS 带来挑战,因为目前的一些应用架构依赖于在子网域之间共享 Cookie。
Chrome 做出此项更改后,Tableau(现在由 Salesforce 拥有的视觉分析平台背后的公司)分享了以下信息:
移除命名变更后,该要求与之前添加 `SameSite=None` 属性的变更更加一致,因此更为“人所熟知”。感谢 Google 听取反馈、考虑相关影响,并做出更改,以帮助您更轻松地完成过渡。 Lee Graber,Tableau 软件工程架构师
通过此流程,利益相关方可以更轻松地实现 CHIPS,同时保护用户隐私。
从静态 Cookie 限制改为动态 Cookie 限制
实现 CHIPS 的另一个挑战是静态 Cookie 限制。
为防止 Cookie 占用大量内存,初始设计提出了以下数字限制:每个网站每个分区 10 个 Cookie。
Akamai 分享了公开反馈,认为针对分屏 Cookie 提出的限制可能不适用于提供顶级域名来托管客户内容的服务(例如 customer.cdn.xyz)。例如,customer1.cdn.xyz 和 customer2.cdn.xyz 都可以传送第三方内容,并且它们各自都可以设置多个自己的 Cookie。如果其他网站上嵌入了多个这样的客户网站,则可能会达到每个分区 10 个 Cookie 的限制。
Chrome 团队在其他论坛、合作伙伴会议和 W3C 讨论中也听到了类似的反馈,因此他们考虑了解决这些用例中出现的 Cookie 限制问题的最佳方式。

在考虑如何采纳社区反馈后,Chrome 在 2022 年 TPAC 大会上提出了更新后的想法,建议将 CHIPS 从 10 个静态 Cookie 限制改为基于内存的 10 KB _动态_限制。分析结果表明,这项变更应该涵盖 99% 的网络用例,并会遵循 Chrome 力求实现的隐私保护原则(限制跨网站分享过多用户信息),同时仍能保留关键用例。
其他浏览器供应商也发表了意见,表示他们同意更新后的解决方案,这对于确保 CHIPS 在 PrivacyCG 中保持跨浏览器支持至关重要。
因此,Chrome 采用了新限制,并将该解决方案纳入了 CHIPS 设计中。
与业界合作
在 CHIPS 开发过程中,我们听取了许多合作伙伴的意见,我们深知,在努力改善网络隐私保护方面,携手合作至关重要。
Akamai 与 Google 等其他行业领导者在多个方面建立了合作关系。我们在 CHIPS 计划案例中提供的反馈可能看起来只是一个小细节,但这项更改将有助于确保对良好用例的负面影响降到最低,同时仍能实现最终目标。我们各自的组织都在以自己的方式努力让互联网变得更快、更安全,而我们携手合作,整个互联网会变得更加美好。 Akamai Technologies 高级架构师 Martin Meyer
CHIPS 表明,生态系统中的反馈对于改进 Privacy Sandbox 中的技术至关重要。GitHub 上的公开 Web 对话、W3C 会议以及与 Chrome 团队的持续互动,直接促成了现在在 Chrome 稳定版中推出的变更。Chrome 团队非常期待听取您对各种提案的反馈,这对 Web 上技术的开发和发布方式有很大影响。