Tag: 人在中间

SSL和中间人的误解

我已经阅读了大量与这个问题有关的文档,但是我仍然无法把所有的东西放在一起,所以我想问几个问题。 首先,我将简要地描述一下我所了解的authentication程序,因为我可能会在这方面弄错:客户端启动一个连接,服务器通过公钥,元数据和数字签名的组合来响应可信的权威。 然后,如果客户信任服务器,客户端会做出决定,使用公钥对一些随机会话密钥进行encryption并将其发回。 此会话密钥只能使用存储在服务器上的私钥解密。 服务器执行此操作,然后HTTPS会话开始。 所以,如果我上面说得对,问题是在这种情况下中间人攻击会如何发生? 我的意思是,即使有人用公共密钥拦截了服务器(例如www.server.com)的响应,并且有一些手段让我认为他是www.server.com,但他仍然无法解密我的会话密钥没有私钥。 说到相互身份validation,关于服务器对客户身份的信心是否全部? 我的意思是,客户端已经可以确定她正在与正确的服务器进行通信,但现在服务器想要知道客户是谁,对吗? 最后一个问题是关于相互authentication的替代scheme。 如果我在所描述的情况下充当客户端,那么在SSL会话build立之后,如果我在HTTP头中发送了一个login名/密码呢? 正如我所看到的,这些信息不能被拦截,因为连接已经安全,服务器可以依靠它来进行识别。 我错了吗? 与相互authentication相比,这种方法有什么缺点(只有安全问题是重要的,而不是实现的复杂性)?