前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >应用如何合理调用权限?绿标3.0安全标准解读(上)

应用如何合理调用权限?绿标3.0安全标准解读(上)

作者头像
软件绿色联盟
发布2022-03-31 15:00:15
9810
发布2022-03-31 15:00:15
举报

随着智能终端的普及,移动应用成了个人隐私泄露的重灾区,行业监管也日趋严格。截止目前,有超过70部法律法规涉及个人信息保护,上百款App因存在隐私安全隐患下架整改。应用安全体验已经成为产品设计的重中之重

软件绿色联盟自成立以来一直致力于构建绿色安全的软件生态,从兼容性、稳定性、性能、功耗和安全五个维度制定了《软件绿色联盟应用体验标准》(下文简称“绿标”),并通过自动化测试对符合标准的应用进行标记,以求为用户提供安全放心、运行流畅、稳定可靠、耗电合理和功能完整的应用体验。

随着绿标版本升级,对应用体验要求不断提升。绿标3.0安全标准对应用程序在用户权限申请(要求敏感权限动态申请,严格控制申请外部存储权限,禁止申请设备ID权限等)、使用行为(禁止持续在后台获取位置状态,禁止通过补丁进行应用程序升级等)以及隐私数据保护等方面提出了更高的要求。

绿标3.0安全标准解读系列文章,将从权限使用、代码防护和数据安全对“绿标3.0”安全标准进行全面解读。本文重点分享应用如何合理地使用权限。

应用权限分类

随着安卓版本的提升,系统对权限的管控也不断趋于严格。目前安卓应用权限主要分为正常和危险权限两类。

正常权限指的是对用户隐私或其他应用操作风险小的权限,这些权限的申请系统会自动授权,如:设置时区、联网权限等。危险权限指的是涉及用户隐私、或涉及用户数据和其他应用数据的权限,如联系人、位置信息等。危险权限的使用必须明确告知用户并获得用户授权。

危险权限列表

权限申请原则

应用在申请权限时应遵循最小化的原则:只申请业务功能所必要的权限,对业务不相关以及可有可无的权限不申请使用。

以下方记事本App为例,由于需要使用拍照录音等方式来协助记录,所以前面申请的三个权限是合理的,但通讯录、短信和通话记录的读取权限在实际业务中不必要,不符合最小化的原则,也无法获得绿色应用的认证。

权限申请说明

应用在申请权限时,必须对所申请的权限进行明确、合理的功能说明和使用场景说明,遵循合法、正当、必要原则,让用户清晰理解申请权限的必要性。不以改善服务质量、提升用户体验、定向推送信息、研发新产品等为由引导、误导用户授予非业务功能必须使用的权限。

权限申请的时机

应用应在恰当的时机进行权限申请,避免频繁弹窗对用户造成骚扰。对于应用核心功能所必须的权限,应在应用安装完首次启动时通过一次弹窗完成申请,对于其他非核心功能需要的权限,应在用户用到该功能时向用户提出申请。

敏感权限申请

应用不得申请直接拨打电话、发送短信的权限。只有在用户主动将应用注册为默认短信、电话程序的情况下,应用才可以向用户申请拨打电话、发送短信权限。对于其他需要拨打电话和发送短信的场景,可以通过调用系统拨号盘和短信的方式进行。

应用应严格控制位置权限的申请和使用,除了导航、运动类应用可以申请持始终访问用户位置权限,其他类型的应用仅可在使用时获取用户位置信息,禁止申请始终获取位置权限。

外部存储申请和使用

应用应严格控制外部存储权限,只有存在共享、下载、读取外部存储文件的功能时,才允许申请外部存储权限,其他场景禁止申请外部存储权限。合理的存储权限申请场景,包括但不限于以下几种:

  • 需要将应用内的照片、视频、音频等信息共享给其他应用使用,可以为其他应用展示,如拍照场景,需要存储图片或打开照片;
  • 需要获取照片、视频等功能信息,如设置头像时需要获取系统内的图片、发布朋友圈时,需要音乐或视频;
  • 下载文件场景,如浏览器从网络中下载文件到手机中;
  • 阅读器场景,打开本地的离线文件。

硬件标识符权限的申请和使用

由于设备标志符(例如IMEI)和用户ID有高度相关性,为了加强用户隐私保护,安卓10.0也不再提供READ_PHONE_STATE权限的申请。因此,应用应避免使用硬件标识符,改用其他可替代的方案。

由于禁止非系统应用访问硬件标识符将对应用数据统计、广告推荐、用户画像等业务场景造成影响,应用可以采用以下替代的方案:

① OAID(Open Anonymous Device Identifier):开放匿名ID,是可以连接所有应用数据的标识符,移动智能终端系统首次启动后立即生成,可用于广告业务。

② VAID(Vender Anonymous DeviceIdentifier):开放的设备标识 ,是指用于开放给开发者的设备标识符,可在应用安装时产生,可用于同一开发者不同应用之间的推荐。

③ AAID(Application Anonymous DeviceIdentifier):应用匿名设备标识符,是指第三方应用获取的匿名设备标识,可在应用安装时产生,可用于用户统计等。

允许用户拒绝权限申请

应用应允许用户拒绝某些权限的申请,不能在用户拒绝授予权限后出现强制退出、反复弹窗或通过通知胁迫用户授权的情况;且应用应保证与被拒绝权限无关的功能,用户能够正常使用。

权限申请频次合理

某个业务功能所需要的权限,在被用户拒绝授权后,在用户再次用到这个业务功能的时候,才再次发起引导用户开启权限,但总的引导开启权限次数不得高于3次,避免对用户使用应用产生干扰。

·END·

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件绿色联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档