我们在浏览网页的时候,有时会碰到http开头的网址,有时会碰到https开头的网址,两者有啥区别?https协议又是啥?
先举一个日常的例子,给脑子种下个画面,当张3想通过网络去下载学习资料的时候,点进了一个本来是没有广告的网页进行浏览,但是在张三的浏览器上显示的时候两边多出了非常多的广告,这是啥情况呢?
简单借用上一篇关于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!不过好消息是,其他四只和猫妈很健康!希望小猫咪健康成长!(颇有一种自己闺女生娃娃的喜悦感,可能这就是忙碌生活中的点滴幸福吧)