点击“开发者技术前线”,选择“星标????”
在看|星标|留言, 真爱
作者 | 李俊辰、王强
来源丨前端之巅(frontshow)
https://mp.weixin.qq.com/s/VlYsvzYXbEOGxbtYFLe8Rg
近日,苹果拒绝了将 16 个 Web API 部署在 Safari 浏览器中的请求,苹果觉得这些 API 会对用户的隐私构成威胁,并且苹果的下一代ios系统为iPhone再度升级了隐私保护功能。
一键禁止所有App追踪用户信息
当App(应用程序)访问设备的麦克风、相机、剪贴板或其他敏感数据时,新版本的ios14系统将给予用户新的视觉通知。
苹果公司2020年的动作符合了自身的特点,即将隐私工程作为产品级别的优先级,并更普遍地将保护隐私作为其产品关键卖点。
过去,许多新的ios隐私安全功能促使公司做出反应,改变他们的应用做法。比如2019年,苹果做出的改变是,将在应用后台收集用户位置数据时提醒用户,而Facebook专门在苹果之前发表一篇博客文章,解释公司的隐私政策。在ios14 2020年秋季正式推出之前,类似的事情也可能再度发生。
目前,ios14内测版已经推出可供使用。这里是ios14中的一些重大隐私保护新功能:
1. 如果有App在使用用户的的摄像机,会有一个绿灯亮起;如果有App在使用用户的麦克风,将有一个橙黄色灯亮起。这些小灯是系统软件的一部分,不是新手机里的硬件LED灯管。灯光会直接在iPhone主屏幕上显示。
2. 如果有App调用了用户的剪贴板,屏幕上方将显示提示条。剪贴板用来存储用户复制的文本,从而让用户能将复制的内容粘贴到其他位置。能够访问剪贴板的App可以了解用户的很多信息,获得用户画像后,能够更有针对性的向用户定向推荐广告等。这也是当今绝大部分App的常用操作之一。
3. 如果有App申请你的照片权限,你可以只授权特定的照片或相册,而不是全部授权。在这之前,如果授权应用调用照片,就只能要么全部开放,要么全部不开放。
4. 苹果应用商店中,App旁边将增加强制性标签,列举该应用收集的用户数据类型,对标食品包装上的营养成分标签。目前,这个功能在内测版中尚未发布,但苹果隐私工程师Eric Neuenschwander介绍,现在苹果正在要求每一个应用开发者汇报他们收集的数据,这个功能可能会和秋季的ios正式版一同发布。
5. App用于广告目的的用户追踪将需要获得用户批准。目前,广告主可以使用被称为“IDFA”的ID设备号码更好地发布定向广告,并评估广告效果。在ios14里,每个想要使用这些ID设备号的应用都需要在用户首次使用时向用户询问授权,用户可以选择“允许追踪”和“禁止追踪”,如果用户希望为广告商提供更多数据以获得更精准的广告推送,则需要明确授权允许。
还有一个更加彻底的系统新设置:“允许App请求追踪”。如果用户选择关掉这一功能,那么所有的App甚至都不能向用户要求授权,就完全不能追踪你。这一功能将替换“设置”中“限制广告跟踪”的旧功能。
苹果拒绝部署 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
前线推出学习交流群,加群一定要备注:
研究/工作方向+地点+学校/公司+昵称(如大前端+上海+上交+可可)
根据格式备注,可更快被通过且邀请进群,领取一份专属学习礼包
扫码加我微信进群
大厂内推和技术交流,和前辈大佬们零距离
END
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。历史推荐
厉害了!华为将发布国产编程语言,打破国外垄断!
安卓会被取代?华为鸿蒙OS 2.0正式开源!直戳 Google 心脏!
字节跳动凌晨宣布发半个月工资奖金,员工:以后我住公司了
淘宝为什么能抗住双 11 ,服务不崩溃?
史上最烂的项目:苦撑 12 年,600 多万行代码
好文点个在看吧!