Chinaunix

标题: SSL中server key exchange 是神马 [打印本页]

作者: mrpre    时间: 2014-08-19 09:20
标题: SSL中server key exchange 是神马
以前只是听说,就没理他,但是今天抓报文看到了。
我知道client key exchange是用服务器证书rsa公钥加密传输预主密钥。
但是server key exchange 是干嘛的呢?

贴上服务器回客户端的报文:


没理解其中的含义,以及目的。
作者: ycnian    时间: 2014-08-19 09:48
server key exchange不是必须的,跟你加密预主密钥使用的算法有关。对于RSA算法来说,certificate message中包含了足够的信息,client key exchange可以使用这些信息加密预主密钥。但是对于DH这类的算法来说,certificate message只包含了部分信息,剩余的信息在server key exchange中。你看贴的图里面使用的就是EC Diffie-Hellman算法。
作者: mrpre    时间: 2014-08-19 15:47
也就是说,采用DH算法,证书仅仅是用来验证身份的,而非用来提取公钥,然后加密预主密钥的?
回复 2# ycnian


   
作者: ycnian    时间: 2014-08-19 16:32
回复 3# mrpre

对,是这样的。单纯使用RSA算法时,RSA算法既用来验证服务器的身份,也用来加密预主密钥。单纯采用DH算法时,DH算法只用来加密预主密钥,没办法验证服务器身份,称为anonymous DH。DH算法还可以跟RSA算法一起使用,RSA验证服务器身份,DH算法加密预主密钥。
   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2