安卓APP的开发:为了安全的设计

安卓APP的开发:为了安全的设计

安卓默认是为了安全和隐私而设计的.隐私方面的设计聚焦于最小化.

最小化权限请求,最小化位置读取,还有最小化跨APP的数据可见性.

为了安全的设计,遵循如下的最佳实践:加密,完整性和授权.

保护用户隐私

最小化权限请求

请求你的APP功能需要的最小的权限。

解释为什么在你的APP中的一个功能需要某一个权限

需要注意的是用户或者是系统能够多次地拒绝权限。

没有权限时要优雅地降级

取消对没有权限内容的读取

要弄清楚SDK需要的权限

最小化位置读取

关于一个用户的位置的数据是敏感的,如果可能的话,避免使用这个数据。

如果你必须使用位置服务,要采取措施最小化地采集位置数据。

没有位置数据时,优雅地降级

使用蓝牙或者是WiFi设备

当可行的时候,放宽位置数据的精确度

必要时仅在后台读取位置数据

不要从后台初始化前台服务。

最小化跨APP的数据可见性.

授权读取数据

声明需要的软件包的可见性

支持有作用域的存储

使用用户可重置的标识符

不要读取IMEI和设备序列号

安卓10及以上的设备,会抛出安全异常。

对于广告用途,仅使用一个广告ID

对于非广告用途,使用一个私域存储的GUID

在你的各个APP之间使用SSAID

声明你的APP的数据的用途

把敏感数据传到其它的APP时,采取安全措施。

在日志信息中不要包括敏感信息。

支持人脸隐私特性

为了读取敏感信息,提供一个隐私协议给用户看。让用户知情。

提示用户禁用APP的潜伏状态

因为当用户长期不和APP交互时,系统把APP置为潜伏状态。

把敏感信息传到其它APP时要用消息方式通知用户

可视化地显示你的APP正在录制音频或者是视频。

相关推荐
独行soc1 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
Clockwiseee3 小时前
php伪协议
windows·安全·web安全·网络安全
黑客Ash3 小时前
安全算法基础(一)
算法·安全
云云3213 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3213 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
xcLeigh4 小时前
网络安全 | 防火墙的工作原理及配置指南
安全·web安全
白乐天_n4 小时前
腾讯游戏安全移动赛题Tencent2016A
安全·游戏
光路科技5 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
saynaihe6 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka