目录
HTTP/HTTPS协议的简介
HTTP协议,全称:Hyper Text Transfer Protocol(超文本传输协议)的缩写,用于从万维网(WWW: World wide Web) 服务器传输超文本到本地浏览器的传送协议。
HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTPS经由HTTP进行通信,但多了一个加密数据包的过程(SSL/TLS),目的是对网站服务器的身份认证,保护交换资料的隐私与完整性。(http的url默认端口:80 https的url默认端口:443)
**人话**:HTTP+SSL=HTTPS HTTP协议传输信息不安全,而HTTPS协议安全可靠。
HTTPS的作用:
HTTPS的主要作用是在不安全的网络上(泛指HTTP协议的网络)创建一个安全信道,在适当加密的信息被验证且可被信任时,对中间攻击进行窃听进行合理的防护。
如图所示,HTTP协议的网络浏览器都告诉你不安全啦!
而http就非常的安全,非常的好。(确信)
HTTPS的加密方式:
那么说了一半天HTTPS安全,有加密靠谱,它到底是如何加密的呢?这就要说到密码学的加密方式:
对称加密与非对称加密
对称加密:
加解密使用的密钥都是一致的
举例来说吧,比如著名的**凯撒密码**,其原理就是将英文内容每一个字母的后移三位(密钥):
例如:hello world (明文) -----凯撒密码------khoor zruog(密文)
非对称加密:
加解密使用的密钥是不相同的,分别是私钥和公钥,并且这种加密方式也叫做公钥加密技术。公钥是可以被公开的密钥。
非对称加密的产生过程及原理:
对称加密的困境:密钥的安全传输--对称加密算法的缺陷
密钥传输风险
Alice与Bob必须使用一个安全的信道来传输对称密钥,但是信息传输的通道是不安全的。
对称加密A的密钥需要用对称加密B来传输----B的密钥不安全-----A不安全。
密钥管理难
如果没有非对称加密,百度这个企业需要和用户做安全传输,就需要至少保存大概3-5e个密钥。根据我们上图的非对称算法只需要一把,而对称需要亿级别的钥匙。
非对称加密算法如何解决上述问题:
1.针对密钥传输风险-----用非对称加密算法来传输对称加密的密钥:对称加密A的密钥需用**非对称加密B**来传输即可结束无限套娃
2.针对密钥管理难---用非对称加密算法来实现一个叫邮差原理的办法即可解决
3.为什么不用非对称加密直接传内容:
根据上图两种算法原理,我们可以直观的得出对称加密算法在加密信息上的效率高于非对称加密算法。所以采取用对称加密算法加密信息(内容),用非对称加密算法加密对称算法的密钥的方案。
总结:
因为https协议需要传输大量信息,同时又需要保证信息安全的可靠,我们的https的加密方法采用的就是上述用非对称加密对密钥进行加密,而用对称加密对加密信息进行加密。既利用了对称加密传输信息的高效性,又用非对称保证了信息安全。