【问题标题】:Middle Man Server HTTPS/SSL中间人服务器 HTTPS/SSL
【发布时间】:2011-08-19 17:21:52
【问题描述】:

我正在开发一个项目,该项目使用 Microsoft .NET 服务器来执行对 HTTPS/SSL 数据的更改。例如,使用浏览器的客户端机器通过 HTTPS/SSL 调用服务器 B,服务器 B 又将请求转发到服务器 C,同样是 HTTPS/SSL。响应将从服务器 C 通过服务器 B 发送回客户端计算机,但是服务器 B 将在发送回响应之前将一些数据包装到响应中。

我假设响应是加密的,服务器 B 必须解密响应、更改数据、加密数据并发送响应。

这在 .NET 中间服务器上听起来可行吗?钥匙会有问题吗?

【问题讨论】:

  • 这被称为中间人攻击。使用 .NET 服务器听起来很可能。密钥不应该有问题,特别是如果客户端知道(并接受)服务器 B 在它和服务器 C 之间。
  • 欢迎来到 SO。您可以通过编辑来更新您自己的问题。您可以为问题投票(赞成或反对),如果您得到满足您需求并回答了您的问题的答案,您可以将其标记为答案

标签: .net encryption ssl https


【解决方案1】:

答案取决于您是否可以让客户端信任您在中间服务器中使用的证书。如果可以(例如,您控制客户端),那么就没有问题 - 创建一个新的自签名证书,该证书将具有目标服务器的主机名和该目标主机的有效 SSL 证书的其他属性,将其放入受信任的根存储客户端并让中间服务器拦截流量或直接通过中间服务器引导客户端的流量。

在其他情况下,这种改变是不可能的。 IE。关键是使证书受信任。

【讨论】:

  • 请注意,这正是Fiddler 在网络上拦截和解密HTTPS 流量的方式。
猜你喜欢
  • 2016-10-12
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-09
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多