https

https(HTTP+SSL 或者HTTP+TSL)

https解决3个问题

  • 身份验证(数字证书解决)
  • 窃听(加密解决)
  • 篡改(摘要算法)

对称加密、非对称加密、混合加密机制

对称加密:(指加密和解密的密钥为同一个)不好
非对称加密:(密钥是成对的(公钥和私钥)。私钥由自己安全保管不外泄,而公钥则可以发给网络中的任何人。)

  • 和对称加密比起来,它的解密速度非常慢

混合加密:(非对称加密的方式交换双方的对称加密秘钥,交换对称加密秘钥之后双方再用 对称加密的方式进行通信。)

数字证书

client先向server请求证书(server需要先向第三方机构申请证书),client获得后向第三方机构确认证书是否可靠,然后才通信

摘要算法用来确保数据没有被篡改,非对称加密算法可以对数据进行加解密(公钥加密,私钥解密,客户端发送),签名算法(私钥加密,公钥解密,服务端发送的消息)可以确保数据完整性和抗否认性,把这些算法集合到一起,并搞一套完善的标准,这就是数字证书

通信流程

在浏览器中常用的HTTPS协议的做法,即浏览器和服务器先通过RSA(非对称加密)交换AES口令,接下来双方通信实际上采用的是速度较快的AES对称加密

小明要加密一个文件发送给小红,他应该首先向小红索取她的公钥,然后,他用小红的公钥加密,把加密文件发送给小红,此文件只能由小红的私钥解开,因为小红的私钥在她自己手里,所以,除了小红,没有任何人能解开此文件。小红回复时用小明的公钥加密

1、客户端向服务端发起建立HTTPS请求。

2、服务器向客户端发送数字证书。

3、客户端验证数字证书,(用操作系统内置的Root CA来验证)证书验证通过后客户端生成对称密钥,并用公钥加密(双向验证则此处客户端也会向服务器发送证书)。

4、服务器用私钥解密,得到对称密钥(双向验证此处服务端也会对客户端的证书验证)。

5、客户端与服务端开始进行加密会话。

你可能感兴趣的:(网络)