前言
中间人攻击是什么?如何防范?HTTP和HTTPS区别是什么?HTTPS加密流程?
相信大家面试的时候没少遇到过这些问题,大部分面试官问这些问题的目地就是考察你对HTTPS的理解。而HTTPS最本质的东西就是对称加密和非对称加密,理解了核心,这些问题也就迎刃而解了
为了方面理解,使用人物和场景来描述;人物:盖伊、露西、鲍勃,背景:盖伊和露西是热恋中的情侣,鲍勃暗恋露西,想把他们拆散
对称加密
简介:加密和解密使用同一个密钥
盖伊和露西写信,他们约定使用一个密钥,写信和读信都先使用这个密钥进行加密和解密;这样就算有人截取了信件,也不知道信件的内容。
但是可恶的鲍勃偷听到了他们使用的密钥,于是截取了盖伊写给露西的信,并用该密钥加密了一封分手信发给了露西,导致露西心灰意冷,被鲍勃趁虚而入了
总结
- 加密算法是公开的,常用IDEA、DES、RC4、RC5等
- 加密速度快
- 计算量小
- 双方任一密钥泄漏,则加密信息就不安全了
非对称加密
简介:使用两个密钥,公开密钥和私有密钥
有了前车之鉴,盖伊使用加密算法生成了一对公钥和私钥,公钥加密,只有私钥能解,反之亦然。盖伊自己持有私钥,把公钥交给露西;这样就算鲍勃截取了信件,因为他拿不到公钥,也就无法进行解密或篡改。
但是可恶的鲍勃不死心,他也使用同样的算法生成了一对公钥和私钥,在盖伊之前把公钥发给了露西,并以盖伊的口吻发了一封分手信给露西。露西伤心欲绝,于是又被鲍勃乘虚而入了。
那怎么解决呢?
盖伊在公钥上签名,让露西知道这是他的公钥?但是鲍勃苦练书法,也模仿了盖伊的字迹。最后,盖伊和露西忍无可忍,找到了一家权威的证书机构。他们给盖伊的公钥附上了证书,这样露西就能确定公钥是盖伊的了,鲍勃也无从下手,只能搬到他们隔壁并改名姓王了
总结
- 常用加密算法:RSA、DSA
- 安全性高
- 操作更多,速度慢
HTTPS的加密流程
相信看到这里,你们都能理解HTTPS的加密流程了,HTTPS组合使用了对称加密和非对称加密
- 服务端生成了一对公钥和私钥,把公钥和证书发给客户端
- 客户端验证了证书真伪
- 客户端生成一个随机值,用公钥加密发给了服务端
- 服务端用私钥解密,获取了随机值
- 服务端使用该随机值作为密钥和客户端进通信
服务端的公钥和私钥就是非对称加密,客户端生成的随机值作为密钥来通信就是对称加密
附图如下