我们的应用程序使用客户端/服务器架构,它在 Windows 上运行。
我们的用户需要通过http(或将来的https)使用用户名/密码登录客户端,然后获取他们的权限。
以前我们使用http 协议,所以客户端和服务器之间的契约已经被一些客户端观察到了。
现在,我们启用了 https(使用 Let's Encrypt)协议,但我仍然不知道它在避免用户入侵身份验证过程方面是否可靠。
这是我可以看到的使用假服务器破解协议的潜在方法:
- 在主机文件中创建一个 ip 到主机(真实主机名)的映射
- 制作一个使用上述 ip 的假 http 服务器,并提供与我们的服务器相同的身份验证 API。
客户端使用cpprestsdk发送 http 请求。
由于 web 服务器是公开的,用户可以使用 chrome 等浏览器轻松获取 ca,似乎使用wireshark 很容易拦截 https 请求/响应。
我的问题是我的假设是否有效?如果是这样,我该如何进行更多更改以防止在后续版本中出现这种情况。