Chrome加強第三方Cookie限制,谷歌終於出手了

Photo of author
Written By CMO

谷歌的Chrome團隊經常讓人感覺是“二五仔”
谷歌的Chrome團隊經常讓人感覺是“二五仔”?

2019年我們看到了數字行銷界特別是MarTech/AdTech界的一些趨勢,其中有好的也有令人擔憂的。總體有兩個方向,其一是人工智能主導的技術革新全面開花,對數據的需求不管從數量還是質量上大幅提高。這也影響了第二個趨勢,即人們對於個人隱私的擔憂逐漸發酵,各種反跟踪技術和反爬蟲技術不斷出現。這兩者必將在2020年持續博弈。

在隱私方面,二十多年來一直幫助互聯網用戶標識身份並記錄狀態的Cookie首當其衝成為隱私保護的焦點,無論是GDPR還是後續的各國新頒布的法律都對Cookie的使用進行了限制。然而Cookie作為行銷者和互聯網服務提供方為用戶提供個性化Web服務的必要標識在短期內又具有充分的存在價值,這一矛盾讓使科技公司們對Cookie的限制同時,並不像當年摒棄Flash技術那樣來得那樣洶湧,顯得比較溫和。

近日,谷歌終於宣佈在即將到來的2月4日的Chrome 80版本中更新對第三方Cookie的處理方式。屆時在這個全球市場佔有率超過六成的瀏覽器中僅有在SameSite=None; Secure的條件下,第三方Cookie才會被Chrome發送給服務器。

第三方Cookie要點

關於什麼是第三方Cookie,還請參考HubSpot One的舊文。此處僅作要點介紹,對於沒有AdTech基礎的同學可直接跳過。 。

  1. Cookie可以通過HTTP協議頭中的set-cookie字段來寫入客戶端也可以通過JS腳本寫入客戶端。當調用站點資源時,會自動將Cookie的全部內容附加在HTTP協議頭中的cookie字段,並發送給Cookie所屬站點。
  2. 第三方Cookie是相對於場景而言的,在您訪問A站點時,寫入或讀取B站點域的Cookie便是第三方Cookie。
  3. 此時A站點可以寫入B站點Cookie但無法讀取B站點Cookie。

什麼是SameSite?

SameSite是Cookie中可放置並能夠被瀏覽器識別的字段。 SameSite可以有三個值,分別是Strict,Lax和None。

  • Strict表示該Cookie僅用作第一方Cookie。並且當用戶從A網站移動到B網站時,首次訪問中不發送標為Strict的B網站Cookie。這對安全性需求較高的網站比較適用。如果你的B網站登錄狀態為“登錄中”,那麼A網站點到B網站時,登錄狀態為“未登錄”。用戶需要再點一次登錄。這對一些“更改密碼”或者“進行結賬”的訪問比較合適。
  • Lax與Strict大致相當,表示該Cookie僅用作第一方Cookie。但去掉了首次從其他網站來的推薦訪問不發送Cookie的限制。
  • None則表示該Cookie可被跨域發送。當前版本的Chrome瀏覽器中,如果Cookie沒有聲明SameSite的值,則默認為None。

在2月4日發布的新版Chrome 80中默認值將為Lax

SameSite和Secure如何設置?

如果你現今使用的是Chrome瀏覽器76以上版本,那麼將會看到許多下圖顯示的Warning。

現在您的Chrome DevTools中將會出現警告
現在您的Chrome DevTools中將會出現警告

該警告說明您的網頁中存在跨域讀取的Cookie,即第三方Cookie。在新版本的Chrome 80中(其他瀏覽器也會陸續更新)這些第三方Cookie的內容將不會被發送。

如果您的服務依賴第三方Cookie正常運作,那麼屆時在新的瀏覽器環境下將發生錯誤,除非Cookie中標識出SameSite=None且為Secure 。我們列舉一下常見的第三方Cookie的使用場景有:

  • 廣告跨域跟踪
  • 第三方Widgets,如播放器
  • SSO單點登錄

事實上Cookie中的SameSite標識符早已被大部分瀏覽器採用。在Cookie的內容中只要加入SameSite=None; Secure即可。如原來的Cookie是這樣在HTTP頭中設置的:

Set-Cookie: Maxket-Follower=1

現在需要像下面這樣設置:

Set-Cookie: Maxket-Follower=1; SameSite=None; Secure

這樣就明確聲明了SameSite為否時可用,且必須通過HTTPS發送。

谷歌進行第三方Cookie規則更新的意義

Cookie的不安全主要在三個方面:

  1. 中間人效應:Cookie的傳輸將會經過多個路由器,它們都將獲得Cookie的內容。而Cookie的內容往往標識了登錄狀態。解決方法便是使用更安全的HTTPS協議進行傳輸。
  2. XSS跨站腳本(Cross-Site Scripting):許多網站會從第三方加載腳本,這些腳本可以讀取第一方Cookie並洩露給其他人。解決方法是在Cookie中加入HttpOnly標識。
  3. CSRF跨站請求偽造(Cross-Site Request Forgery):這是利用網站漏洞和用戶未登出第三方網站進行的攻擊。在SameSite問世之前,我們可用通過HTTP頭中的Referer字段進行校驗。

SameSite為CSRF的防護更加上了一層保險。我們有理由相信谷歌對Chrome進行如此更新顯示了其迎合網絡安全和個人隱私保護的姿態。扼殺第三方Cookie對以廣告為主要收入來源的谷歌有正面的影響也有負面的影響,至少短期內弊大於利,它會削弱廣告服務商的跟踪能力。但是長期來看,由於谷歌這個巨無霸的存在,不管是瀏覽器方面還是登錄狀態,谷歌都比其他競爭對手更容易跟踪用戶的行為,甚至能跟踪跨設備行為,馬太效應將加劇。

看來2月4日前又有好多工程師需要忙於更新Cookie設置了,留給他們的時間不多了。

了解更多關於Cookie和SameSite,請查看Chrome官方部落格。