HTTPS工作流程

本文只是把网上关于 https 工作原理的文章总结并归纳整理的产物,希望能从一个不同的视角用通俗的话介绍 https 工作流程,5分钟足够了。

来看一张图,我们看图说话
这里写图片描述
https连接流程图
注意,为了更好的区分明文和密文,用【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 工作的流程,哎,能想出这种操作,很灵性啊。

作者:一杯刘
链接:https://www.jianshu.com/p/a68ca86183d7

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值