我正在创建一个Android应用程序,在该应用程序中首次使用电话号码验证(与Whatsapp中的情况相同)。当电话号码得到验证成功后,我希望以不能被用户更改/更改的方式存储号码。默认情况下,Android(SQLlite)中的数据以文本格式存储在存储上,可以由用户编辑。我想消除这个缺点。我应该使用SQLCipher来存储它吗?或者有没有其他的方式来存储它? 还是有谁知道Whatsapp使用哪种技术来存储这种类型的敏感信息?如何在Android数据库中安全地存储数据
1
A
回答
0
0
从the Android Security Tips article逐字引用:
默认情况下,您在internal storage创建文件只能访问到你的应用程序。这种保护由Android实施,对于大多数应用程序而言已足够。
对于IPC文件,通常应避免使用MODE_WORLD_WRITEABLE
或MODE_WORLD_READABLE
模式,因为它们不提供限制对特定应用程序的数据访问的能力,也不提供对数据格式的任何控制。如果您想与其他应用程序进程共享数据,则可以考虑使用content provider,该应用程序为其他应用程序提供读取和写入权限,并可以根据具体情况制定动态权限授予。
要为敏感数据提供额外的保护,您可以选择使用应用程序无法直接访问的密钥来加密本地文件。例如,可以将密钥放置在KeyStore
中,并使用未存储在设备上的用户密码进行保护。虽然这不能保护数据免受可能监视用户输入密码的根本危害,但它可以为没有file system encryption的丢失设备提供保护。
另请注意,在external storage上创建的文件(如SD卡)是全局可读写的。由于外部存储可以由用户删除,也可以由任何应用程序修改,因此您不应该使用外部存储来存储敏感信息。
最后,this SO question (Android Secure Storage)可能会让你感兴趣。
相关问题
- 1. Android中的安全数据库存储
- 2. 安全地存储数据
- 3. Android安全地存储用户数据
- 4. 如何安全地存储MySQL数据?
- 5. android安全数据存储
- 6. 如何在Python中安全地存储数据库密码?
- 7. 如何安全有效地将SSN存储在数据库中?
- 8. 如何安全地在数据库中存储密码?
- 9. 如何安全地将数据存储在Android设备中?
- 10. 如何在phonegap android中安全地存储json数据?
- 11. 在Android中存储安全数据
- 12. 如何将敏感数据安全地存储在MySQL数据库中?
- 13. 数据库凭据的安全存储
- 14. 在iOS上安全地存储数据
- 15. 在数据库中存储数据的安全方式
- 16. 在android数据库中存储数据
- 17. 如何在android数据库中存储
- 18. 将帐户余额安全地存储在数据库中?
- 19. 将公钥/私钥安全地存储在数据库中
- 20. 如何使用React Native在iOS中安全地存储数据?
- 21. 使用Symfony安全地将用户数据存储在数据库中
- 22. 如何将安全凭证存储在数据库中
- 23. 如何保存在数据库中laravel 5.1安全的数据?
- 24. 存储的数据安全
- 25. 安全地将Android Firebase身份验证用户存储在MySQL数据库中
- 26. 如何使用存储函数安全地检索sql数据
- 27. 如何在sqlite数据库中存储统一地形数据?
- 28. 如何有效地在数据库中存储多个数据?
- 29. 如何安全地将可疑SQL注入攻击存储在数据库中?
- 30. 如何在数据库中将数据存储到数据库
我得到了你的答案。但问题是我只想安全地存储一个10位数的电话号码。我不需要任何大型数据库。我应该如何安全地存储10位整数值? –
访问此链接,它有关于如何密码秘密数据的详细说明:http://android-developers.blogspot.co.il/2013/02/using-cryptography-to-store-credentials.html –