0

我创建了 WCF 服务并通过 ssl 共享它。我对安全性知之甚少,但我很好奇为什么我可以在 httpAnalyzer 中将整个通信视为纯文本,即使 POST 是通过 https 发送的?

当我的客户端应用程序调用 wcf 服务时,我可以在嗅探器中看到它 - 密码等。

这是否意味着 SSL 仅适用于较低层 - 在传输数据时?所以每个邪恶的应用程序都可以嗅探客户端的通信,而加密只能保护我们免受中间人攻击?

4

2 回答 2

2

SSL 确实在比 HTTP 的“较低层”上工作。根据OSI 模型,SSL 工作在会话层,而 HTTP 工作在应用层。

大多数这些客户端 HTTP 分析器在浏览器中工作,分析应用层上的 HTTP 流量,然后再由 SSL 逻辑处理。所以看到纯 HTTP 请求是完全正常的。

关于安全性,安装在浏览器中的恶意应用程序确实可以读取流量。但是一旦被 SSL 层处理,恶意应用程序读取流量就会变得更加困难。

SSL 的工作原理是首先将服务器作为客户端验证给您。(我是否与我真正想与之交谈的人交谈)。由于您无法事先了解所有服务器及其证书,因此您使用一些众所周知的根证书,这些证书已预安装在您的操作系统上。这些用于检查某个服务器是否可能为众所周知的服务所知道。(我不认识你,但一些非常重要的服务器告诉我,你确实是你所说的那个人)。

此身份验证步骤独立于流量加密工作。没有程序可以通过“安装根证书”来解密任意 SSL 流。(如上所述,从您在其上安装操作系统的第一刻起,这些根证书就已经在您的机器上=)

但是,如果恶意程序能够让您相信您正在与合法服务器交谈,例如使用伪造的根证书,而不是实际与恶意软件交谈,它就能看到 SSL 流量的内容是什么。但是话又说回来,您是在与邪恶程序本身交谈,而不是您打算与之交谈的服务器。然而,HTTP 分析器并非如此

简而言之,这就是 SSL 的工作原理,希望能回答您的问题。

于 2013-06-02T14:10:29.473 回答
2

最有可能的 HTTP 分析器安装它自己的根证书,并拦截 SSL 流量,作为中间人工作。

于 2013-06-02T12:07:45.583 回答