HTTP:
超文本传输协议,传输的数据格式可以是普通文本,音频,视频,等等
HTTPS:
HTTPS=HTTP+TSL/SSL。HTTPS是由TSL/SSL协议构建的安全、可靠的网络协议
HTTPS是可以进行加密传输和身份认证的传输协议。
与HTTP的区别如下:
- HTTPS需要CA证书
- HTTP是明文传输协议,HTTPS是密文传输协议,依靠TSL/SSL完成密文传输
- 两者使用的端口不一样,HTTP使用80端口,HTTPS使用443端口
TSL/SSL协议:
1.由来:SSL是网景公司设计的用于对数据进行加密的协议,后来IETF将SSL升级成为TSL
使用的技术:非对称加密,对称加密,HASH算法
(1) 非对称式加密:甲方生成一对密钥(公开密钥和私有密钥),甲方将公开密钥公开给其他方,乙方收到公开密钥,然后乙方用公开密钥对数据进行加密,然后乙方将加密后的数据发送给甲方,甲方用私有密钥对加密数据进行解密得到明文。优点:安全;缺点:较慢。
(2) 对称式加密:对称加密就是加密和解密使用相同的密钥,因此对称式加密本身是不安全的。优点:较快;缺点:不安全
(3) HASH算法:常用的算法MD5
特点:
① 无论明文长度多长,加密后的密文长度都一样
② 相同的明文得到的密文是一样的
③ HSAH算法是一个单向函数,不能由密文得到明文
缺点:因为相同的明文得到的密文是相同的,所以HASH也具有一定的不安全性。
2.https加密过程
(1) 认证服务器:
浏览器内部会有一个受信任的CA机构列表,服务器提供由CA机构颁发的服务器证书,若服务器证书的CA机构在浏览器受信任CA机构列表中,浏览器就会认为这个服务器是可信的,之后再服务器证书中获得服务器的公钥,否则会询问客户是否继续浏览
(2) 协商会话密钥:客户端收到服务器的公钥后,与服务器协商生成一对会话密钥,分为客户端会话密钥和服务端会话密钥,客户端会话密钥用于加密客户端发送给服务端的数据,服务端会话密钥用于加密服务端发送给客户端的数据;还会协商加密方式对称加密或者非对称加密,对称加密消耗资源更少但是不安全,非对称加密更安全,但是需要消耗更多的资源
加密通讯:客户端和服务端得到会话密钥后进行加密通信