对称加密
所谓对称加密就是客户端和服务端共用一个密钥。
非对称加密
对称加密+非对称加密
对称加密+非对称加密+CA
协商密钥的过程
以访问百度为例:
- ①C-->S, 请求中携带了 客户端支持的SSL版本,非对称加密的算法、随机数num1
- ②S-->C, 返回确定使用的SSL版本,使用的对称加密算法,随机数num2,证书
- ③C-->认证证书,认证成功-->继续交互,否则弹出不安全警告
- ④C-->S 随机数num3, hash(①,②) =xx
- ⑤S 验证 xx==hash(①,②) 因为Server端也参与了①,②的过程,因此可以用来验证客户端身份
- ⑥S 通过一个算法 把随机数num1,num2,num3生成一个k
- ⑦S-->C hash(①②④)=zz
- ⑧C 验证zz==hash(①②④)
- ⑨C 通过相同的算法 把随机数num1,num2,num3生成一个k,如果C,S端没有问题,那么k是一致的。