Categories
程式開發

苹果:我要保护用户隐私,谷歌:你是舍不得自己的蛋糕


近日,苹果拒绝了将 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 成为符合新标准内容的有吸引力的开发目标”。

苹果:我要保护用户隐私,谷歌:你是舍不得自己的蛋糕 1

Russell 认为,苹果的目标是确保 Web 平台的功能无法与原生应用相提并论。

Russell 指出,苹果支持其他很多可能被滥用的 API,例如与方向 / 加速度、地理位置、相机访问、GPU 图形加速、游戏手柄以及文件和目录上传相关的那些 API。

就像 Stratechery 的技术分析师 Ben Thompson 在周一的一篇博客文章中所说的那样:“拖累 Web 会提升应用的吸引力,苹果就能从中获益;同样值得注意的是,苹果公司正在扩展自己的应用产品线,并不在乎行业对手的损失。”

https://stratechery.com/2020/apple-and-facebook/

当被问及这些关于竞争的指控是否有依据时,Olejnik 承认有些人是会从这个角度看待苹果的技术决策。他说:“不管怎样,一些隐私担忧是合理的。”

另外作为参考,PWA 面对的技术壁垒正在消减。

https://love2dev.com/pwa/ios/

以前,广告商想追踪用户信息,大多依靠第三方的 Cookie。近年来,各大浏览器的开发商致力于部署反追踪功能,第三方 Cookie 的能力和使用范围越发遭到限制。于是,用户指纹技术“应运而生”。据悉,在过去的三年里,用户指纹已经成为在线广告技术市场上追踪用户的标准方法。

浏览器开发商也有相应的对策,即通过一些常见的操作来防止指纹操作,例如字体,HTML5 canvas 和 Web GL 等,不过这也不是万全之策,部分用户指纹向量无法通过这些方法阻止。

目前,苹果已经将这 16 个 API 列为严重的“违规者”。不过苹果表示,如果这些技术在未来可以降低隐私安全隐患,则会重新考虑是否将其添加到 Safari 中。

延伸阅读

https://www.theregister.com/2020/06/29/apple_web_developers