https与http

HTTPS

HTTPS 是超文本传输安全协议,即HTTP + SSL/TLS

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

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

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

120210715-0.png

SSL/TLS

在应用层和传输层之间

TLS/SSL的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

HTTPS采用的加密方式有哪些?是对称还是非对称?

HTTPS 采用混合的加密机制,使用非对称密钥加密用于传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率。

在这里插入图片描述

HTTPS的工作原理

确保传输安全过程(其实就是rsa原理):
Client给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
Server确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。
Client拿到并验证数字证书有效,然后生成呀一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给Server。
Server使用自己的私钥,获取Client发来的随机数(Premaster secret)。
Client和Server根据约定的加密方法,使用前面的三个随机数,生成”对话密钥”(session key),用来加密接下来的整个对话过程。

数字证书包括 域名、公钥密钥、证书机构等,以私钥加密,公钥公开解密,如果证书被篡改,公钥解密出来的信息与证书上不一致。

浏览器:

  1. 浏览器拿证书;
  2. 浏览器验证证书;
  3. 浏览器生成对称加密秘钥,就这个key3;
  4. 把这个对称加密key3,用服务器公钥加密发送给服务器,服务器拿到key3,后续的步骤就是用key3来加密数据了。

HTTP 和 HTTPS 的区别

  • HTTP是明文传输,不安全的,HTTPS是加密传输,安全的多
  • HTTP标准端口是80,HTTPS标准端口是443
  • HTTP不用认证证书免费,HTTPS需要认证证书要钱
  • HTTP是无状态的,HTTPS是有状态
阅读剩余
THE END