【问题标题】:Encrypting data on application layer, on top of ssl在 ssl 之上的应用层加密数据
【发布时间】:2011-10-22 00:22:29
【问题描述】:

我正在开发应该通过 https 传输数据的网站和应用程序(iOS 和 Android)。我不希望应用程序客户端拦截这些服务器消息,但我想在应用程序 itelf 中解密该数据。 所以:请求后,加密消息(最多 400kb 消息)(第一次加密),通过 https 发送(ssl 加密)(第二次加密)。 收到解密 ssl 后,在客户端级别解密加扰消息。 (我不希望某些机器人伪装成我的应用程序通过 https 嗅探我的数据库)。 你认为我应该如何解决这个问题?

https 可以,我的意思是,但如果有人发送请求而不是应用程序,那么整个事情将毫无用处,因为我想保护数据库数据。

有什么建议吗?想法?

谢谢

【问题讨论】:

    标签: encryption ssl https


    【解决方案1】:

    这里只需要带有客户端身份验证的 HTTPS/SSL。添加第二层加密实际上并没有增加任何安全性。客户端的 PKI 身份验证确实如此。

    【讨论】:

      【解决方案2】:

      正如 EJP 所说,SSL 客户端身份验证会有所帮助,但它要求您的应用包含嵌入式私钥,如果有人真的想要您的数据,他们可以分析您的应用并提取该密钥。

      这不是您可以完全解决的问题:您的服务器无法可靠地区分真正的客户端应用程序和由对真实应用程序进行逆向工程以模仿它的人设计的假冒应用程序。

      根据应用程序,您可能能够将部分工作转移到服务器端。换句话说,不要将原始数据暴露给应用程序,只暴露应用程序允许显示的部分。这样一来,攻击者就无法通过欺骗应用程序来获得任何他们仅使用真实应用程序无法获得的东西。

      【讨论】:

        【解决方案3】:

        我实际上想出了加密请求而不是响应的想法。 这样用户就不能欺骗并向数据库发送请求。 我只是认为再次进行加密可能会做得太多而太少。

        【讨论】:

          猜你喜欢
          • 2011-09-21
          • 2011-10-15
          • 1970-01-01
          • 2013-12-24
          • 2015-03-15
          • 2021-01-17
          • 1970-01-01
          • 2021-07-27
          • 2015-12-03
          相关资源
          最近更新 更多