我们正在构建一个使用indexedDb在客户端存储数据的离线Web应用程序。数据将离线存储,当有网络时,它会将此数据同步到服务器。
问题
我们正在使用aes来加密indexedDb中的数据,但我们不确定如何在客户端管理加密密钥。似乎没有办法在javascript中维护加密密钥,而没有任何可以使用开发工具的人都可以使用它。我们不能依赖服务器,因为应用程序可能无法连接到服务器数周。
有没有人对如何在客户端安全地管理此加密密钥有任何想法?
答案 0 :(得分:1)
AFAIK对离线存储的信息没有100%的安全性。但是,通过缩小和混淆JavaScript文件,您可以给黑客/破解者带来非常艰难的时间。
示例:
http://dean.edwards.name/packer/
http://www.danstools.com/javascript-obfuscate/index.php
如果您不想在线提交有价值的算法,请尝试搜索离线工作的缩小/混淆工具。
希望,这个答案可以帮到你。