欢迎到我的博客 一杯刘 观看哦~爱你比心(*  ̄3)(ε ̄ *)
本文只是把网上关于 https 工作原理的文章总结并归纳整理的产物,希望能从一个不同的视角用通俗的话介绍 https 工作流程,5分钟足够了。
来看一张图,我们看图说话
注意,为了更好的区分明文和密文,用【AA】代表AA被加密,AA 代表正常未加密
- client 发出请求
- server 收到请求,并自己生成一对密钥,即 公钥S 和 私钥S
- server 把生成的 公钥S 传递给 client (除了 公钥S ,还有很多额外信息)
- client 收到 公钥S 后进行判断,若无效,弹出警告,否则生成一串随机数,我们称之为 私钥C ,然后 client 用 server 传过来的 公钥S 对该随机数加密,形成【私钥C】
- client 把【私钥C】传递给 server
- server 收到【私钥C】,用 私钥S 把【私钥C】解密成 私钥C,然后把需要传递的数据用 私钥C 进行加密
- server 把【数据】传递给 client
- client 收到【数据】,用 私钥C 解密,完成一波收割
整体流程就是这样,那么就想问,为什么有这么多 key?一会公钥一会私钥?很烦?
那我们先假设 server 有私钥和公钥,那么传递给 client 公钥,client 用公钥加密数据,传递给 server,server 用私钥再解密,听上去很美好,但是很烦,因为涉及到对称加密和非对称加密
对称加密是指加密和解密用一致的密钥,特点是快
非对称加密是指密钥区分公钥和私钥,公钥加密,私钥解密(私钥好比唯一一把钥匙,公钥好比锁,钥匙只有一把,但锁可以有很多,被锁头锁上的数据全天下只有一把私钥才能打开),特点是安全,但是慢
这回理解了吧,上述方式缺点是 慢,所以 https 的流程综合了对称加密和非对称加密的优点,利用非对称加密的安全性来加密那一串随机数--私钥C,利用对称加密的快捷性来加密报文,总体来说就是把真正加密解密的密钥(私钥C)用公钥S和私钥S来加密,这就是 https 工作的流程,哎,能想出这种操作,很灵性啊。
文章短么?很短,但没办法,短是男人的天性...