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

瞭解 Chrome 團隊在導入 CHIPS 時面臨的兩大挑戰,以及社群意見回饋對於改善提案設計如何發揮關鍵作用。

Milica Mihajlija
Milica Mihajlija
Jeremy Ney
Jeremy Ney

具有獨立分區狀態的 Cookie (CHIPS) 是一種 Privacy Sandbox 技術,可讓開發人員將 Cookie 納入「分區」儲存空間,並為每個頂層網站建立獨立的 Cookie 罐。
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 罐。在其他情況下,這會導致驗證流程在嵌入式情境中執行困難

圖表:顯示 pay.example.com 和 shop.example.com 網站

Chrome 團隊評估這項意見回饋後,認為移除「無網域」規定不會造成隱私權問題,但可改善可用性。為回應這項要求,CHIPS 產品團隊在 GitHub 上發起討論,歡迎大家提供更多意見,協助我們移除這項規定。幾家正在測試 CHIPS 的公司回應並公開表示,這項變更對他們的用途的重要性。

Chrome 將這項意見回饋提交給 W3C 隱私權社群群組,並提出更新版提案。Firefox 和 Edge 都已核准這項變更,Safari 也未提出任何疑慮。隔天,Chrome 團隊更新了 Blink-Dev,並在 CHIPS GitHub 存放區中提出移除這項規定的計畫。

CHIPS 團隊最初提出這項規定,目的是確保網站不會從任何惡意或遭到入侵的子網域收到跨網站 Cookie,並降低使用網域 Cookie 作為跨子網域資料外洩管道的可能性。

雖然這項做法可帶來額外的安全性優勢,但 Tableau 強調,由於目前部分應用程式架構需要在子網域之間共用 Cookie,因此這會導致採用 CHIPS 的過程出現挑戰。

在 Chrome 做出這項變更後,負責視覺化分析平台 (現由 Salesforce 持有) 的 Tableau 公司分享

移除命名變更後,這項規定就會更符合先前新增 `SameSite=None` 屬性時的變更,因此會變得更「知名」。我們很高興 Google 能傾聽意見、瞭解影響,並做出變更,協助我們更輕鬆地轉換。 Tableau 軟體工程架構師 Lee Graber

透過這個程序,利益相關者可更輕鬆地導入 CHIPS,同時保護使用者的隱私權。

實作 CHIPS 的另一個挑戰是靜態 Cookie 限制。
為避免 Cookie 佔用大量記憶體,初始設計提出了數值限制,每個網站每個分區的 Cookie 上限為 10 個。

Akamai 分享了公開意見回饋,指出分割式 Cookie 的建議限制可能不足以滿足 CDN 等服務的需求,因為 CDN 會提供頂層網域來代管客戶的內容 (例如 customer.cdn.xyz)。舉例來說,customer1.cdn.xyz 和 customer2.cdn.xyz 都會提供第三方內容,且各自設定多個 Cookie。如果有多個類似的客戶網站嵌入其他網站,可能會達到每個區隔的 Cookie 上限 10 個。

Chrome 團隊在其他論壇、合作夥伴會議和 W3C 討論中收到類似的意見回饋,因此考慮最適合解決這些用途中 Cookie 限制所帶來挑戰的做法。

圖表:顯示單一網域在用戶端電腦上可設定的 SameSite=None Cookie 數量上限
圖表:顯示單一網域在用戶端電腦上可使用的 SameSite=None Cookie 數量上限

在考量如何納入社群意見後,Chrome 在 TPAC 2022 中提出了更新的想法,建議 CHIPS 從靜態 10 個 Cookie 限制,改為根據記憶體設定 _動態_ 10 千位元組的限制。分析結果顯示,這項變更應可涵蓋 99% 的網頁用途,並能維持 Chrome 所追求的隱私權原則 (限制跨網站分享過多使用者資訊),同時保留重要用途。

其他瀏覽器供應商也發表意見,表示贊同更新後的解決方案,這對於確保 CHIPS 在 PrivacyCG 中維持跨瀏覽器支援功能至關重要。

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

與業界合作

在 CHIPS 開發過程中,我們收到許多合作夥伴的意見回饋,而合作無疑是改善網路隱私權的關鍵。

Akamai 與 Google 等其他產業領導廠商在多個方面建立了合作關係。我們在 CHIPS 計畫中提供的意見回饋可能只是小細節,但這項變更將有助於確保對良好用途的負面影響降到最低,同時仍能達成最終目標。我們各自的團隊都致力於以各自的方式,讓網際網路變得更快速、更安全,而我們攜手合作,就能讓整個網際網路更臻完善。 Akamai Technologies 資深架構師 Martin Meyer

CHIPS 顯示,生態系統的意見回饋對於改善 Privacy Sandbox 中的技術至關重要。GitHub 中的公開網路對話、W3C 會議,以及與 Chrome 團隊持續合作,這些都直接促成 Chrome 穩定版現在推出的變更。Chrome 團隊很期待從各項提案中聽到這類意見回饋,這對網路技術的開發和推出方式有極大影響。