针对https服务器授权用户是否安全?

时间:2017-09-16 15:34:09

标签: apache http security https cpprest-sdk

我们的应用程序使用客户端/服务器架构,它在Windows上运行。

我们的用户需要通过 http(或将来的https)使用用户/密码登录客户端,然后获取他们的权限。

以前我们使用 http协议,因此一些客户已经可以观察到客户端和服务器之间的合同。

现在,我们启用了https(使用Let的加密)协议,但我仍然不知道它是否可靠,以避免用户入侵身份验证过程。

以下是我可以通过使用假服务器破解协议的潜在方法

  1. 在主机文件
  2. 中创建一个ip to host(真实主机名)映射
  3. 制作使用上述ip的假http服务器,并提供与我们的服务器相同的auth API。
  4. 客户使用 cpprestsdk 发送http请求。

    由于Web服务器是公共的,因此用户可以使用Chrome之类的浏览器轻松获取ca,似乎很容易通过使用wireshark拦截https请求/响应。

    我的问题是我的假设有效吗?如果是这样,我怎样才能进行更多更改以防止在更进一步版本中出现这种情况。

1 个答案:

答案 0 :(得分:0)

您的问题是有效的,https很容易受到中间人攻击(MITM)。您需要使用HTTP Public-Key-Pins响应头。它将特定加密公钥与特定Web服务器相关联,以降低使用伪造证书进行MITM攻击的风险。如果一个或多个密钥被固定且服务器未使用它们,则浏览器将不接受该响应为合法,并且不会显示该响应。 您可以在此处阅读详细信息 - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Public-Key-Pins