我正在为一家网络开发公司工作,并且在应用未连接到互联网时负责保护应用或任何其他内容,这意味着HTTPS
以上的标准登录协议不适用。< / p>
我为公司工作的公司在为互联网连接不良的“路上”申请工作。出于每个人都能理解的原因,用户必须能够“锁定”应用程序并且能够解锁。最好使用他们在线时登录时使用的密码(他们会获得一个安全的cookie,在与网络服务器联机时对其进行身份验证)。
现在我需要有人检查密码,而不让黑客轻松查看websql/indexdb/local
存储空间并在那里找到它。将其存储为简单的哈希很容易被黑客入侵。
我想把它保存在盐水中但是它被黑客攻击只是时间问题,也想到了哈希部分密码(比如最后4个字符)和盐。如果它确实变得彩虹,他们只是解锁应用程序而没有密码。
我似乎无法找到保护脱机HTML5
应用的良好和/或标准化方法。但有最佳做法吗?
另一个问题是离线存储本身中数据的安全性,以便只有应用程序才能读取它。我可以想出让数据“不可读”的方法,但是我能够安全地存储记录的所有方法我也可以提出一种方法来破解它。所以在这个领域的任何建议也是受欢迎的。
答案 0 :(得分:1)
赞ovanwijk
建议:我认为只存储(盐渍)哈希就足够了。对于用户解锁屏幕他/她在密码短语中清除类型,它将被散列并且必须与存储散列匹配。这可以用来加密数据。幸运的是斯坦福为JavaScript创建了一个非常好的加密库:http://crypto.stanford.edu/sjcl
遗憾的是,在浏览器中,网站无权访问,但没有其他人访问。想一想:如果有一个地方你可以打开调试工具并注入一些代码来访问它。由于JS安全性只是一个研究问题,因此没有标准解决方案来解决这个问题......