我从维基有关TSL / SSL读取,但有一些似乎有点让我困惑
为了生成用于安全连接的会话密钥,客户端用服务器的公钥(PbK)encryption一个随机数(RN),并将结果发送给服务器。 只有服务器应该能够解密(使用其私钥(PvK)):这是使得密钥对第三方隐藏的一个事实,因为只有服务器和客户端才能访问这些数据。 客户端知道PbK和RN,并且服务器知道PvK和(在解密客户端消息之后)RN。 如果PvK受到威胁,第三方只能知道RN。 双方从随机数生成encryption和解密的密钥材料。
参考: http : //en.wikipedia.org/wiki/SSL/TLS
它说,如果PvK受到攻击,那么RN也会受到攻击,那么RN是不是encryption消息的关键,如果它被攻破了又有什么意义呢? 提前致谢!!
您所描述的是在build立SSL连接期间发生的密钥交换。 这个交换的目的是双方就一个随机密钥达成一致,然后这个密钥将被用来encryption所有交换的数据。
在我们进入实际密钥交换之前,我们需要覆盖对称和非对称encryption。
对称encryption是连接将在build立之后使用的内容。 一个密钥用于encryption和解密。 对称encryption通常比不对称更快。
不对称encryption使用两个不同的密钥。 通常被称为公共和私钥。 用公钥encryption的信息只能用私钥解密。
所以,开始我们的SSL对话,我把你的公钥发给你。 如果有人读这个电报并不重要,这是公开的。
您现在生成一个随机数(或字节串),这将是用来保护我们交换的数据的对称密钥。 您需要以某种方式将此信息发送给我,而不会向除我以外的任何人透露。
你用我的公钥encryption随机数(会话密钥)。 这意味着只有拥有我的私钥的人才能解密我们的会话密钥。
一切都很好,只有我知道我的私钥是什么。 但是,如果我的私钥以某种方式被盗用(窃取),那么其他人可能能够从networking上嗅探encryption的会话密钥,使用我偷来的私钥解密它,然后听取我们其余的安全的谈话。
假设我已经很好的照顾了我的私钥,我现在解密了会话密钥,并且转而使用对称encryptionalgorithm和现在已经同意的会话密钥来保证我们其余的会话。
我不确定我是否理解这个问题,而且我不是SSL方面的专家,但是:
是的,RN用于encryption消息(或者更准确地说是为用于encryption消息的会话生成密钥材料)。
如果RN受到威胁,那么第三方可能会读取该会话的消息(但我怀疑这不是你的问题)。
通过“妥协”,人们意味着信息被另一方知道,而这个信息不应该被访问。
在我的理解中,RN是使用PublicKeyencryption的值,所以任何嗅探networking的人都可以“自然而然地”知道它。 但是由于RN是不可理解的并且只能由具有主键的人解密,所以可以。