Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 通过完全记录握手来破坏TLS安全性_Ssl_Packet Capture_Man In The Middle - Fatal编程技术网

Ssl 通过完全记录握手来破坏TLS安全性

Ssl 通过完全记录握手来破坏TLS安全性,ssl,packet-capture,man-in-the-middle,Ssl,Packet Capture,Man In The Middle,我最近一直在看TLS,我不确定它为什么如此安全,但可能是因为对它的工作原理有误解。但是如果整个握手被记录,无论是使用中间人攻击或目标计算机上的分组嗅探器,那么任何剩余的通信都可以解密,因为客户端和服务器用来生成加密密钥的所有信息都可以被解密。 我怀疑tls中会有这样一个漏洞,但有人能告诉我tls是如何防范这种情况的吗?客户机在tls握手中发送给服务器的关键数据是使用服务器的密码加密的。因此,即使数据包是在线路上捕获的,也需要私钥(假定只有服务器知道)来解密数据包。客户机在TLS握手中发送给服务器

我最近一直在看TLS,我不确定它为什么如此安全,但可能是因为对它的工作原理有误解。但是如果整个握手被记录,无论是使用中间人攻击或目标计算机上的分组嗅探器,那么任何剩余的通信都可以解密,因为客户端和服务器用来生成加密密钥的所有信息都可以被解密。
我怀疑tls中会有这样一个漏洞,但有人能告诉我tls是如何防范这种情况的吗?

客户机在tls握手中发送给服务器的关键数据是使用服务器的密码加密的。因此,即使数据包是在线路上捕获的,也需要私钥(假定只有服务器知道)来解密数据包。

客户机在TLS握手中发送给服务器的关键数据是使用服务器的密钥加密的。因此,即使数据包被捕获在电线上,它将需要假定只有服务器知道的私钥来解密数据包。

握手的主要目的是确保前主密钥的秘密交换,然后由双方共享,从而产生公共主密钥和共享加密密钥

如何做到这一点取决于密码套件以及使用的密钥交换算法。使用经过身份验证的密钥交换,主要有两种变体:

RSA密钥交换,其中客户端使用从证书中获得的服务器公钥加密预主密钥。 ,其中客户端使用服务器的公钥验证服务器的签名DH参数。 您可能对以下链接感兴趣:

非匿名密钥交换 参见关于短暂的Diffie Hellman的讨论。
握手的主要目的是确保预主密钥的秘密交换,然后由双方共享,从而产生公共主密钥和共享加密密钥

如何做到这一点取决于密码套件以及使用的密钥交换算法。使用经过身份验证的密钥交换,主要有两种变体:

RSA密钥交换,其中客户端使用从证书中获得的服务器公钥加密预主密钥。 ,其中客户端使用服务器的公钥验证服务器的签名DH参数。 您可能对以下链接感兴趣:

非匿名密钥交换 参见关于短暂的Diffie Hellman的讨论。
但更重要的是,为什么你认为你在嗅探数据包后拥有了密钥?因为所有密钥都是从发送的数据生成的,至少规范是这么说的。用于生成主密钥的premaster密钥基于握手过程中客户端和服务器之间发送的所有信息,但是好书,绝对值得一看啊哈-我理解混乱-马克的链接应该是一个很好的阅读。a但更重要的是B为什么你认为你在嗅探数据包后有了密钥?因为所有密钥都是从发送的数据生成的,至少,规范是这么说的。用于生成主密钥的premaster密钥基于握手过程中客户端和服务器之间发送的所有信息,但是好书,绝对值得一看哈-我理解这一困惑-马克的链接应该是一个很好的读物。如果它是用公钥加密的,为什么它需要私钥?@cgoddard:公钥加密是不对称的。如果使用公钥加密某个内容,则只能使用私钥对其进行解密。我包含的链接讨论了一些。啊,刚刚读过,但是看起来很有趣,谢谢guy@cgoddard:关于此握手,需要注意的一点是:公钥密码比对称密码在计算上更昂贵-这就是为什么最初使用公钥密码,为对称密码交换密钥。这取决于密钥交换算法。您所说的适用于RSA密钥交换,但不适用于DHE密钥交换。密钥交换也很常见。如果使用公钥加密,为什么需要私钥?@cgoddard:公钥加密是不对称的。如果使用公钥加密某个内容,则只能使用私钥对其进行解密。我包含的链接讨论了一些。啊,刚刚读过,但是看起来很有趣,谢谢guy@cgoddard:关于此握手,需要注意的一点是:公钥密码比对称密码在计算上更昂贵-这就是为什么最初使用公钥密码,为对称密码交换密钥。这取决于密钥交换算法。您所说的适用于RSA密钥交换,但不适用于DHE密钥交换也很常见。