简单的 TSL/SSL 加密的工作原理

简单的 TSL/SSL 加密的工作原理

我从 Wiki 上读到有关 TSL/SSL 的内容,但有些内容对我来说似乎有点令人困惑

为了生成用于安全连接的会话密钥,客户端使用服务器的公钥 (PbK) 加密随机数 (RN),并将结果发送到服务器。只有服务器应该能够解密它(使用其私钥 (PvK)):这是使密钥对第三方隐藏的一个事实,因为只有服务器和客户端才能访问此数据。客户端知道 PbK 和 RN,服务器知道 PvK 和(在解密客户端消息后)RN。第三方只有在 PvK 被泄露的情况下才能知道 RN。从随机数中,双方生成用于加密和解密的密钥材料。

參考文獻:http://en.wikipedia.org/wiki/SSL/TLS

它说如果 PvK 被破解,那么 RN 也会被破解,RN 不是加密消息的密钥吗?如果它被破解了,那还有什么意义呢?提前谢谢!

答案1

您描述的是在建立 SSL 连接期间发生的密钥交换。此交换的目的是双方就一个随机密钥达成一致,然后该密钥将用于加密所有交换的数据。

在进入实际的密钥交换之前,我们需要了解对称加密和非对称加密。

连接建立后将使用对称加密。加密和解密均使用一个密钥。对称加密通常比非对称加密更快。

非对称加密使用两个不同的密钥。通常称为公钥和私钥。使用公钥加密的信息只能用私钥解密。

那么,在我们开始 SSL 对话时,我会向您发送我的公钥。即使有人从网络上读取了它也没关系,因为它是公开的。

现在,您生成一个随机数(或字节串),这将是用于保护我们交换的数据的对称密钥。您需要以某种方式将其发送给我,这样除了我之外的任何人都无法得知。

你用我的公钥加密随机数(会话密钥)。这意味着只有拥有我的私钥的人才能解密我们的会话密钥。

一切顺利的话,只有我知道我的私钥是什么。但是,如果我的私钥以某种方式被泄露(被盗),那么其他人可能能够从网络上嗅探到加密的会话密钥,使用我被盗的私钥对其进行解密,然后窃听我们本应安全的对话的其余部分。

假设我已经妥善保管了我的私钥,我现在解密会话密钥,我们转而使用对称加密算法和现在商定的会话密钥来保护我们对话的其余部分。

答案2

我不确定我是否理解了这个问题,而且我也不是 SSL 专家,但是:

是的,RN 用于加密消息(或者更准确地说,用于生成用于加密消息的会话的密钥材料)。

如果 RN 受到威胁,那么第三方可能能够读取该会话的消息(但我怀疑这不是您的问题)。

所谓“受损”的意思是,信息被不应该获取该信息的另一方所获知。

答案3

在我看来,RN 是使用公钥加密的值,因此任何嗅探网络的人都可能“泄露”它。但这没关系,因为 RN 不可理解,只有拥有主密钥的人才能解密。

相关内容