HTTP+加密+认证+完整性保护 = HTTPS
SSL是独立于HTTP的协议, 所有不光是HTTP协议, 其他运行在应用层的SMTP(邮件协议)和Telnet等协议均可配合SSL协议使用. 可以说SSL是当今世界上应用最广泛的网络安全技术.
SSL的使用确保了HTTPS具有加密,认证和完整性保护的功能。
加密方式:
1.对称性加密:发送方传输给接收方一段加密的信息,那么接收方就要用密钥来解密这段信息,加密与解密的密钥是一样的,这样的加密方法为共享密钥加密,对于共享密钥加密,如果获取密钥的话那么任何人都可以解密这段信息。
2.非对称性加密:传输的信息用同一个公开的密钥(服务器提供)进行加密,但是接收方解密的时候用私有的密钥进行解密。
HTTPS使用混合加密的方式
- 客户端发送请求报文开始SSL通信,报文中包含客户端支持的SSL版本,加密组件列表。
- 服务器可进行SSL通信时会发送响应报文。
- 之后服务器发送Certificate报文,报文中包含公开密钥证书。
- 最后服务器发送报文通知客户端最初的SSL握手结束
- SSL第一次握手结束后,客户端会用服务器的公开密钥加密一段随机密码串传输给服务器.
- 接着客户端会继承发送报文提示服务器,在此报文以后的通信将使用之前发送过去的随机密码串进行加密处理。
- 最后客户端发送结束报文。
- 服务器同样发送报文提示客户端,在此报文以后的通信将使用客户端之前发送过来的随机密码串进行加密处理。
- 服务器发送结束报文。
- 服务器和客户端的结束报文交换完后,SSL连接建立完成,开始HTTP请求。