使用App渐渐成为日常生活的一部分,而“系统权限”作为App收集个人信息的主要方式之一,它的申请及使用的合规性也越来越受到重视。本文将对《41391》的6.5.1权限申请章节进行逐条解读,并举例分析App申请打开系统权限时应注意哪些问题。

1 前言

2022年4月15日,国家市场监督管理总局、国家标准化管理委员会发布 “《信息安全技术 移动互联网应用程序(App)收集个人信息基本要求》(GB/T 41391—2022)”标准(以下简称《基本要求》),该标准适用于App运营者规范其个人信息收集活动,规定了App收集个人信息的基本要求,给出了常见服务类型App必要个人信息范围和使用要求。

2 条款解析

6.5.1 系统权限-权限申请

a)

应仅声明和申请实现App服务目的最小范围的系统权限,不应申请与App业务功能无关的系统权限;

条款解析:

1、使用App过程中,仅向用户申请打开App业务功能实际需要的敏感权限;

2、仅在配置文件中声明App业务功能实际需要的敏感权限。

b)

在用户未使用相关业务功能时,不应提前申请与当前业务功能无关的权限;

条款解析:当用户使用到具体业务功能时,App才申请打开所需的相应权限,不提前索取与当前业务功能无关的权限。

c)

申请权限时应同步告知用户权限申请目的,目的应明确具体且易于理解,不包含任何欺诈、诱骗、误导用户授权的描述;

条款解析:申请打开敏感权限时,需同步告知用户其业务目的,目的描述应真实、明确、易于理解,让用户在明确知晓申请目的的情况下自主选择授权。

d)

不应以捆绑方式要求用户一次性同意打开多个系统权限;注4:安卓App 的目标API等级低于23(targetSdkVersion<23)属于捆绑授权的常见情形。< p="">

条款解析:App的目标设备SDK版本(即targetSdkVersion值)应≥23,不要求用户一次性同意打开多个权限。

e)

如操作系统支持,申请相机、位置、麦克风等可收集个人信息权限应向用户提供单次授权的选项;

条款解析:若操作系统支持,应向用户提供单次授权的选项;

f)

如用户拒绝或撤回同意系统权限授权,宜为用户提供无需系统权限亦可实现业务功能的替代解决方案。

条款解析:建议向用户提供拒绝权限申请后也能实现业务目的的替代解决方案。

3 哪些是“可收集个人信息的权限”?

首先我们需要知道,并非所有权限都需要满足以上合规要求,我们关注的是那些“可收集个人信息”的敏感权限。因手机系统不同,Android的可收集个人信息的权限范围与iOS的范围也不相同——

●Android:日历、通话记录、相机、通讯录、位置、麦克风、电话、传感器、短信、存储、身体活动等;

●iOS:日历、提醒事项、相机、麦克风、通讯录、健康、位置、媒体库、运动与健身、照片等。

(详细可收集个人信息的权限见《基本要求》附录D)

4 检测思路

App申请权限应遵循目的明确、选择同意、最小必要的基本原则,《基本要求》的6.5.1章节分别对系统权限申请的范围、时机、申请时的行为及拒绝申请后的行为做出了具体要求:

■申请的范围——不应声明或申请无关权限;

■申请的时机——不应提前申请与当前业务功能无关的权限;

■申请时的行为——不应一次性捆绑授权;申请时应同步告知目的,目的描述应真实、准确、易于理解;若系统支持提供单次授权;

■拒绝后的行为——应提供无需权限的替代解决方案;

具体检测思路如下:

(一)检查App是否声明或申请与App业务功能无关的权限。

遍历App业务功能,记录所有向用户申请打开的系统权限,结合隐私政策、申请时的目的告知及App功能界面,检查申请打开的系统权限是否均存在相应的业务目的,以此判断有无申请打开与App业务功能无关的权限。

查看App声明权限的配置文件(安卓为AndroidManifest.xml文件,iOS为Info.plist文件),检查App声明了的敏感权限是否均在功能遍历过程中触发动态申请,以此判断有无声明与App业务功能无关的权限。

图:通过工具扫描,得到该App在AndroidManifest.xml中声明的敏感权限列表

(二)检查App是否提前申请与当前业务功能无关的权限。

遍历App业务功能,检查所有申请打开系统权限的时机,是否为“使用到具体业务功能时,才申请打开所需的相应权限”,是否存在未使用到某业务功能就提前索取该业务功能需要的权限。

(三)检查App的targetSdkVersion值是否<23。

targetSdkVersion值对应着App开发时设置的API等级,23对应的是安卓系统6.0版本。自6.0版本开始才提供动态权限申请机制,需要在APP运行过程中向用户动态申请打开敏感权限。低于6.0的安卓系统允许App一次性申请所有可能用到的权限。因此,App的targetSdkVersion值≥23,便不存在一次性申请打开多个系统权限的情况。

不合规示例:该App的targetSdkVersion值为22,在安装时要求用户一次性授权

(四)检查申请打开敏感权限时,是否未同步告知目的,或目的描述不明确、难以理解,存在诱骗、误导用户授权的情况。

遍历App业务功能,检查在申请打开系统权限时,有无同步向用户说明当前功能场景申请该权限的业务目的。检查目的的描述是否明确、易于理解,是否与当前实际的业务场景相符,有无存在欺骗、诱骗、误导用户授权的描述。

因手机系统不同,申请系统权限的弹窗表现也不同。比如在iOS系统中,系统权限弹窗上的文字是可编辑的,可以直接在系统权限弹窗中说明申请目的。若在Android中系统权限弹窗无法编辑,或在iOS中同一权限在不同功能对应不同业务目的,则需要另写一个弹窗或提示,来说明当前功能场景申请该权限的业务目的。

合规示例:申请打开位置权限时,同步告知用户目的

(五)若操作系统支持,向用户提供单次授权的选项。

从Android 11开始,申请位置、麦克风或相机权限时,系统权限弹窗中提供了“本次运行允许”的选项,用户可通过点击该选项向App进行单次授权。

在iOS 13中,将位置权限“始终允许、使用应用期间、永不”三个选项中的“始终允许”改为“允许一次”,为用户提供单次的临时授权。

图:安卓系统权限弹窗中提供单次授权的选项

(六)建议提供无需权限也可实现业务目的的替代解决方案,使得用户在拒绝权限申请后依然可通过其他方式实现业务目的。

【举例1:拨打电话权限】在“联系客服”功能申请打开“拨打电话权限”,不应将此权限作为该功能的必要权限,可以通过向用户告知客服号码、复制号码跳转拨号盘等方式作为替代解决方案,让用户在不授权的情况下,也可实现业务目的。

【举例2:位置权限】在查看附近商家、填写地址的功能,虽可申请位置权限用于快速确定用户位置,但也应允许用户拒绝授权,为用户提供手动选择位置或填写地址的替代解决方案。

5 合规思路

在《基本要求》发布之前,已经存在很多法律法规发文对App申请打开权限这一行为做出多方面的合规要求,在各监管机构的日常监管中“系统权限申请”也一直都是检查重点。

发文名称

“申请系统权限”相关要求

网信办191号文《App违法违规收集使用个人信息行为认定方法》

二-3. 在申请打开可收集个人信息的权限,或申请收集用户身份证号、银行账号、行踪轨迹等个人敏感信息时,未同步告知用户其目的,或者目的不明确、难以理解;

三-2. 用户明确表示不同意后,仍收集个人信息或打开可收集个人信息的权限,或频繁征求用户同意、干扰用户正常使用;

四-1. 收集的个人信息类型或打开的可收集个人信息权限与现有业务功能无关;

四-2. 因用户不同意收集非必要个人信息或打开非必要权限,拒绝提供业务功能。

164号文《工业和信息化部关于开展纵深推进APP侵害用户权益专项整治行动的通知》

三-(二)-5. APP强制、频繁、过度索取权限。重点整治APP安装、运行和使用相关功能时,非服务所必需或无合理应用场景下,用户拒绝相关授权申请后,应用自动退出或关闭的行为。重点整治短时长、高频次,在用户明确拒绝权限申请后,频繁弹窗、反复申请与当前服务场景无关权限的行为。重点整治未及时明确告知用户索取权限的目的和用途,提前申请超出其业务功能等权限的行为。

292号文《工业和信息化部关于开展信息通信服务感知提升行动的通知》

二-(一)-3. 优化权限调用展示方式。涉及调用用户终端中相册、通讯录、位置等敏感权限的,还应当以适当方式告知用户调用该权限的目的,充分保障用户知情权。

图:工信部、网信办分别依据164、191号文对违规App进行通报处理

综合来看,App若想在系统权限申请上做到合规,首先要梳理出App各业务功能申请使用权限的情况,确定实际使用到的敏感权限范围,确定各功能申请使用权限的目的。在此基础上,仅在App文件中声明实际会用到的敏感权限,无业务功能所需的权限做到不声明、不申请。业务功能有关的权限,应在用户点击具体功能后,才触发申请相应的权限,做到仅申请当前业务功能所需的权限,不提前索权。业务功能相关的权限又可以分为必要权限和非必要权限,若申请的权限为非必要权限,用户拒绝非必要权限后不应影响用户使用该业务功能,且除用户主动触发外,48小时内不能再次申请该权限,否则为频繁索权。建议向用户提供拒绝权限后仍可实现业务目的的替代解决方案。

6 结语

如今,对于App申请使用权限的相关规定、标准等仍在逐步完善和细化,对其的相关检测和评估工作也在逐步深入,这就对广大App运营者提出了更高的要求。“扬汤止沸不如釜底抽薪”,App运营者对于App系统权限申请及使用的合规整改还是要尽早行动起来。

(本文作者:北京梆梆安全科技有限公司 吴飏、朱凯)

声明:本文来自CCIA数据安全工作委员会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。