标签:layer url 介绍 黑客 传输过程 体制 回顾 密钥 protocal
??Https全称为HyperText Transfer Protocal over Secure Socket Layer,我们知道web常用的协议http,其实https就可以理解为http+SSL/TLS,即在http应用层之下传输层之上加了SSL层,https对数据进行加密就依赖于SSL,其用于安全的HTTP数据传输。其中SSL和TLS两者是并列关系,有区别但是作用相同,有兴趣的同学可以查看这篇文章。https简图如下:
??先简单回顾一下HTTP协议(HyperText Transfer Protocal)。
在浏览器和服务器之间的请求和响应的交互必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCLL码串构成的请求和一个MIME-like的响应组成。HTTP传输层协议使用TCP。
http请求数据(来源:百度图片)
http响应数据(来源:百度图片)
??在HTTP的传输过程中协议本身并不会对传送的数据进行加密,也不会对交互双方的身份进行认证。那么黑客就可以利用这一点获取一些私密信息或者伪装身份发送消息。
所以HTTP传输的缺点可以总结如下:
??第一种是对称秘钥密码体制,加密密钥和解密密钥是相同的。例如:DES、IDEA、AES-GCM、ChaCha20-Poly1305等
??第二种是公钥密码体制,其使用不同的加密密钥和解密密钥。公钥向公众公开,私钥需要保密。这样就可以通过私钥解密,公钥加密(反过来也是可以的)。公钥密码体制的另一个作用就是进行数字签名。我们可以用私钥进行对数据进行加密(执行某种运算),用该私钥的公钥进行解密,如果可以还原出明文就能确定数据的来源和内容都是可信的,不能抵赖的。若A持有私钥,B持有公钥,如果B可以还原出明文,则数据肯定来自于A(只有A有加密的私钥)。如果数据中途被黑客篡改,B用公钥解密后得到不可读的明文就知道数据被篡改了。常用的加密算法有:RSA、DSA、ECDSA、 DH、ECDHE
由于HTTP是明文,我们需要对数据进行加密。那么其使用上面的哪种加密体制呢?
假设HTTPS使用对称秘钥体制,其将面临以下问题:
假设HTTPS使用公钥秘钥体制,其将面临以下问题:
鉴于以上两种密码体制的优缺点,HTTPS使用的是两种密码体制的混合版本。
??HTTPS怎么样使用这两种不同加密体制的呢?简单来说就是用非对称加密算法(公钥密码体制)加密稍后使用到的对称密钥,用该对称密钥对双方通信的数据进行加密。下面详细介绍。
??每个服务器有一个CA发布的SSL的证书,CA一般是信任的第三方机构,SSL证书中包含的内容一般有
我们用一张图来分析HTTPS的工作原理:
标签:layer url 介绍 黑客 传输过程 体制 回顾 密钥 protocal
原文地址:https://www.cnblogs.com/Mrfanl/p/11703592.html