首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确保通过javascript可访问的脱机PC存储

确保通过javascript可访问的脱机PC存储
EN

Software Engineering用户
提问于 2014-07-23 02:28:20
回答 2查看 373关注 0票数 0

我正在尝试构建一个基于浏览器的HTML5应用程序,它能够在脱机时在PC (而不是移动设备)上本地存储数据。此数据是敏感的,必须是安全的。

当然,诀窍是设法找到一种能够使用Javascript访问安全数据的方法。

我已经排除了浏览器本地存储,因为它不安全。这能用一个本地数据库来完成吗?如果是的话,数据库凭据可以存储在哪里?显然,Javascript似乎不是一个很好的选择来存储它们,因为它的用户可读性。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2014-10-21 06:39:53

不幸的是,没有办法做在JavaScript中安全地加密。总结链接的要点:

  1. JavaScript没有安全的随机数生成器,也没有安全的密钥存储,这意味着它不能安全地生成或存储加密密钥。
  2. 没有办法保证浏览器本身不受损害。
  3. 如果没有SSL/TLS,就无法保证浏览器加载的数据或代码与服务器提供的数据或代码相同。

您可以加密服务器上的数据,然后通过SSL/TLS将数据发送给客户端。然而,一旦数据在那里,您需要一些东西来解密它,这需要存储密钥。不幸的是,没有办法安全地存储密钥。局部存储或特定于浏览器的系统(如chrome.storage )都不加密。

还有其他选项,包括ActiveX控件、Java、Adobe或Adobe应用程序。不幸的是,所有这些问题要么是它们自己的安全问题,要么是特定于平台的问题。您可以编写浏览器插件,但这些插件也是浏览器,有时是特定于平台的。

此数据是敏感的,必须是安全的。

有多安全?便利性或功能性通常高于安全性,因此您可能不得不考虑权衡,例如:

  1. 你能存储一些数据而不是更安全的部分吗?例如,如果存储客户联系人详细信息,则缓存非个人可识别信息(PII,如美国社会保险号码)的数据。
  2. 您是否需要特定的浏览器或平台?例如,如果大多数客户使用Windows,请考虑使用ActiveX控件或ClickOnce桌面应用程序。如果他们使用8+,你能在Windows商店上创建一个应用程序(尽管这个建议可能会让人有些发抖)?
  3. 数据经常变化,所以妥协的影响很小吗?

还请记住,安全存储并不是唯一需要考虑的问题。即使您解决了这个问题,如果数据不是通过SSL/TLS (因此可以在传输过程中查看或篡改)或使用弱或差的身份验证(例如未加密和未散列身份验证cookie),则没有必要安全地存储数据。类似地,给定对存储介质的物理访问,即使数据是加密的,也无法保护数据不受确定的、耐心的攻击者的攻击。

票数 0
EN

Software Engineering用户

发布于 2014-07-23 02:44:45

或者把数据存储在加密的cookie中?或者使用一个1x1像素的闪存应用,与javascript进行对话,做javascript无法做的事情,甚至可以使用"LocalConnection“与桌面上的flash应用程序进行对话,从而提供更多的桌面访问权限。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/250806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档