聚焦 Android 11 : 隐私和安全
上期 #11WeeksOfAndroid 系列文章中内容我们介绍了 联系人和身份,本期我们将聚焦 隐私和安全 。我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。
隐私和安全是我们设计 Android 的核心,随着每一个新版本的发布,我们都会加大这一方面的投入。Android 11 也持续在这些领域取得重要进展,本文中我们将分享有关 Android 隐私和安全的一系列更新和资源。但首先,让我们快速浏览一下 Android 11 中那些最为重要的更新,用以保护用户隐私并提高平台的安全性。
Android 11 将为用户提供对敏感权限的更多控制权。在 Android 11 的整个开发过程中,我们与开发者社区开展了密切的合作,在设计隐私相关的功能时保持了一定的平衡: 增进用户对隐私的控制权,同时尽可能减少对开发者的影响。让我们探索一下其中的部分功能:
单次授权
在 Android 10 中,我们引入了精细的位置权限控制,让用户能够限制应用仅在使用时 (即仅在应用处于前台时) 访问位置信息。当系统显示新的运行时权限选项时,超过 50% 的情况下用户会选择仅允许应用在前台时访问位置。这一点证明用户确实想要更精细的权限控制。因此在 Android 11 中,我们引入了 单次授权,通过该功能,用户可授权应用访问设备的麦克风、摄像头或位置信息,但该访问权限仅在授权当时有效。作为应用开发者,您无需对应用进行任何更改便可使其支持一次性权限,并且用户下次使用该应用时,应用可以再次请求权限。如需详细了解如何利用这些新更改构建隐私友好型应用,请查看 相关技术视频。
后台位置
在 Android 10 中,我们添加了后台位置使用情况提醒,以便用户定期查看应用使用此敏感数据的情况。用户收到并处理提醒时,在超过 75% 的情况下会降低应用的位置权限级别,或拒绝授予权限。此外,绝大部分要求在后台访问位置的应用用例都是不正当的。
在 Android 11 中,用户将无法再通过运行时提示授予后台位置权限,相反,该权限将需要通过更审慎的操作来授予。如果您的应用需要在后台访问位置,系统将确保该应用首先请求在前台访问位置。然后,该应用会单独向系统发送权限请求,随后系统会将用户带到 "设置" 中以完成权限授予,从而升级该应用权限,使其能够在后台访问位置。
我们曾在 2 月发布《更加安全透明的用户位置访问》,即 Google Play 开发者需要获得批准,其应用才能在后台访问用户位置,以避免位置数据被滥用。现在我们为开发者提供更长的时间来做出修改,在 2021 年之前我们不会强行要求既有的应用遵守本政策。请查看指导视频,找到您的代码中可能在后台使用位置的部分。
权限自动重置
大多数用户倾向于在其设备上下载并安装 60 多个应用,但经常使用的只有总数的三分之一。如果用户很长一段时间未使用某适配 Android 11 的应用,系统将 "自动重置" 所有与该应用关联的已授予运行时权限,并通知用户。用户下次使用该应用时,应用可以再次请求权限。如果您的应用有正当的理由,需要保留权限,则可以提示用户在 "设置" 中关闭该功能。
数据访问审核 API
即使在用户已向开发者授予权限的情况下,Android 仍鼓励开发者限制对敏感数据的访问。在 Android 11 中,开发者可以通过 新 API,更清楚地了解自己的应用对私有数据和受保护数据的使用情况。使用该 API 后,应用可以跟踪系统何时记录到应用对私人数据进行了访问。
分区存储
在 Android 10 中,我们引入了 分区存储,该功能为外部存储提供了筛选视图,便于用户访问应用特定的文件和媒体集合。此更改通过用多种方式限制对共享的存储空间的广泛访问,从而保护用户隐私,包括将存储权限更改为仅允许读取访问照片、视频和音乐,以及改进应用的存储属性。自 Android 10 推出分区存储以来,为帮助开发者使用这一功能,我们结合众多开发者的反馈,做出许多改进,包括: 更新权限界面以增强用户体验、添加对媒体的直接文件路径访问以改善与现有媒体库的兼容性、更新用于修改媒体的 API、添加 管理外部存储 权限 (Manage External Storage) 以允许需要广泛文件访问的特定用例,以及添加受保护的外部应用目录。在 Android 11 中,所有目标 API 级别 (Target SDK Level) 为 30 的应用都将强制使用分区存储功能。请 观看下面的视频 了解详情,如需进一步了解详细内容,请查看 开发者文档。
- 腾讯视频链接: v.qq.com/x/page/r310…
- Bilibili 视频链接:www.bilibili.com/video/BV1uz…
Google Play 系统更新
Google Play 系统更新最初作为 Project Mainline 的一部分随 Android 10 一起推出。这些更新的主要优势在于可以提高 Android 内部平台子系统的模块化程度和精细程度,这样一来用户无需设备厂商提供全量系统更新,便可直接通过 Google Play 更新核心操作系统组件。今年早些时候,在 Project Mainline 帮助下,我们得以快速修复媒体解码子系统中的一个关键漏洞。而 Android 11 为其添加了新的模块,同时保持了现有模块的安全属性。例如,可提供密码学原语的 Conscrypt 模块,在 Android 11 中同样能够通过 FIPS 验证。
BiometricPrompt API
开发者现在可以使用 BiometricPrompt API,来指定应用解锁或访问应用中敏感部分所需的生物识别身份验证器的强度。我们正计划将此 API 添加到 Jetpack 生物识别库中,以便实现向后兼容,并将随着这项工作的进行分享更多更新。
身份凭据 API
此 API 将解锁新的用例,例如汽车驾驶证、居民身份证和数字身份标识。我们的安全团队正在努力完善此 API,通过使用安全硬件来保护和控制对数据的访问,从而确保身份凭据信息能够安全存储。与传统的纸质文档相比,该 API 可 增强用户的隐私。我们正在与各类政府机构和行业伙伴开展合作,以确保能够在 Android 11 上实现此类数字化优先的身份体验。
感谢各位开发者在我们不断提高隐私性和安全性的过程中所展现的灵活变通能力,以及提供的有效反馈。您可以访问 Android 11 Beta 版开发者网站,了解更多功能。您还可以了解有关 隐私 和 安全 的通用最佳做法。
作者:Android_开发者
链接:https://juejin.im/post/6870108347862319117