gpt4 book ai didi

java - 加密文件或字符串安全 android

转载 作者:行者123 更新时间:2023-11-29 05:47:52 26 4
gpt4 key购买 nike

我目前在我的应用程序中遇到安全问题。我的应用程序每 10 分钟记录一次用户的 GPS 位置,并在 12 小时后将数据发送到服务器。我目前正在将用户的位置保存在内存中的 *.txt 文件中。现在,我需要保护此文件,以便它只能在我的应用程序中进行编辑,这样用户就无法破解它并更改记录的 gps 位置。

我读过有关加密字符串或文件本身的内容,但这是我的问题。整个 stackoverflow 的人都不建议对密码进行硬编码,即使使用代码混淆也是如此。我还能如何保护此文件上的数据?自己使用 ProGuard + 代码混淆(位移位、数学运算等)不足以将密码保存在我的代码中?任何评论表示赞赏,我需要这是安全的,因为数据必须保持不变。谢谢!!

最佳答案

如果密码在内存中,即使未加密/混淆,如果用户知道他们在做什么,它也可以恢复和/或滥用。

要解决此问题,您应该让应用程序从服务器请求一个 key 以用于加密。 key 本身应该使用 SSL 加密/签名,以便您可以保证您的服务器发送了 key ,并且 key 不会在此过程中被拦截。立即从内存中清除 key ,使其不会保留在设备上。

这个解决方案仍然不是万无一失的。用户可以对应用程序进行逆向工程并告诉它使用任何旧 key 。只要您将坐标存储在设备上,它们就会以某种方式受到攻击。使用我刚才描述的技术,攻击者仍然可以欺骗 GPS 源,或使用重播攻击。为防止这种情况,您需要为每次保存使用不同的 key ,并在服务器上跟踪 key 的应用顺序。

更安全的方法是根本不在设备上存储位置。一旦它们可用,请尽快上传它们,使用加密/签名 SSL 方法来防止篡改。在服务器上对它们进行完整性检查以排除不良的欺骗作业。当信任来自设备的数据(例如 GPS 坐标)时,您将面临被聪明的攻击者操纵的风险。

关于java - 加密文件或字符串安全 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15142960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com