在我们网上冲浪的时候,常看到网址前有http://或者https://,那么这是啥呢,先等一下,在这之前我们要先了解一下
加密是什么
加密,顾名思义,就是把秘密藏起来不给别人看见。
在计算机中最简单常见的就是将字母或数字+1,如:123abc--->234bcd。这样的加密方式解密也很简单,只需要-1就好了,当然也可以称或除等各种操作的衍生,这种加密方式被称为:“对称加密”,这种加密方式在计算机中的优点就是,快!但缺点也很明显,就是不安全,因为计算机最擅长的就是计算。
这时候就需要一种更安全的算法来加密,这时候就出现了“非对称加密法”。
如上图,客户机发送的原始数据通过hash算法,获得数据摘要,对其用用户及的私钥进行加密获得数字签名,原始数据+数字签名+客户机公钥证书通过对称密钥加密变成加密信息,再对对称密钥用服务器公钥进行加密获得密钥信封,把加密信息和密钥信封一起发送个服务器;服务器接收到后,先用自己的私钥解开密钥信封获得对称密钥,用获得的对称密钥对加密数据进行解密,获得原始数据、数字签名和客户机公钥证书,再用公钥证书里的公钥解密数字签名获得最开始的数据摘要,在对现在获得的原始数据进行数据摘要,最后将两份数据摘要进行比对,最终确认数据没有被篡改。
以上就是非对称加密的加密过程,非常安全也非常的复杂,所以导致这种加密方式的传输速度相对比较慢。
HTTP协议(Hyper Text Transfer Protocol)
HTTP是超文本传输协议,是一种在应用层重要的协议,有了这个协议,用户才能够看到web网页中的文字图片等信息,他的具体作用是通过客户端请求服务器,服务器接收请求后发送HTTP响应给客户端。
那么HTTPS又是什么
https其实还是http,只不过是在http的基础上对通信进行了加密,为了保证安全将HTTP和TLS协议组合在一起。
TLE协议如何加密
TLS最终的目的就是为了搞出一个对称密钥
以下我们以访问百度返回的报文为例(看不见的同学请自行对页面进行放大哦🔍)
上图的内容是说在服务器和客户机进行了友好的三次握手后,开始对加密方式进行的探讨,首先客户机发送了第一串随机数给服务器,并告诉服务器自己支持16中加密套件 。
接下来服务器回复客户机了第二串随机数,并告诉客户机最终选择的加密套件。
在之后又发送了服务器的证书和服务器的公钥,用于对后续文件进行加密
这时候客户机收到了服务器的数据,告诉了服务器自己这边生成的预主密钥。
这时候两边通过前面的两串随机数和现在的预主密钥进行计算,生成了相同的对称密钥;然后服务器告诉客户机现在可以开始正常的通信了。
以上就是本人对https大致的了解了,欢迎补充💕