1.定义
http:超文本传输协议
HTTPS:是在HTTP上建立SSL/TLS加密层,并对传输数据进行加密,是HTTP协议的安全版。被广泛用于万维网上安全敏感的通讯,如交易支付平台。
2.区别
http | https |
---|---|
明文传输 | 加密传输 |
端口80 | 端口443 |
不需要SSL证书 | 不需要SSL证书 |
信息窃听,信息篡改,信息劫持 | 保护隐私,信息完整性,身份验证 |
安全 | 不安全 |
基于应用层 | 基于传输层 |
-
数据隐私性:内容经过加密,每个连接生成一个唯一的加密密钥
-
数据完整性:内容传输经过完整性校验
-
身份认证:第三方无法伪造服务端(客户端)身份
3.解决信息窃听–加密
-
对称加密:通信双方使用相同的密钥进行加密。特点是加密速度快,但是缺点是需要保护好密钥,如果密钥泄露的话,那么加密就会被别人破解。常见的对称加密有 AES,DES 算法。
-
非对称加密:它需要生成两个密钥:公钥(Public Key)和私钥(Private Key)。常见的非对称算法有 RSA。
HTTPS采用对称加密和非对称加密两者并用的混合加密机制。
4.解决信息篡改–数字签名
网络传输过程中需要经过很多中间节点,虽然数据无法被解密,但可能被篡改,那如何校验数据的完整性呢?
数字签名:
-
能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
-
数字签名能确定消息的完整性,证明数据是否未被篡改过。
5.解决信息被第三方劫持–数字证书
数字证书认证机构出于客户端和服务器双方都信赖的第三方机构的立场上。
6.为什么不所有网站都使用HTTPS
- 需要CA颁发的SSL证书,并且需要购买,耗时耗力,成本高