站在HTTP“肩膀”上-看懂HTTPS协议

        我们在浏览网页的时候,有时会碰到http开头的网址,有时会碰到https开头的网址,两者有啥区别?https协议又是啥?

    先举一个日常的例子,给脑子种下个画面,当张3想通过网络去下载学习资料的时候,点进了一个本来是没有广告的网页进行浏览,但是在张三的浏览器上显示的时候两边多出了非常多的广告,这是啥情况呢?

    

 

        简单借用上一篇关于http协议的部分内容回顾一下,什么是http协议?简单来讲:就是两个服务器需要通讯,就需要根据http协议来生成对另一个服务器的通讯报文,通过这个报文,两个服务器之间经过了复杂的通讯之后,可以正确建立联系;

        用个简单的例子丰富一下画面就是:张三找李四借钱,为了保证钱有去有回,双方可以相互联系到,张三遵循着某个协议写了一张欠条,最终完成借钱;

        看懂Http协议,向计算机网络迈进一步~

本期思维导图:

 

        一 站在“肩膀”上看,什么是https协议?

        相对于https协议,http协议是天生“明文”,整个传输过程是透明的,不安全;

应用层HTTP
传输层TCP
网络层IP
数据链路层网络接口

    原来的http应用层直接通过socket和传输层传输,而https并没有改变http,而是先通过安全层(SSL证书)处理加密之后再和TCP传输;(现在默认使用TLS)

    补充:

    SSL 证书就是遵守 SSL 安全套接层协议的服务器数字证书。全称为:安全套接层协议 (Secure Sockets Layer) (它指定了在应用程序协议 ( 如 HTTP 、 Telnet 、 FTP) 和 TCP/IP 之间提供数据安全性分层的机制,它是在传输通信协议 (TCP/IP) 上实现的一种安全协议,采用公开密钥技术,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证)

SSL有1,2,3三个版本,但现在只使用版本3;

TLS是SSL的标准化后的产物,有1.0 1.1 1.2三个版本,默认使用1.0;TLS1.0和SSL3.0几乎没有区别;

    小结(什么是https协议):相比于http协议,多了一层安全层,将传输数据进行某些算法的加密后传输,更安全,不透明;

应用层HTTP
安全层

SSL/TLS

传输层TCP
网络层IP
数据链路层网络接口
 

        二 加密算法有那些?

        1.摘要算法(md5,sha1/sha2sha256)

        2.对称加密算法(加密解密使用同一个密钥)

        3.非对称加密算法(公钥和私钥)

        三 对称加密算法和非对称加密算法的区别;

非对称加密算法相对于对称加密算法更安全,但是效率相对更低;

      3.1 使用对称加密算法:

        对称加密的加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。所以相对非对称加密算法,效率更高!

      3.2 使用非对称加密算法:

一般使用公钥加密,只能用私钥解密,反之也一样,此加密为单向加密,且加密和解密的速度相对较慢,效率更低!

但是正是因为这一点的差别,导致安全性上,对称加密算法比非对称加密算法安全性低!所以一般两者的使用需要根据具体情况来定;

        四 https协议中,是用什么算法进行的加密解密?

        在https传输中,重要信息列表占用空间小,但是非常重要,不能泄露,使用非对称加密算法加密,成功建立安全连接后,大文件大数据使用对称加密算法进行加密解密;

        TLS证书里使用的是混合加密方式,即把对称加密和非对称加密结合起来,两者互相取长补短,既可以高效,也可以更安全;

        五 图解https加密解密过程;

0.在经过TCP三次握手建立连接之后,

1.Client端向Server端发送加密套件列表,表示自己可以接受什么样的加密算法;

2.Server端(运维已经提前部署好公钥和私钥)从客户端发送的列表选一个加密套件,加上自己的公钥数字证书发送给Client端,此证书的每一个组成都很重要,且能另外单独写一篇文章详解,此不做拓展,避免劝退。

3.Client端验证证书;

4.随机生成一个密钥用于接下来的对称加密,并用Server发送过来的公钥数字证书中的公钥来进行加密,然后发送;

5.用私钥解密得到Client端的密钥;

6.使用密钥进行对称加密算法进行传输;

        六 小结

    6.1 结合开始提到的小广告的例子,如果是http协议的相关网站,黑客就会很容易进行拦截响应报文,并穿插小广告;但是如果是和钱相关的网站,肯定要尽可能避免这件事,那么https协议相对就会更加安全;

    6.2 尽管了解了https相关,好像对当下手头的工作不会要实质性的帮助,但是这一定是后面想要了解更多的垫脚石,所以继续努力以板块为中心,主动总结,逐渐丰富知识体系;

    预计下一章慢慢剖析 TCP三次握手和四次挥手,这可是面试高频考点嘞;

顺便分享一下,我家啵啵生小猫啦,开始生了3只,后来难产半夜送到宠物医院剖腹产生出2只,只可惜有一只最终没抢救过来,So sad!不过好消息是,其他四只和猫妈很健康!希望小猫咪健康成长!(颇有一种自己闺女生娃娃的喜悦感,可能这就是忙碌生活中的点滴幸福吧)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值