什么是HTTPS加密协议?

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。

HTTPS主要作用:

对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全。

对网站服务器进行真实身份认证。

HTTP 与 HTTPS 的区别:

HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO,谷歌、百度优先索引HTTPS网页。

HTTPS需要用到SSL证书,而HTTP不用。

HTTPS标准端口443,HTTP标准端口80。

HTTPS基于传输层,HTTP基于应用层。

HTTPS在浏览器显示绿色安全锁,HTTP没有显示。

注意:

要进行HTTPS通信,证书是必不可少的,而使用的证书必须向认证机构(CA)购买,成本高。

HTTPS工作流程:

img

Client发起一个HTTPS的请求。

Server把事先配置好的公钥证书返回给客户端。

Client验证公钥证书:

  • 比如是否在有效期内,证书的用途是不是匹配Client请求的站点,是不是在CRL吊销列表里面。

  • 如果验证通过则继续,不通过则显示警告信息。

Client使用伪随机数生成器生成加密所使用的对称密钥,然后用证书的公钥加密这个对称密钥,发给Server。

Server使用自己的私钥解密这个消息,得到对称密钥,至此,Client和Server双方都持有了相同的对称密钥。

Server使用对称密钥加密明文内容A,发送给Client。

Client使用对称密钥解密响应的密文,得到明文内容A。

Client再次发起HTTPS的请求,使用对称密钥加密请求的明文内容B,然后Server使用对称密钥解密密文,得到明文内容B。