聚焦 Android 11 : 隐私和安全
作者:
Android 隐私和框架产品主管 Charmaine D’Silva Android 隐私和框架工程主管 Narayan Kamath Android 安全产品主管 Stephan Somogyi Android 安全工程主管 Sudhi Herle
上期 #11WeeksOfAndroid 系列文章中内容我们介绍了联系人和身份,本期我们将聚焦隐私和安全。我们将为大家陆续带来 #11WeeksOfAndroid 内容,深入探讨 Android 的各个关键技术点,您不会错过任何重要内容。
#11WeeksOfAndroid https://twitter.com/search?q=%2311WeeksOfAndroid&src=typed_query
隐私和安全是我们设计 Android 的核心,随着每一个新版本的发布,我们都会加大这一方面的投入。Android 11 也持续在这些领域取得重要进展,本文中我们将分享有关 Android 隐私和安全的一系列更新和资源。但首先,让我们快速浏览一下 Android 11 中那些最为重要的更新,用以保护用户隐私并提高平台的安全性。
Android 11 将为用户提供对敏感权限的更多控制权。在 Android 11 的整个开发过程中,我们与开发者社区开展了密切的合作,在设计隐私相关的功能时保持了一定的平衡: 增进用户对隐私的控制权,同时尽可能减少对开发者的影响。让我们探索一下其中的部分功能:
在 Android 10 中,我们引入了精细的位置权限控制,让用户能够限制应用仅在使用时 (即仅在应用处于前台时) 访问位置信息。当系统显示新的运行时权限选项时,超过 50% 的情况下用户会选择仅允许应用在前台时访问位置。这一点证明用户确实想要更精细的权限控制。因此在 Android 11 中,我们引入了单次授权,通过该功能,用户可授权应用访问设备的麦克风、摄像头或位置信息,但该访问权限仅在授权当时有效。作为应用开发者,您无需对应用进行任何更改便可使其支持一次性权限,并且用户下次使用该应用时,应用可以再次请求权限。如需详细了解如何利用这些新更改构建隐私友好型应用,请查看相关技术视频。
单次授权
https://developer.android.google.cn/preview/privacy/permissions#one-time
相关技术视频
https://www.youtube.com/watch?v=MXlVj-EYgIQ&feature=youtu.be
在 Android 10 中,我们添加了后台位置使用情况提醒,以便用户定期查看应用使用此敏感数据的情况。用户收到并处理提醒时,在超过 75% 的情况下会降低应用的位置权限级别,或拒绝授予权限。此外,绝大部分要求在后台访问位置的应用用例都是不正当的。
在 Android 11 中,用户将无法再通过运行时提示授予后台位置权限,相反,该权限将需要通过更审慎的操作来授予。如果您的应用需要在后台访问位置,系统将确保该应用首先请求在前台访问位置。然后,该应用会单独向系统发送权限请求,随后系统会将用户带到 "设置" 中以完成权限授予,从而升级该应用权限,使其能够在后台访问位置。
我们曾在 2 月发布《更加安全透明的用户位置访问》,即 Google Play 开发者需要获得批准,其应用才能在后台访问用户位置,以避免位置数据被滥用。现在我们为开发者提供更长的时间来做出修改,在 2021 年之前我们不会强行要求既有的应用遵守本政策。请查看指导视频,找到您的代码中可能在后台使用位置的部分。
找到您的代码中可能在后台使用位置的部分
https://www.youtube.com/watch?v=xTVeFJZQ28c&feature=youtu.be
大多数用户倾向于在其设备上下载并安装 60 多个应用,但经常使用的只有总数的三分之一。如果用户很长一段时间未使用某适配 Android 11 的应用,系统将 "自动重置" 所有与该应用关联的已授予运行时权限,并通知用户。用户下次使用该应用时,应用可以再次请求权限。如果您的应用有正当的理由,需要保留权限,则可以提示用户在 "设置" 中关闭该功能。
自动重置 https://developer.android.google.cn/preview/privacy/permissions#auto-reset
即使在用户已向开发者授予权限的情况下,Android 仍鼓励开发者限制对敏感数据的访问。在 Android 11 中,开发者可以通过新 API,更清楚地了解自己的应用对私有数据和受保护数据的使用情况。使用该 API 后,应用可以跟踪系统何时记录到应用对私人数据进行了访问。
新 API https://developer.android.google.cn/preview/privacy/data-access-auditing
分区存储 https://developer.android.google.cn/training/data-storage#scoped-storage 管理外部存储 https://developer.android.google.cn/preview/privacy/storage#all-files-access 开发者文档 https://developer.android.google.cn/preview/privacy/storage
腾讯视频链接 https://v.qq.com/x/page/r31000ychm4.html Bilibili 视频链接 https://www.bilibili.com/video/BV1uz4y1R7iD
Google Play 系统更新最初作为 Project Mainline 的一部分随 Android 10 一起推出。这些更新的主要优势在于可以提高 Android 内部平台子系统的模块化程度和精细程度,这样一来用户无需设备厂商提供全量系统更新,便可直接通过 Google Play 更新核心操作系统组件。今年早些时候,在 Project Mainline 帮助下,我们得以快速修复媒体解码子系统中的一个关键漏洞。而 Android 11 为其添加了新的模块,同时保持了现有模块的安全属性。例如,可提供密码学原语的 Conscrypt 模块,在 Android 11 中同样能够通过 FIPS 验证。
Project Mainline https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html
开发者现在可以使用 BiometricPrompt API,来指定应用解锁或访问应用中敏感部分所需的生物识别身份验证器的强度。我们正计划将此 API 添加到 Jetpack 生物识别库中,以便实现向后兼容,并将随着这项工作的进行分享更多更新。
BiometricPrompt API https://developer.android.google.cn/preview/features#biometric-auth Jetpack 生物识别库 https://developer.android.google.cn/jetpack/androidx/releases/biometric
此 API 将解锁新的用例,例如汽车驾驶证、居民身份证和数字身份标识。我们的安全团队正在努力完善此 API,通过使用安全硬件来保护和控制对数据的访问,从而确保身份凭据信息能够安全存储。与传统的纸质文档相比,该 API 可增强用户的隐私。我们正在与各类政府机构和行业伙伴开展合作,以确保能够在 Android 11 上实现此类数字化优先的身份体验。
增强用户的隐私 https://www.brookings.edu/techstream/privacy-preserving-credentials-for-smartphones-are-coming/
感谢各位开发者在我们不断提高隐私性和安全性的过程中所展现的灵活变通能力,以及提供的有效反馈。您可以访问 Android 11 Beta 版开发者网站,了解更多功能。您还可以了解有关隐私和安全的通用最佳做法。
Android 11 Beta 版开发者网站 http://developer.android.google.cn/preview/ 隐私 https://developer.android.google.cn/privacy/best-practices 安全 https://developer.android.google.cn/topic/security/best-practices
更多精彩
Bilibili 播放列表
https://space.bilibili.com/64169458/channel/detail?cid=133709
YouTube 播放列表
https://www.youtube.com/playlist?list=PLWz5rJ2EKKc-Z8NeBXJkf1bzUVhx3fvh4
推荐阅读