【发布时间】:2012-06-04 06:05:51
【问题描述】:
不久前我在这里问了一个问题,关于如何隐藏我的 http 请求调用并使其在我的应用程序中更安全。我不希望人们使用 fiddler 2 来查看通话并设置自动应答器。每个人都告诉我要使用 SSL,电话将被隐藏,信息将得到保护。
我购买并安装了 SSL 证书并设置了所有内容。我启动了 fiddler 2 并运行了一个连接到 https 网络服务以及连接到 https php 脚本的测试应用程序。
Fiddler 2 不仅能够检测到这两个请求,还能够解密它们!我能够看到过去和第四次的所有信息,这让我想到了我的问题。
如果 SSL 对安全性的影响为零,那么它的意义何在。无论有没有 SSL,我都可以看到所有信息都返回和第四个,并且仍然设置了一个自动响应器。
我在 .NET 中是否缺少一些东西来更好地隐藏通过 SSL 进行的调用?
编辑
由于我收到了一些回复,我正在为这个问题添加一个新部分。如果应用程序连接到 Web 服务以登录会怎样。该应用程序向 Web 服务发送用户名和密码。然后,Web 服务将数据发送回应用程序,说明登录数据是否良好。即使通过 SSL,使用 fiddler 2 的人也可以设置一个自动响应程序,然后应用程序被“破解”。我知道在调试中查看数据会有什么用处,但我的问题是,究竟应该做些什么来确保 SSL 连接到它所请求的那个。基本上说不可能有中间人。
【问题讨论】:
-
我相信它只能解密你机器上的信息,因为你已经有了私钥
-
这是正确的——它类似于任何其他 Web 调试代理——正如下面 Alexei 的回答中提到的那样,这样的代理只检查用于您的机器的信息,从而协助调试(因此名称为 '调试代理”),但不允许任意解密从其他机器发出的调用。因此,SSL 仍然是安全的,但可以在本地观察到,因此可以更有效地进行调试。
-
您对问题的修改提出了一个与原始问题完全不同的问题。您需要正确验证服务器发送的证书。执行此操作的方式取决于您的连接方式(使用什么类等)。
标签: c# ssl .net-4.0 fiddler encryption