【问题标题】:HTML5 Offline Single Page Application (SPA) - Security ConcernsHTML5 离线单页应用程序 (SPA) - 安全问题
【发布时间】:2012-05-21 18:17:44
【问题描述】:

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

但我们确实存在严重的安全问题。

加密呢?加密可能是可能的。但是适当的密钥也必须在(离线)客户端上。如果您在客户端同时拥有算法和密钥,您还可以将其未加密地存储在本地存储中。

数据操作呢?使用 Firebug 等工具可以轻松操作 DOM 或 JavaScript 对象。

我真的很喜欢淘汰赛,但它不适合现实世界的商业应用程序。

有什么建议吗?

【问题讨论】:

    标签: html knockout.js single-page-application


    【解决方案1】:

    我不是安全专家,但是如果您使用 js 来加密/解密 client-sde,您是否不必在客户端存储公钥和私钥?有效中和您的整个安全模型。

    我认为,一旦您拥有数据客户端,就真的无法保证其完全安全,您必须信任浏览器来保持状态的私密性,但要真正做到 100% 安全,您要么必须放弃网络,要么继续生活其后果是在特定时间段后重定向到页面或破坏您的状态,将部分数据发送到客户端并依靠服务器端来填补空白。从某种意义上说,如果您不关闭选项卡,所有网页都可以离线使用。想想你的银行网站,页面上有你所有的账户活动,从安全的角度来看,我认为它和离线 js 没有区别。

    Re: 数据操作,这确实不是一个 KO “功能”,但 JS 允许您进行非常高级的数据操作,而像 linq.js 这样的库使事情变得更加容易。不完全是 sql,但仍然值得尊敬。

    我认为 KO 绝对适合实际的业务应用程序。更广泛地说,浏览器/js/html 可能不适合您所追求的安全级别。

    有点啰嗦,希望对你有帮助。

    【讨论】:

    • 是的。我想你是对的。但是,如果我们使用带有开箱即用的业务应用程序安全性的移动设备管理系统,它就会达到不同的水平。你同意吗?我认为不再需要加密,并且在这个沙盒环境中不可能进行数据操作。这是一个仅在我们的平板电脑上可用的网络应用程序,对公众不可用。
    • @tkrause - 如果 Web 应用程序被正确地保护到已知的平板电脑环境,那么安全性肯定不是问题。
    猜你喜欢
    • 2011-10-10
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2015-11-12
    • 2013-04-02
    相关资源
    最近更新 更多