蘋果完全屏蔽第三方 Cookie,七天清空本地存儲

蘋果 WebKit 博客分享了智能跟蹤預防技術(ITP)的最新進展:完全屏蔽第三方 Cookie,七天清空本地存儲,簡化開發人員工作。但也有開發者唱起了反調,覺得蘋果只是說起來冠冕堂皇,實際上還是為了商業考慮。Why?

蘋果完全禁止第三方 Cookie

3 月 24 日,蘋果 WebKit 博客發表了一篇題為《Full Third-Party Cookie Blocking and More》的文章,正式宣佈它開始默認完全屏蔽第三方 Cookie。蘋果表示,“這是對隱私的一項重大改進,因為它消除了任何異常或允許進行一點跨站點跟蹤的可能。”

此次更新涉及 iOS,iPad OS 13.4 和 macOS 上的 Safari 13.1,這項名為智能跟蹤預防的(ITP)的技術首次發佈於 2017 年,從當時的禁止大部分第三方 Cookie 已發展到今天的完全禁止第三方 Cookie。

據瞭解,Safari 是市面上第一個默認情況下完全禁止第三方 Cookie 的主流瀏覽器,除 Safari 之外只有 Tor 瀏覽器是相通的默認設置,而後者的市場份額很小。無獨有偶,瀏覽器市場中絕對的霸主 Chrome 也在今年 1 月份宣佈,未來 2 年內將逐步淘汰第三方 Cookie。

蘋果完全屏蔽第三方 Cookie,七天清空本地存儲

2 月全球瀏覽器市場份額

蘋果完全屏蔽第三方 Cookie,七天清空本地存儲

10 大瀏覽器型號

蘋果表示,將向 W3C 的隱私小組分享相關經驗,以幫助其他瀏覽器取得飛躍。

完全屏蔽的好處是什麼?

WebKit 在博客中分享了完全屏蔽第三方 Cookie 的好處,具體而言有以下幾個方面。

  • 消除了 Cookie Blocking 中的狀態性;
  • 使跨站點洩露用戶信息(例如登錄指紋)不再可行;
  • 禁用通過第三方請求對網站的跨站點偽造攻擊;
  • 刪除使用輔助第三方域標識用戶的功能。否則,即使用戶刪除第一方的網站數據,此類設置也可能保留 ID;
  • 簡化了開發人員的工作,如果需要使用 Cookie,蘋果建議通過 Storage Access API 進行。

鑑於大部分第三方腳本已轉移到類似 LocalStorage 的第一方存儲方式,蘋果同時宣佈所有腳本可寫入的存儲都只保留 7 天,7 天之後本地儲存的數據將會被自動刪除。受影響的存儲格式包括 Indexed DB、LocalStorage、Media keys、SessionStorage 和 Service Worker registrations。

開發人員可以根據 OAuth 2.0 授權、Storage Access API 或臨時兼容性修補程序的方式在過渡期解決此協議所帶來的不便。

蘋果的博文中提到,全球瀏覽器狀態已成為 Web 社區隱私保護中的關鍵一環。自 2018 年歐盟最嚴數據保護法規《GDPR》生效以來,各大廠商紛紛在隱私保護的鐵錘下吞下了鉅額罰單:谷歌被處以 5000 萬歐元罰款,英航、萬豪等大企業也因數據洩露被處以數千萬級別的罰款。

第三方 Cookie 由於其隨著時間發展,收集大量用戶信息的特點,成為了數據洩露的重災區。專家表示,“在 HTML5 本地存儲相關技術出現前,Cookie 是在客戶端保存用戶數據的唯一手段,但 Cookie 本身有很多問題,比如大小限制、明文存儲等。不過,其最大的問題還是安全性。很多的安全漏洞都是源於 Cookie 被竊取。”

在《GDPR》生效以後,很多網站開始添加 Cookie 通知,但這對於隱私保護並沒有起到多好的效果,於是蘋果、谷歌等企業開始決定從源頭上禁止第三方 Cookie 以解決這個問題。

來自開發者的不同聲音

一位名為 Aral Balkan 的開發者在自己的博客上寫下了一篇文章,標題名為《Apple just killed Offline Web Apps while purporting to protect your privacy: why that’s A Bad Thing and why you should care》。從標題上就可以看出觀點的激進,而內容事實上也同樣如此。

在他看來,完全屏蔽第三方 Cookie 以保護隱私只是看起來很美,而 7 天清空本地存儲的規則卻完全阻止了未來任何去中心化應用程序使用瀏覽器 (客戶端) 作為對等網絡中可信複製節點的可能。

更進一步,他認為蘋果公司表面上表現得很關注隱私,實際上是因為不少廠商的做法侵犯了它將隱私作為商業模式的核心宗旨。

“你幾乎可以認為,他們會用 App Store 來乾點兒什麼。”

Balkan 的觀點雖然激進,但也並非全無道理。事實上,蘋果一直以來飽受詬病的地方正是如此。此前 Hacker News 上就曾有開發者廣泛討論蘋果在自己的平臺上對於 Web 技術的層層阻礙。

用來構建 App 的編程語言背後的軟件技術,可以使開發者在開發支持 Linux、Android、Windows 和 macOS 等操作系統產品時,“複用”他們為 Web 程序所編寫的代碼。但是蘋果並不喜歡這種 Web 技術的循環再利用方式,它希望 Mac App Store 中塞滿你在其他任何地方都找不到的應用程序,不想讓在各個平臺上都能見到的應用充斥 App Store。

比如之前蘋果 Mac App Store 對 Electron 的禁令:這些應用程序“試圖隱藏私有 API 的使用”。蘋果的理由是這些私有化 API 存在潛在風險,這個理由本身並沒有問題,但考慮到 Electron 多年來一直使用私有化 API 的相安無事甚至大幅改善了功耗,以及蘋果推薦的工具讓用戶體驗變差的事實,不得不引人深思。

蘋果公司還阻礙了漸進式 Web 應用程序(PWA)的落地,這項技術與 Electron 一樣,允許開發人員為桌面和移動端構建效果類似原生的應用。蘋果的做法是隻實現該標準的一部分,結果讓它與完整標準相距甚遠,使開發者難以依靠。如果用戶能在 Chrome 或 Firefox 中啟動 PWA 應用就不會出現這些問題,但是 iPhone 和 iPad 用戶無法安裝第三方瀏覽器,蘋果公司也關閉了用戶使用基於 PWA 技術的途徑。

而在國內,小程序與蘋果的愛恨情仇就更為廣大開發者所知,這裡不再贅述,參考:小程序:越獄未遂。

就事論事而言,蘋果此舉值得稱讚。但禁用第三方 Cookie 就能保護好用戶隱私了嗎?卻也未必。

有人說,互聯網開始變得不安全,就是因為搞安全的人出來了。此言誠不我欺。

關注我並轉發此篇文章,私信我“領取資料”,即可免費獲得InfoQ價值4999元迷你書!


分享到:


相關文章: