NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2020-07-15
  • 本文字数:2134 字

    阅读完需:约 7 分钟

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

近日,苹果拒绝了将 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 面对的技术壁垒正在消减。


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


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


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


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

延伸阅读

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


2020-07-15 18:431951

评论 2 条评论

发布
用户头像
web开发者看了觉得很头疼 👨🏻‍🦲
2020-07-17 14:09
回复
用户头像
苹果在以一家之力试图阻挡Web延伸的趋势,这几乎是螳臂当车,历史会一步一步把Safari扫进垃圾堆的。。。
2020-07-16 17:35
回复
没有更多了
发现更多内容

使用 Sequelize 快速构建 PostgreSQL 数据的 CRUD 操作

devpoint

node.js postgresql API 8月日更

刷完这套200+大厂Java真题手册,成功拿到阿里,京东,美团的offer

Java 编程 架构 面试 架构师

等待时间的忍受度

箭上有毒

8月日更

Linux之at命令

入门小站

Linux

Kong-To-APISIX:减轻你的迁移压力

API7.ai 技术团队

开源 网关 kong APISIX

面试官:JVM的运行时数据区了解不?

程序员阿杜

Java JVM JVM、 8月日更

Gin 介绍

xcbeyond

Go 语言 gin 8月日更

数据缓存历险记(二)--被过期键经理上了一课

卢卡多多

redis Redis键过期监听 8月日更

前端之数据结构(一)

Augus

数据结构 8月日更

15个经典面试问题,如何设计一个百万级用户的抽奖系统?

Geek_f90455

Java 程序员 面试 后端

「SQL数据分析系列」16. 分析函数

数据与智能

sql 函数 分析

【设计模式】单例模式

Andy阿辉

编程 程序员 后端 设计模式 8月日更

趁着课余时间学点Python(三)变量,基本数据类型,运算符

ベ布小禅

8月日更

小技巧 | Get 到一个 Web 自动化方案,绝了!

星安果

chrome 自动化 Web 插件 chrome扩展

当一只「无头苍蝇」又何妨?

非著名程序员

读书笔记 提升认知 个人提升 8月日更

【翻译】数据包的旅程 - 主机之间通信

luojiahu

计算机网络 OSI模型

在线手机号码上标生成工具

入门小站

工具

12道Java高级面试题:瞧一瞧

Geek_f90455

Java 程序员 面试 后端

Dremio 推出在 AWS 云上运行的数据湖服务

水滴

数据湖 8月日更 Dremio

Linux 环境如何使用 kill 命令优雅停止 Java 服务

陈皮的JavaLib

Java Linux 面试 springboot 8月日更

为了进阿里,我通宵达旦三个月,学了这些技术点(附Java思维导图)

Java 编程 架构 面试 架构师

Vue进阶(五):与 Vuex 的第一次接触

No Silver Bullet

Vue vuex 8月日更

藏在煤箱中的文明:一个会说话的箱子能告诉我们什么?

脑极体

IDEA下载及新建第一个Java项目(Helloworld)

Bob

8月日更

graphql计算指令之@skipBy和@includeBy:使用表达式实现简单控制流

杜艮魁

开源 后端 低代码 graphql

Error SHA256 mismatch

一个大红包

8月日更

试错,然后成长

escray

学习 极客时间 朱赟的技术管理课 8月日更

阿里人,五年心血汇聚而成这份Spring Cloud Alibaba开发手册

Java架构师迁哥

NLP随笔(四)

毛显新

自然语言处理 神经网络 深度学习

【网络安全】渗透工程师面试题总结大全

网络安全学海

面试 网络安全 信息安全 渗透测试 漏洞

SpringBoot 整合 Drools

LeifChen

drools springboot 规则引擎 8月日更 业务规则

苹果:我要保护用户隐私,谷歌:你是舍不得自己的蛋糕_安全_李俊辰_InfoQ精选文章