與業界攜手發展具有獨立分區狀態的 Cookie (CHIPS)

瞭解 Chrome 團隊在導入 CHIPS 時面臨的兩大挑戰,以及社群意見回饋如何在改善提案設計時扮演關鍵角色。

Milica Mihajlija
Milica Mihajlija
Jeremy Ney
Jeremy Ney

具有獨立分區狀態 (CHIPS) 的 Cookie 是一項 Privacy Sandbox 技術,可讓開發人員將 Cookie 加入「分區」儲存空間,在每個頂層網站使用獨立的 Cookie jar 檔案。
CHIPS 的應用實例包括:任何跨網站子資源需要工作階段或持續狀態概念,且範圍限定在單一頂層網站中的使用者活動,像是第三方即時通訊小工具、地圖嵌入、子資源 CDN 負載平衡、無頭 CMS 供應商等。

CHIPS 的開發,目標是成為開放網路標準的世界。PrivacyCG 仍在進行討論,並已試用 7 個月,Chrome 團隊也收到實用的意見回饋。在開發期間,團隊與重要利害關係人合作探索意見回饋,進而做出更妥善的更新設計,為網路生態系統提供更優質的服務。

一起來看看 Chrome 團隊在導入 CHIPS 時面臨的兩大挑戰,以及社群意見回饋如何在改善提案設計時扮演關鍵角色。

移除主機前置字元,沒有 Domain 要求

為提供良好的安全性做法,CHIPS 的設計規定 Cookie 只能透過安全通訊協定設定及傳送,且分區 Cookie 必須透過 Secure 設定。

為配合這些規定,初始提案不允許在分區 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 的隱私權社群團體,並展示更新的提案:Firefox 和 Edge 核准了這項變更,Safari 並未提出任何疑慮。Chrome 團隊隔天已更新 Blink-Dev 並提出移除 CHIPS GitHub 存放區的要求。

CHIPS 團隊最初提出這項規定,可確保網站不會接收任何惡意或遭入侵的子網域的跨網站 Cookie,並降低使用網域 Cookie 做為管道,避免跨子網域外洩資料的風險。

雖然這種做法能提供額外的安全性優勢,但 Tableau 強調,採用 CHIPS 卻面臨挑戰,因為部分目前的應用程式架構仰賴在子網域之間共用 Cookie。

在 Chrome 實施這項異動後,Tableau 是視覺分析平台的幕後公司,現已由 Salesforce 所擁有共用

這項命名機制移除後,規定就會與先前的異動更加一致,這樣新增「SameSite=None」屬性,才能產生「已知」屬性。感謝 Google 聽取意見回饋,瞭解相關影響,並且做出變更,確保使用者能更輕鬆地改用新服務。 Tableau 軟體工程架構師 Lee Graber

透過這個程序,CHIPS 更容易為相關人員導入,同時維護使用者的隱私權。

導入 CHIPS 時,另一個挑戰是靜態的 Cookie 上限。
為避免 Cookie 的記憶體用量大幅增加,最初的設計提議將每個網站各分區 10 個 Cookie 的數值限制。

Akamai 分享的公開意見指出,對於提供頂層網域來代管客戶內容的 CDN 服務 (例如 CDN) 等服務,提議的分區 Cookie 數量上限可能不足。舉例來說,customer1.cdn.xyz 和 customer2.cdn.xyz 都能夠傳送第三方內容,而且他們還可分別設定幾組 Cookie。如果將多個這類客戶網站嵌入另一個網站,這些客戶可能會達到每個分區 10 個 Cookie 的上限。

Chrome 團隊在其他論壇中聽到類似的意見回饋,包括合作夥伴會議和 W3C 討論,因此他們思考如何解決這些使用案例所提出的 Cookie 限制問題。

這張圖表顯示單一網域在客戶電腦上擁有的 SameSite=None Cookie 數量上限
這張圖表顯示單一網域在用戶端機器上的 Cookie 數量上限

Chrome 考慮如何納入社群意見回饋後,在 TPAC 2022 發表了新的構想,建議 CHIPS 將靜態 10 Cookie 上限 (依記憶體計算) 從 10 個 Cookie 限制變更為 _dynamic _10 kb 限制。分析結果顯示,這項變更應涵蓋 99% 的網路用途,並堅持 Chrome 嘗試達成的隱私權原則 (限制使用者跨網站分享的過多資訊),同時仍保持重要用途。

有些瀏覽器廠商則認為他們同意使用新版解決方案,這對於在 PrivacyCG 中持續為 CHIPS 維持跨瀏覽器支援至關重要。

因此,Chrome 就採用這項新上限,並將這項解決方案納入 CHIPS 設計。

與業界合作

在 CHIPS 開發過程中,許多合作夥伴都向我們表示,我們對於加強網路隱私權保護至關重要。

Akamai 很喜歡與其他業界領導者 (例如 Google) 攜手合作。我們針對 CHIPS 計畫所提供的意見看似微小細節,但改變仍有助於確保對妥善用途的負面影響,同時確實達成最終目標。我們的各機構都致力於以自家的方式,希望提高網際網路的速度和安全性,並讓整個網際網路在合作後更加優異。 Akamai Technologies 資深架構師 Martin Meyer

CHIPS 已證實,來自生態系統的意見回饋是改善 Privacy Sandbox 技術的關鍵。您可以在 GitHub 和 W3C 會議中開啟網路對話,並持續與 Chrome 團隊互動,促成 Chrome 穩定版現在做出的變更。Chrome 團隊迫不及待想透過各種提案提供意見,這對網路技術的開發與推出方式有著莫大的助益。