HTTPS协议工作流程

  • Post author:
  • Post category:其他


日常生活中超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了

SSL

/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。


HTTPS工作流程

1.用户通过浏览器请求https网站,要求与服务器建立SSL连接,告诉服务器自己支持那些加密算法

2.服务器收到请求后,返回网站的数字证书给浏览器,数字证书中包含颁发机构,网址,子域名,公钥,证书有效期等信息

3.客户端验证数字证书,生成随机密钥x,用证书中的公钥对随机密钥x进行加密,并发送给服务器

4.服务器收到之后,用私钥进行解密,得到随机密钥x,然后使用随机密钥x对网页加密,发送给浏览器

5.浏览器收到加密后的网页后用随机密钥x进行解密,得到最终网页

HTTPS为了实现浏览器与服务器之间的加密通信,采用了对称式加密和非对称式加密两种算法来保证通信安全


对称式加密:

加密和解密使用同一密钥。

  • 优点:运算速度快;
  • 缺点:无法安全地将密钥传输给通信方


非对称式加密:

加密和解密使用不同的密钥。

公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密。

非对称密钥除了用来加密,还可以用来进行签名。因为私有密钥无法被其他人获取,因此通信发送方使用其私有密钥进行签名,通信接收方使用发送方的公开密钥对签名进行解密,就能判断这个签名是否正确。


  • 优点

    :可以更安全地将公开密钥传输给通信发送方;

  • 缺点

    :运算速度慢。



版权声明:本文为m0_57401730原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。