我已经创建了WCF服务,我通过ssl分享它。我对安全性知之甚少,但我很好奇为什么我可以在httpAnalyzer中看到整个通信作为纯文本,即使POST是通过https发送的?
当我的客户端应用程序调用wcf服务时,我可以在sniffer中看到它 - 密码等。
这是否意味着SSL只能在较低层运行 - 同时传输数据?因此,每个邪恶的应用程序都可以嗅探客户端的通信,加密只能保护我们免受中间人的攻击?
答案 0 :(得分:2)
最有可能的HTTP分析器安装它自己的根证书,并拦截SSL流量,作为中间人工作。
答案 1 :(得分:2)
SSL确实在比HTTP更“低层”上运行。根据{{3}},SSL在会话层上工作,而HTTP在应用层上。
大多数客户端HTTP分析程序在浏览器中工作,在SSL逻辑处理之前分析应用程序层上的HTTP流量。所以看到普通的HTTP请求是完全正常的。
关于安全性,浏览器中安装的恶意应用程序确实可以读取流量。但是一旦它被SSL层处理,邪恶的应用程序就越难以读取流量。
SSL的工作原理是首先将服务器作为客户端进行身份验证。 (我是否与我真正想谈的那个人交谈)。由于您无法事先了解所有服务器及其证书,因此您可以使用一些众所周知的根证书,这些证书已预先安装在您的操作系统上。这些用于检查某个服务器是否已为众所周知的服务所知。 (我不认识你,但是一些非常重要的服务器告诉我你确实是你说的那个人。)
此身份验证步骤独立于流量加密。没有程序可以通过“安装根证书”来解密任意SSL流。 (正如所说的这些根证书从您安装操作系统的第一刻起就已经在您的机器上了=)
但是,如果恶意程序能够让您相信您正在与合法服务器通信,例如使用伪造的根证书,而不是实际与恶意软件通信,则能够看到SSL流量的内容是。但话说回来,你正在谈论邪恶程序本身,而不是你打算与之交谈的服务器。然而,HTTP Analyzer
并非如此这简短来说就是SSL如何运作,并希望能够回答您的问题。