Cordova Android应用Local Storage安全性技术问询
Cordova Android应用Local Storage安全性详解
其他应用能不能访问Local Storage的数据?
- Android系统里,Cordova应用的Local Storage存在应用专属的沙箱目录,路径大概是
/data/data/[你的应用包名]/app_webview/Local Storage/。 - 正常情况下,Android的沙箱机制会彻底阻止其他无ROOT权限的应用访问这个目录——Cordova默认的配置是安全的,不会给其他应用留权限。
- 只有当设备被ROOT,或者你手动改了应用的文件权限(这种情况极少),第三方应用才有可能碰得到这些数据。
从应用外部获取Local Storage数据的难度有多大?
- 无ROOT设备:基本没可能。普通用户或没权限的应用根本突破不了Android的沙箱隔离,不用担心数据被随便窃取。
- ROOT设备:只要设备ROOT了,攻击者能直接进到沙箱目录里把Local Storage的SQLite文件捞出来,明文读里面的内容,这个操作没什么技术门槛。
- 物理接触设备:如果别人拿到你没锁屏的设备,而且开了USB调试还授权了连接的电脑,那对方能通过adb导出应用数据,但这属于物理安全问题,和Local Storage本身的机制没关系。
敏感数据的存储建议
- 要是存的是密码、隐私信息这类敏感内容,一定要加密后再存Local Storage。
- 可以用Cordova的加密存储插件,比如
cordova-plugin-secure-storage,或者自己写AES对称加密逻辑处理数据——就算数据被偷走,攻击者拿的也是密文,解不开就没用。 - 绝对别直接把明文敏感数据丢Local Storage里,尤其是你的应用要适配ROOT设备,或者担心设备被物理接触的情况。
内容的提问来源于stack exchange,提问作者gpwr
相关产品推荐
相关产品推荐

