我从Wiki上读到关于TSL/SSL的文章,但有些东西让我有点困惑。
为了生成用于安全连接的会话密钥,客户端使用服务器的公钥(PbK)加密一个随机数(RN),并将结果发送给服务器。只有服务器才能解密它(使用它的私钥(PvK)):这是使密钥对第三方隐藏的一个事实,因为只有服务器和客户端可以访问这些数据。客户端知道PbK和RN,服务器知道PvK和(在客户端消息解密后) RN。只有当PvK被破坏时,第三方才能知道RN。从随机数,双方产生关键材料的加密和解密。
参考文献:http://en.wikipedia.org/wiki/SSL/TLS
它说,如果PvK被破坏了,那么RN也被破坏了,不是RN是加密消息的关键吗?如果它被破坏了又有什么意义呢?提前谢谢!!
发布于 2010-11-15 13:16:29
您所描述的是在建立SSL连接期间发生的密钥交换。这个交换的目的是让双方同意一个随机密钥,然后这个密钥将被用来加密所有交换的数据。
在我们进入实际的密钥交换之前,我们需要涵盖对称加密和非对称加密。
对称加密是连接设置后将使用的内容。一个密钥用于加密和解密。对称加密通常比非对称加密快。
非对称加密使用两个不同的密钥。通常被称为公用钥匙和私钥。用公钥加密的信息只能用私钥解密。
所以,开始我们的SSL对话,我把我的公钥给你。如果有人从电视上读到这个并不重要,这是公开的。
现在生成一个随机数(或字节字符串),这将是用于保护我们交换的数据的对称密钥。你得把这个寄给我,这样就不会泄露给我以外的人了。
使用我的公钥加密随机数(会话密钥)。这意味着只有拥有我的私钥的人才能解密我们的会话密钥。
一切都很好,只有我知道我的私钥是什么。但是,如果我的私钥以某种方式被泄露(被盗),那么其他人可能能够从网络中嗅探加密的会话密钥,使用我偷来的私钥解密它,然后侦听我们其余的应该是安全的对话。
假设我已经很好地处理了我的私钥,我现在解密会话密钥,我们切换到使用对称加密算法和现在商定的会话密钥来保护我们其余的会话。
发布于 2010-11-15 12:00:42
我不确定我是否理解这个问题,我也不是SSL方面的专家,但是:
是的,RN用于加密消息(或者更准确地说,用于为会话生成用于加密消息的关键材料)。
如果RN被破坏,那么第三方可能能够读取该会话的消息(但我怀疑这不是您的问题)。
所谓“妥协”的人意味着信息被另一方所知晓,而另一方则不应该获得这些信息。
发布于 2010-11-15 12:11:19
根据我的理解,RN是使用PublicKey加密的值,所以它被任何嗅探网络的人“破坏”是很自然的。但这是可以的,因为RN是不可理解的,只能由拥有主密钥的人解密。
https://serverfault.com/questions/201945
复制相似问题