一文读懂安卓各版本隐私合规设计

2024-07-12 270 0

Android5.0/5.1

原生系统特点

  • 没有Dangerous Permissions的概念
  • 权限在声明文件中申明后,安装即可获得所有权限!!
  • 通常手机厂商自己会在应用使用权限时提示用户授权,用户拒绝时会替用户到设置中关闭权限
  • 如果用户关闭了该权限,应用又用到时可能会崩溃

dangerous权限

建议-不要用

  • 发布上线的APP,targetsdkversion不得小于23。安装后就获得所有权限,搁现在谁敢啊

Android6

原生系统特点

  • 开始区分普通权限和隐私权限,普通权限声明后直接授权,隐私权限声明后处于拒绝状态,使用时再申请开启,动态申请
  • 使用危险权限时应包含“manifest声明-判断状态 checkSelfPermission() 方法-请求 requestPermissions() 方法-处理请求后的结果”等部分。直接使用会崩溃
  • 危险权限共分为9组,某一个权限被授权后-requestPermissions()并获得同意,该组其他权限会自动拥有,无需requestPermissions()
  • 该版本下使用蓝牙权限(normal),必须声明位置权限(dangerous)并获得授权,才能搜索蓝牙设备(但位置权限不影响打开蓝牙)
  • 该版本下接收CONNECTIVITY_ACTION广播需要 CHANGE_NETWORK_STATE 权限才能接收(均为normal级)

dangrous权限
一文读懂安卓各版本隐私合规设计插图

建议-非要用也行

  • 非要用这个版本的话,使用危险权限需要说明目的,必须将同组下所有危险权限的使用目的都展示了
  • 可先弹目的说明弹窗,用户同意后再requestPermissions() 方法
  • 也可在系统弹窗前,弹一个纯文本弹窗(不需要遮罩层),注意布局和颜色,不互相遮挡,让用户看清即可

Android7.0/7.1

原生系统特点

  • 取消三个隐式广播,普通APP不能接收CONNECTIVITY_ACTION广播,ACTION_NEW_PICTURE和ACTION_NEW_VIDEO广播不再全局发送,只发到APP私有目录
  • 应用间不能通过file://URI的方式访问彼此的私有目录,如果必须,要通过FileProvider机制来操作

隐私权限

  • 危险权限的定义和安卓6没有区别

建议

  • 监听隐式广播会引起应用的自启动问题
  • 不需要监听的不要监听;必须监听的,需要在隐私政策说明目的,并解释可能引起的自启动情况
  • 同安卓6

Android8

原生系统特点

  • 8.1限制了通知的频率不得大于1次/秒,超过的自动进入发布队列
  • 应用被授予某个权限后,后续再申请requestPermissions()该权限组其他权限时将被系统自动同意,用户无感(注意和android6的区别)

隐私权限-新增
一文读懂安卓各版本隐私合规设计插图1

建议

  • 同上

Android9

原生系统特点

  • 后台运行的APP不能访问麦克风、摄像头和传感器事件
  • 必须授予 foreground_service权限(normal)后,才能使用前台服务,例如音乐、导航、通讯的应用需要
  • 将设备序列号纳入READ_PHONE_STATE权限(dangerous)管理,在此之前应用无需获得授权即可获取
  • 必须申明READ_CALL_LOG权限(dangerous),才可以获取来电和去电的电话号码,之前的版本不需要授权
  • wifi使用更严格,相关服务和广播中,不再会提供SSID\BSSID;
  • 应用执行wifi扫描时必须拥有ACCESS_FINE_LOCATION或 ACCESS_COARSE_LOCATION(dangerous)、必须有CHANGE_WIFI_STATE 权限(normal)、手机必须开启位置服务。

隐私权限-变更

  • 引入新的权限组CALL_LOG,拆分和新增PHONE权限组权限
    一文读懂安卓各版本隐私合规设计插图2

建议

  • 满足合规要求的最基础版本,也是当前使用最多的版本
  • 建议应用在设计时,多种方法均能满足使用目的时,采用隐私风险小的办法。例如能只使用粗略位置权限,就不要用精确位置权限;能使用用户输入信息就不要使用自动获取的信息

Android10

原生系统特点

  • 此版本开始,Andorid Beam功能无法使用(NFC一碰即传功能)
  • 分区存储,应用只能有权在自己的外置存储空间私有目录下读取和写入文件,该部分数据随着应用数据清除而删除。不强制(在此之前,应用在外置存储空间读写的文件都属于公有文件,应用清除数据时也不会删除此部分。例如之前应用可以直接在/storage/emulated/0下面存储,限制必须/storage/emulated/0/android/app/包名/files才可以)
  • 上述分区存储可以使用android:requestLegacyExternalStorage="true" 禁用
  • *应用必须有READ_PRIVILEGED_PHONE_STATE权限(特许权限)才可以获取到特许权限才能访问设备的不可重置标识符(包括 IMEI 和序列号),意味着普通应用在安卓10上无法获取到设备序列号IMEI等。在安卓9上使用 READ_PHONE_STATE可以获取

隐私权限

  • 新增和删除部分危险权限
  • 【删除】CALL_LOG 通话记录权限组:android.permission.PROCESS_OUTGOING_CALLS:处理拨出电话。

一文读懂安卓各版本隐私合规设计插图3

建议

  • 数据删除更符合规范,但系统最好在删除的时候提醒用户,会同时删除数据
  • 应用不要再去获取IMEI、MAC等不可变更唯一识别号了。即使返回值是null,也有可能导致监管认为收集了IMEI。应用没有实际收集却因为这个问题被处罚,多亏啊。

Android11

原生系统特点

  • 强制执行分区存储,android:requestLegacyExternalStorage="true" 无效
  • 新增后台位置访问权限 ACCESS_BACKGROUND_LOCATION 的单独申明(之前的安卓版本,应用获得前台位置权限时,自动获得后台位置信息访问权限)
  • 单次授权:新增位置信息、麦克风、摄像头临时访问权限(之前一旦授权即永久)
  • 限制频繁申请:用户拒绝两次相同权限的申请后,应用再次申请权限,系统将不再弹窗
  • 敏感权限重置:设备中多个月未使用的应用将会重置敏感权限授权

隐私权限

  • 部分函数方法中读取电话号码的权限有变化

一文读懂安卓各版本隐私合规设计插图4

建议

  • 20年发布的11,对后台采集数据、最小化收集数据、频繁打扰用户的合规实践友好
  • 敏感权限重置这个功能,有可能导致用户误以为应用“未经用户同意更改其设置的可收集个人信息权限状态”
  • 安卓10以下设备可以增加“权限重置”设置,让用户自行选择要不要重置
  • 安卓10以上应用可以向用户申请要或不要重置其权限

Android12

原生系统特点

  • 新增定位功能可选择性:如需准确位置,需要动态申请并开启模糊位置和精确位置两个权限;用户可以根据自身偏好选择模糊定位还是精确定位
  • 新增状态栏会显示使用麦克风、相机的使用状态,可一键启停
  • 新增剪切板使用申请
  • 获取安装的应用列表时需要申请android.permission.QUERY_ALL_PACKAGES、android.permission.GET_INSTALLED_APPS(安卓11只需要申明前一个)都是mormal,不需要动态申请,但在首次进入应用时会直接出现授权访问提示
  • 新增蓝牙权限为BLUETOOTH_SCAN、BLUETOOTH_ADVERTISE、BLUETOOTH_CONNECT(都是dangerous,之前在访问蓝牙相关接口时需要申请地理位置权限,使用户反感)
  • 系统通过监控应用使用情况来将应用设置到休眠状态以减少耗能,用户可以主动设置休眠

隐私权限
一文读懂安卓各版本隐私合规设计插图5

建议

  • 在苦恼麦克风、相机、定位的使用状态怎么展示的,在安卓12上无忧了。但还是建议应用在使用这些权限的时候有明确的界面变化,让用户感知到,毕竟不是所有用户都会用高版本系统
  • 剪切板使用有了申请,应用自身更应该设置使用剪切板时的目的说明
  • 这个版本大大减小了研发在隐私上的负担

Android13

原生系统特点

  • 细化管理外部存储:申请READ_EXTERNAL_STORAGE权限(dangerous)无效,新增管理手机照片、视频、音频文件的权限,READ_MEDIA_IMAGES、READ_MEDIA_VIDEO、READ_MEDIA_AUDIO(dangerous),按需申请
  • 新增发送通知权限post_notifications(dangerous)(之前是应用申明即授权)
  • 新增附近wifi权限NEARBY_WIFI_DEVICES(dangerous)(之前在使用wifi相关接口时需要申请地理位置权限,用户反感)
  • 剪切板中敏感信息脱敏:13中剪切板提供复制后预览功能;应用中,用户授权将密码等隐私信息复制到剪切板时,需在使用前添加标志以阻止敏感信息在内容预览中展示

隐私权限
一文读懂安卓各版本隐私合规设计插图6

建议

  • 权限细化管理,用什么申请什么,非常典型的一个优化
  • 剪切板中敏感信息脱敏展示值得一些安全性较高的应用借鉴

Android14

原生系统特点

  • 新增READ_MEDIA_VISUAL_USER_SELECTED权限(dangerous)实现照片选择器,只授权部分照片。和之前的读取权限一起申明一起发起请求

隐私权限
一文读懂安卓各版本隐私合规设计插图7

建议

  • 细化(IOS Android相互借鉴),高版本的隐私设计更全面,对于研发来说隐私成本负担小

最新dangerous权限大全

安卓14
一文读懂安卓各版本隐私合规设计插图8
一文读懂安卓各版本隐私合规设计插图9
建议

  • 对隐私权限的控制,按照安卓最新版本的dangerous来,虽然国内各要求和国标41391定稿了,但系统设计和隐私需求总是不断更新的

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论