HTTPS
HTTPS(HyperText Transfer Protocol Secure,超文本传输安全协议)需要注意的额是,HTTPS并不是独立于HTTP的一个新的协议,HTTPS还是与HTTP进行通信,利用SSL/TLS来加密数据包。HTTPS的出现的为了解决HTTP协议的安全问题等。
HTTP在通信过程中面临以下的威胁:
HTPS的出现是为了解决这些问题,所以它是HTTP的加强版:
1、背景知识
HTTPS证书
HTTPS的信任继续基于预先安装在浏览器中证书颁发机构发布的证书。这个证书证明了访问的网站是一个合法的网站。
加密算法
为了保证通信过程中数据的安全,HTTPS采用了一系列加密算法,包括非对称加密、对称加密和HASH算法。
算法类型
使用的算法
非对称加密算法
RSA,DSA/DSS
对称加密算法
AES,RC4,3DES
HASH算法
MD5,SHA-1,SHA256
2、HTTPS工作过程
HTTPS在传输数据之前客户端和服务器之间会进行一次握手,在握手过程中将确定双方的会话密钥,之后的通信采用该秘钥使用对称加密算法加密。握手流程如下:
1.客户端发出请求-ClientHello
首先,客户端需要先向服务器发出加密请求,叫做ClinetHello请求。在这一步中,客户端需要向服务器提供以下信息:
2.服务器响应-ServerHello
服务器收到客户端请求后,向客户端发出回应,叫做ServerHello。服务器的回应包含以下内容:
3.客户端回应
客户端收到服务器回应后,首先验证服务器证书的有效性。验证通过后会从证书中取出服务器的公钥,然后,向服务器发送下面三项信息:
4.服务器最后响应
服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的“会话密钥”。然后,向客户端最后发送下面的信息。
3、参考文献
Last updated