我不是网络专家,所以我对互联网协议和SSL知之甚少。我的问题来自于对https是如何运作的缺乏了解。
基本上在https中有一个阶段,加密算法和私钥解密任何可能来自网络的加密信息都是由客户端和服务器商定的,但是这一切都是为了创建一个安全可靠的连接。但是,如果私钥是在安全连接之前发送的,那么如何防止黑客拦截这个私钥,从而拦截任何已加密的https请求,但由于该黑客拥有私钥,那么数据可以很容易地解密,那么安全性在哪里呢?
这一直困扰着我,谢谢你的所有答案!
发布于 2018-08-15 05:34:15
私钥永远不会通过网络发送,否则它将不再是私有的。服务器的私钥用于验证服务器,而不是加密。对于实际的加密,使用的是会话密钥,因此问题仍然是客户端和服务器如何在不将会话密钥告知观察者的情况下就会话密钥达成一致。
将身份验证与密钥选择相结合的一种方法是客户端选择随机会话密钥并使用服务器的公钥对其进行加密。如果服务器能够解密它,它必须有相应的私钥,因此是正确的服务器,并知道客户端选择的会话密钥。如果它没有正确的私钥,它将无法解密会话密钥,因此不能解密发送的数据。
该漏洞的一个缺陷是,如果稍后知道服务器私钥,所有以前记录的会话都可以解密。因此,Diffie-Hellman密钥交换是一种可以在以后无法发现的会话密钥上达成一致的方法。这也被称为PFS。
发布于 2018-08-15 05:31:46
我们可能需要一个更熟悉SSL和TLS的人来衡量,但是私钥的全部概念是它从未被发送过。用私钥加密的数据只能用匹配的公钥解密,反之亦然。
看看维基百科上TLS文章的协议部分,双方在协议设置期间仔细地交换了足够多的信息,从而导致了加密的连接。基本上,在任何时候都没有任何加密密钥被发送到清空。
https://serverfault.com/questions/926436
复制相似问题