移动应用 · 综合
设备上的本地存储与敏感数据
一句话: 假定设备会丢失或被攻破:本地存的东西应当最少、加密,并且可以远程吊销。
什么放在哪里
登录令牌和密钥属于操作系统的密钥库,而不是配置文件,也不是简单的键值存储。内容数据可以放在加密的本地数据库里。
完全不要存密码。存一个短期令牌,配上刷新机制。
远程吊销
当用户报告设备丢失时,必须有一条能作废其所有令牌的路径。如果令牌没有过期时间、服务端也没有记录,就没有办法做到——而这是设计阶段的决定,不是危机时刻的决定。
完全不该存的
完整的银行卡信息、身份证件,以及用户已经删除的内容。还有:不要把带个人信息的日志写进留在设备上的文件——它们会被崩溃报告收集,进而到达你没打算让它到达的地方。
深入一层
加密传输并校验服务器身份。在处理敏感信息的应用里,可以考虑对某些页面加生物识别锁,以及在一段时间未使用后自动清除本地数据。