什么是HTTPS协议,如何保证加密通信?

HTTPS协议

  1. HTTP协议传输过程中,数据都是未加密的明文,非常不安全
  2. 为了保证这些隐私数据能加密传输,SSL/TLS协议应运而生,用于对HTTP协议传输的数据进行加密

确保传输的过程中只有浏览器和服务端知道加密解密的密码

  1. 使用HTTPS协议在传输数据之前,需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方传输数据的时候使用的密码、
  2. TLS/SSL协议不仅仅是一套加密传输的协议,TLS/SSL中使用了非对称加密,对称加密已经HASH算法

对称加密和非对称加密

对称加密:加密和解密使用同一个密钥

非对称加密:一个公开发布的公钥用于加密,另一个由用户自己秘密保存的私钥用于解密。公钥机制灵活,但加密和解密速度却比对称密钥慢得多。

过程描述

(1)客户端发在通过TCP和服务器建立连接之后(443端口),发出一个请求证书的消息给服务器,在该请求里包含自己可实现的算法列表和其他需要的消息

(2)证书返回: 服务器端在收到消息后回应客户端并返回证书,在证书里包含了服务器信息、域名、申请证书的公司,公钥、数据加密算法等

(3) 证书验证: 客户端在收到证书后,判断证书签发机构是否正确,并使用该签发机构的公钥确认签名是否有效,客户端还会确保在证书中列出的域名就是它正在连接的域名。如果客户端确认证书有效,则生成对称加密密钥,并使用公钥将对称密钥加密。

(4) 密钥交换: 客户端将加密后的对称密钥发送给服务器,服务器在接收到对称密钥后使用私钥解密。

(5) 数据传输: 经过上述步骤, 客户端和服务器就完成了密钥对的交换,在之后的数据传输过程中,客户端和服务端就可以基于对称加密(加密和解密使用相同密钥的加密算法) 对数据加密后在网络上传输,保证了网络数据传输的安全性。

 

 

  • 浏览器与网站互相发送加密的握手消息并验证,目的就是为了保证双方都获得了一致的密码,然后利用它来完成后续数据的加解密
  • 其中非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于对真正传输的数据进行加密,而HASH算法用于验证数据的完成性
  • 由于浏览器生成的密码是整个数据加密的关键,因此在传输的时候使用了非对称加密算法对其加密
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值