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

HTML5离线单页应用程序(SPA)-安全问题,html,knockout.js,single-page-application,Html,Knockout.js,Single Page Application,我们希望利用敏感的业务数据构建一个具有离线功能的HTML5 SPA。 最有可能使用knockout.js 但我们有非常严重的安全问题 加密呢?加密是可能的。但适当的密钥也必须位于(脱机)客户端。如果您在客户端同时拥有这两种算法和密钥,您还可以将其未加密地存储在本地存储器中 数据操作呢?使用Firebug等工具很容易操作DOM或JavaScript对象 我真的很喜欢knockout,但对于现实世界的商业应用程序来说,它并不合适 有什么建议吗?我不是安全专家,但如果您使用js加密/解密客户端sde,

我们希望利用敏感的业务数据构建一个具有离线功能的HTML5 SPA。 最有可能使用knockout.js

但我们有非常严重的安全问题

加密呢?加密是可能的。但适当的密钥也必须位于(脱机)客户端。如果您在客户端同时拥有这两种算法和密钥,您还可以将其未加密地存储在本地存储器中

数据操作呢?使用Firebug等工具很容易操作DOM或JavaScript对象

我真的很喜欢knockout,但对于现实世界的商业应用程序来说,它并不合适


有什么建议吗?

我不是安全专家,但如果您使用js加密/解密客户端sde,您不需要在客户端同时存储公钥和私钥吗?有效地中和您的整个安全模型

我认为,一旦你拥有了客户端数据,就真的没有办法保证它的完全安全,你必须信任浏览器,让国家保持私有,但要真正做到100%的安全,你要么放弃网络,要么通过重定向到某个页面或在特定时间段后破坏你的国家来承受后果,将部分数据发送到客户端,并依靠服务器端进行填空。在某种意义上,如果不关闭选项卡,所有网页都可以脱机。想想你的银行网站,页面上有你所有的账户活动,从安全角度来看,我看不出这和离线js有什么区别

Re:数据操作,这真的不是一个KO“特性”,但是JS允许你做非常高级的数据操作,像linq.JS这样的库让事情变得非常简单。不完全是sql,但仍然值得尊敬

我认为KO对于现实世界中的商业应用是绝对正确的。更广泛地说,浏览器/js/html可能不适合您所追求的安全级别


有点咆哮,希望这有帮助。

是的。我想你是对的。但是,如果我们使用一个移动设备管理系统,它将达到一个不同的水平,该系统为商业应用程序提供现成的安全性。你同意吗?我认为不再需要加密,在这种沙盒环境中,数据操作是不可能的。这是一个仅在我们的平板电脑上可用的web应用程序,不可供公众使用。@tkrause-如果web应用程序被正确地保护到已知的平板电脑环境,那么安全性当然就不那么重要了。