HTML5离线单页应用程序(SPA)- 安全问题

3
我们希望构建一个离线可用的HTML5 SPA,其中包含敏感的商业数据。很可能会使用knockout.js!但我们确实有非常严格的安全问题。
那么加密呢?加密可能是可行的。但是适当的密钥也必须在(离线)客户端上。如果您在客户端上同时拥有算法和密钥,那么您也可以将其未加密地存储在本地存储中。
数据操作怎么办?使用类似Firebug等工具轻松操纵DOM或JavaScript对象。
我真的很喜欢knockout,但它并不适合真实的商业应用程序。
有什么建议吗?
1个回答

3

我并不是安全专家,但如果你使用js加密/解密客户端,难道不需要在客户端存储公钥和私钥吗?实际上这会使整个安全模型失效。

我认为一旦数据存在于客户端,就真的没有办法保证其完全安全,你必须信任浏览器保持状态私有化,但要想100%安全,你要么放弃网络,要么接受后果:在特定时间段之后重定向到一个页面或销毁状态,在客户端发送部分数据,并依靠服务器填充空白。从安全角度来看,所有网页都有离线功能,只要不关闭标签页。想象一下银行网站上的所有账户活动在页面上,我认为与离线js的安全性没有区别。

关于数据操作,这确实不是KO的“特点”,但JS可以进行相当高级的数据操作,而像linq.js这样的库使事情变得更加简单。虽然不如sql,但也值得尊重。

我认为KO非常适合实际业务应用程序。总的来说,浏览器/js/html可能并不适合你所追求的安全级别。

有些唠叨,希望这有所帮助。


是的。我想你说得对。但是,如果我们使用一个针对业务应用程序具备安全功能的移动设备管理系统,它会达到一个不同的层次。你同意吗?我认为加密就不再需要了,数据操纵也不可能在这个被隔离的环境中发生。这是一个仅适用于我们平板电脑的Web应用程序,不向公众开放。 - timmkrause
@tkrause - 如果网络应用程序已正确地保护到已知的平板电脑环境中,那么安全性当然就不是一个问题了。 - madcapnmckay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接