一、概念
1.HTTPS超文本传输安全协议,在HTTP协议的基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证功能,其中,HTTPS通过非对称加密、对称加密和证书认证的方式实现加密策略。
2.网站使用HTTPS需要权威CA颁发的SSL证书,从证书的选择、购买到部署比较耗时耗力;普遍认为性能消耗大于HTTP,因为加密通信会消耗更多的CPU及内存资源。
二、工作流程
1.客户端发起请求:用户通过客户端输入URL,客户端向服务器发起一个HTTPS请求。
2.服务器处理请求:服务器接收到请求后,根据请求的类型和请求的资源,进行相应的处理。
3.服务器返回响应:服务器将处理结果包装成HTTPS响应消息,发送回客户端。
4.客户端渲染页面:客户端接收到响应后,根据响应内容渲染页面,展示给用户。
三、加密原理
1.客户端发送RANDOM1+对称加密套件列表+非对称加密套件列表。
2.服务器收到信息,选择对称加密套件+非对称加密套件,并和RANDOM2+证书(公钥在证书中)一起返回。
3.客户端验证证书有效性,并用RANDOM1+RANDOM2生成PRE-MASTER,通过服务器公钥加密+浏览器确认,发送给服务器。
4.服务器收到PRE-MASTER,根据约定的加密算法对RANDOM1+RANDOM2+PRE-MASTER解密,生成MASTER-SECRET,然后发送服务器确认。
5.客户端收到生成同样的MASTER-SERCRET,对称加密密钥传输完毕。