近日,蘋果拒絕了將 16 個 Web API 部署在 Safari 瀏覽器中的請求,蘋果覺得這些 API 會對用戶的隱私構成威脅。
蘋果拒絕部署 16 個 Web API
蘋果已經表示,不會在其 Safari 瀏覽器的 WebKit 引擎中實現 16 個 Web API,部分原因是它們構成了隱私威脅。但蘋果的批評者,包括谷歌等競爭對手,都將蘋果的立場視爲對競爭威脅的一種防禦手段。
這些 API 都是最近幾年開發的,它們讓 Web 開發人員可以訪問很多原本只對原生移動平臺程序員開放的功能;但這些 API 可能會被濫用,用來識別設備指紋:這是一種侵犯隱私權的技術,能夠從可讀的設備特徵中構造出唯一的標識符,以實現對用戶蹤跡的跨網站追蹤,標識符之間還可關聯起來以跨設備追蹤用戶。
WebKit 團隊最近更新的有關跟蹤預防的文章解釋說:“WebKit 抵禦設備指紋的第一道防線,是拒絕實現那些可增強指紋能力,並且不提供安全的方法來保護用戶的 Web 特性。”
https://webkit.org/tracking-prevention/
被拒絕的的 16 個 API 分別爲:
- Web Bluetooth
- Web MIDI API
- Magnetometer API(磁力計)
- Web NFC API
- Device Memory API
- Network Information API
- Battery Status API
- Web Bluetooth Scanning
- Ambient Light Sensor(環境光傳感器)
- HDCP Policy Check extension for EME(HDCP 協議檢查擴展)
- Proximity Sensor(距離傳感器)
- WebHID
- Serial API
- Web USB
- Geolocation Sensor (background geolocation)(位置傳感器)
- User Idle Detection
獨立研究人員兼顧問 Lukasz Olejnik 在給 The Register 的一封郵件中,聲稱這一決定是隱私保護的一次勝利,並指出他在 2015 年與他人共同發表的針對 Battery Status API 的隱私風險的研究,以及之後針對其他瀏覽器指紋威脅的分析或許影響了蘋果的政策決定。
https://blog.lukaszolejnik.com/battery-status-not-included-assessing-privacy-in-w3c-web-standards/
對於濫用 Battery Status API 的擔憂(網站和基於瀏覽器的應用程序可使用這個 API 來檢查訪問者 / 用戶移動設備的電池電量),促使 Mozilla 在 2016 年 10 月取消了對它的支持。大約在同一時間,蘋果公司已經在代碼中實現了這個 API,但從未激活它。最後蘋果還是選擇了拒絕。
與此同時,谷歌在 2015 年 7 月 10 日首次亮相的 Chrome 45 中實現了 Battery Status API。今年 5 月份,這家互聯網巨頭承諾對其進行調整,允許開發人員在其應用和第三方組件中禁用該 API,但並不會移除它。
試圖控制市場?蘋果:我沒有
對蘋果表示沮喪的人羣中恰好就有谷歌的工程師,他們覺得蘋果在扯 Web 平臺的後腿。
蘋果要求 iOS 設備上的所有 Web 瀏覽器都使用 Safari 的 WebKit 渲染引擎,這讓 iOS 上的移動瀏覽器趨於同質化。有開發者表示:“蘋果強制要求使用 WebKit 使 iOS 上的瀏覽器變成了一種“單一文化”,我以爲我可以將 Chrome 設置爲默認瀏覽器,但最後我還是在使用 Safari。”
在過去的幾年中,蘋果在 Safari 中部署 API 的節奏頗爲悠閒(或謹慎),這意味着漸進式 Web 應用(PWA,可離線運行的可安裝 Web 應用)在 iOS 設備上無法正常工作。
結果,Web 開發人員,特別是那些對 PWA 感興趣的開發人員,指責蘋果試圖限制 Web 應用以保護其在原生 iOS 應用中的既有利益:蘋果根據自己制訂的 AppStore 規則獲得了 30%的收入分成。這些規則現在已成爲歐盟反托拉斯調查的目標。
https://www.theregister.com/2020/06/16/eu_apple_competition_investigations/
谷歌高級軟件工程師 Alex Russell,主要從事 Chrome、Blink 和 Web 標準開發工作,他在 Twitter 上發了一篇帖子:“永遠不要忘記蘋果之所以限制瀏覽器引擎的選擇權,主要是防止 Web 成爲符合新標準內容的有吸引力的開發目標”。
Russell 認爲,蘋果的目標是確保 Web 平臺的功能無法與原生應用相提並論。
Russell 指出,蘋果支持其他很多可能被濫用的 API,例如與方向 / 加速度、地理位置、相機訪問、GPU 圖形加速、遊戲手柄以及文件和目錄上傳相關的那些 API。
就像 Stratechery 的技術分析師 Ben Thompson 在週一的一篇博客文章中所說的那樣:“拖累 Web 會提升應用的吸引力,蘋果就能從中獲益;同樣值得注意的是,蘋果公司正在擴展自己的應用產品線,並不在乎行業對手的損失。”
https://stratechery.com/2020/apple-and-facebook/
當被問及這些關於競爭的指控是否有依據時,Olejnik 承認有些人是會從這個角度看待蘋果的技術決策。他說:“不管怎樣,一些隱私擔憂是合理的。”
另外作爲參考,PWA 面對的技術壁壘正在消減。
以前,廣告商想追蹤用戶信息,大多依靠第三方的 Cookie。近年來,各大瀏覽器的開發商致力於部署反追蹤功能,第三方 Cookie 的能力和使用範圍越發遭到限制。於是,用戶指紋技術“應運而生”。據悉,在過去的三年裏,用戶指紋已經成爲在線廣告技術市場上追蹤用戶的標準方法。
瀏覽器開發商也有相應的對策,即通過一些常見的操作來防止指紋操作,例如字體,HTML5 canvas 和 Web GL 等,不過這也不是萬全之策,部分用戶指紋向量無法通過這些方法阻止。
目前,蘋果已經將這 16 個 API 列爲嚴重的“違規者”。不過蘋果表示,如果這些技術在未來可以降低隱私安全隱患,則會重新考慮是否將其添加到 Safari 中。