我正在尝试构建一个基于浏览器的HTML5应用程序,它能够在脱机时在PC (而不是移动设备)上本地存储数据。此数据是敏感的,必须是安全的。
当然,诀窍是设法找到一种能够使用Javascript访问安全数据的方法。
我已经排除了浏览器本地存储,因为它不安全。这能用一个本地数据库来完成吗?如果是的话,数据库凭据可以存储在哪里?显然,Javascript似乎不是一个很好的选择来存储它们,因为它的用户可读性。
发布于 2014-10-21 06:39:53
不幸的是,没有办法做在JavaScript中安全地加密。总结链接的要点:
您可以加密服务器上的数据,然后通过SSL/TLS将数据发送给客户端。然而,一旦数据在那里,您需要一些东西来解密它,这需要存储密钥。不幸的是,没有办法安全地存储密钥。局部存储或特定于浏览器的系统(如chrome.storage )都不加密。
还有其他选项,包括ActiveX控件、Java、Adobe或Adobe应用程序。不幸的是,所有这些问题要么是它们自己的安全问题,要么是特定于平台的问题。您可以编写浏览器插件,但这些插件也是浏览器,有时是特定于平台的。
此数据是敏感的,必须是安全的。
有多安全?便利性或功能性通常高于安全性,因此您可能不得不考虑权衡,例如:
还请记住,安全存储并不是唯一需要考虑的问题。即使您解决了这个问题,如果数据不是通过SSL/TLS (因此可以在传输过程中查看或篡改)或使用弱或差的身份验证(例如未加密和未散列身份验证cookie),则没有必要安全地存储数据。类似地,给定对存储介质的物理访问,即使数据是加密的,也无法保护数据不受确定的、耐心的攻击者的攻击。
发布于 2014-07-23 02:44:45
或者把数据存储在加密的cookie中?或者使用一个1x1像素的闪存应用,与javascript进行对话,做javascript无法做的事情,甚至可以使用"LocalConnection“与桌面上的flash应用程序进行对话,从而提供更多的桌面访问权限。
https://softwareengineering.stackexchange.com/questions/250806
复制相似问题