https加密的几点理解

Posted by JackPeng on July 13, 2016

https 解决的3个问题

1 传输内容加密:

对称加密或非对称加密,由于非对称加密效率低,速度慢,因此采用对称加密传输信息,但对称加密又有密钥交换问题。
密钥交换:客户端产生一对密钥,公钥给服务端,服务端用该公钥加密对称密钥,发给客户端,完成密钥交换。

2 信息来源身份验证:

通过非对称加密的私钥,只加密消息体的指纹摘要,和消息一起发给客户端,客户端用公钥解密,如果能正确解密,则说明来自合法服务器(前提是获取了合法的公钥,有可能发生中间人攻击,例如,公钥被非法服务器拦截,然后非法服务器产生一对密钥,把自己生成的公钥给客户端,便可以拦截修改客户端和合法服务器的通信,因此,很多系统采用内置证书完成,公钥验证是否来自CA)

3 信息完整性(没有被篡改):

同2,获得消息体的指纹摘要,用私钥加密指纹摘要,一起发给客户端,客户端解密后得到消息摘要,再对消息体计算消息摘要,比对两个摘要是否一致。