关于对应用数据使用加密的简单问题。
假设您有移动应用,此应用需要存储一些可能敏感的数据。在这种情况下,需要隐藏的公司IP地址列表。
显而易见的答案是使用用户密码的哈希进行加密。但是,在这种情况下,用户帐户是可选的,因此密码可能不存在。加密商店数据的下一个最佳方法是什么?
我的第一个猜测,可能是安全性最低的是应用程序中内置的一个密钥,但这里的问题是可能会看到密码恢复的不同攻击的风险。
接下来猜测会找到某种可用作密码生成器种子的设备标识符。再次看起来似乎是一种有缺陷的方法。
最后一个想法是安全地随机生成密码并使用上述方法之一加密存储。
我是否遵循了正确的思路或离开了?
我对加密算法有一个很好的理解,但找到合适的应用程序让我摸不着头脑。任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
重点是:只要您的数据仅驻留在移动设备上,最终您就会受到限制。从这个意义上说:如果你需要以安全可靠的方式存储信息,那么你应该考虑一个服务器端"溶液
如果不可能,那么下一个最好的方法就是让您的应用询问用户输入一个不同的密码 - 然后将其用作问题中所述的密钥。您绝对不需要适用于所有用户/设备的单个通用密钥。
但当然 - 要求用户每次想要使用该应用程序时都要输入一个特殊密码,这不是用户喜欢的解决方案。因此,您必须提供用户以某种方式存储该密码 - 这再次增加了潜在攻击的范围。
长话短说:没有"遥控"服务你只需要平衡"用户体验" "足够的安全性"。根据您的用户设置,您必须确定对这些人更重要的是什么 - 安全性或便利性。
答案 1 :(得分:-1)
接下来猜测会找到某种可用作密码生成器种子的设备标识符。再次看起来像是有缺陷的。 ---?
您可以使用ANDROID_ID或UUID的哈希值代替密码来加密它
您对此有何看法?