EncryptedSharedPreferences 已死:你应该用什么替代
<h2>简介</h2><p>在Include Security,我们经常将应用代码中处理不当的敏感数据标记为安全与隐私相关的漏洞。虽然大多数安全专业人士都知道明文存储敏感数据的风险,但现代开发中存在一种更微妙的现象:以任何方式将敏感数据写入磁盘。<br><br>这种做法深深植根于历史软件工程,早期系统依赖磁盘持久化处理用户会话、软件许可和密码密钥等所有内容。然而,很快人们发现持久磁盘存储带来了持久风险,如取证恢复和未经授权访问,最终促使行业最佳实践尽可能避免使用。</p><p>尽管操作系统层面的保护措施如Android的文件加密和进程隔离沙箱技术有所进步,但不将敏感数据写入磁盘的总体原则对信息安全依然至关重要。<br><br>关于这些保护措施是否足够存在的误解,常常导致公认最佳实践的倒退,破坏我们过去辛苦建立的安全尽职调查,并使应用程序和系统暴露在影响机密性、完整性和可用性的威胁之下。</p><p>本文将探讨为何将数据保存到磁盘会带来不必要的风险,剖析Android存储系统的机制,并为您提供经过验证的保护应用数据的方法。此外,我们还将讨论关于Android的常见误解和误解,包括谷歌目前认为由于依赖设备加密和沙箱等操作系统保护,未加密的内部应用存储无需担心,以及推荐的替代方案,如Jetpack DataStore搭配Google Tink进行加密。</p><h2>常见的误解与虚假的安全感</h2><p>即使是经验丰富的开发者,在存储敏感数据到磁盘时也可能产生错误的安全感。关于操作系统保护、存储介质…</p> 



