我的理解是,使用https协议的网站数据在浏览器和服务器之间传输时会被加密。什么时候加密?
在登录表单中,我使用 Telerik Fiddler Web Debuger 捕获请求,我仍然看到明文密码。另一个问题,使用嗅探流量工具或代理的 IT 管理员可以捕获 HTTPS 请求并查看敏感值,不是吗?
那么数据什么时候会被加密呢?
我的理解是,使用https协议的网站数据在浏览器和服务器之间传输时会被加密。什么时候加密?
在登录表单中,我使用 Telerik Fiddler Web Debuger 捕获请求,我仍然看到明文密码。另一个问题,使用嗅探流量工具或代理的 IT 管理员可以捕获 HTTPS 请求并查看敏感值,不是吗?
那么数据什么时候会被加密呢?
这是一个有趣的问题。浏览器的网络库会在通过 HTTPS 发送请求时对数据进行加密。当通过 HTTPS 发送请求时,客户端(浏览器)将执行 TLS 握手以协商加密细节,然后发送加密数据。我假设您看到的明文密码在 Fiddler 的浏览器插件中,而不是在代理应用程序中。在检查特定请求时,您始终可以在浏览器的网络选项卡中看到网络请求信息/有效负载,包括清除密码。当通过 HTTPS 发送时,您将无法在代理拦截器以及像 wireshark 这样的嗅探器应用程序中看到纯文本的请求数据。正如您从 Telerik Fidler 的视频中看到的那样,它们仅显示 HTTP 请求。
您绝对可以设置一个能够检查 SSL 流量的代理(中间人代理)。这是在许多公司网络中完成的。为此,您将使用浏览器信任的 SSL 证书设置转发代理,然后允许代理解密来自浏览器的 HTTPS 请求并对其进行检查。
当通过 HTTP 发送数据时,可以嗅探数据,并且人们可以看到请求信息和有效负载。这就是人们应该始终通过 TLS 连接发送敏感数据的原因
更新:
此图显示通过 HTTPS 的客户端到服务器的连接。表单数据在通过 Internet 发送之前始终是加密的
此图像来自SonicWall SSL 控制