知识点:https

12 篇文章 0 订阅
  • 为什么要用https?

HTTP使用明文传输,可以从中截断获取信息,安全性很低。

  • 什么是https

HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。
即http层将数据给到ssl,ssl将数据加密后再给到tcp进行传输。
https保证:内容加密、身份认证和数据完整性。

  • 加密算法

加密分为对称加密和非对称加密。

对称加密:加密数据和解密数据使用的密钥是一样的。
对称加密的优点在于加密、解密效率通常比较高。
缺点在于,数据发送方、数据接收方需要协商、共享同一把密钥,并确保密钥不泄露给其他人。此外,对于多个有数据交换需求的个体,两两之间需要分配并维护一把密钥,这个带来的成本基本是不可接受的。

非对称加密:加密数据用的密钥(公钥),跟解密数据用的密钥(私钥)是不一样的。
公钥:谁都可以看的到的公开的密钥。非对称加密因此也被称为公开密钥加密。
私钥:非公开的密钥。

通过公钥加密的数据只能通过私钥解开。通过私钥加密的数据,只能通过公钥解开。

由于公钥可以解开私钥,而公钥是公开的,因此非对称加密只能保证单向数据传输的安全性,即公钥加密,私钥解密。

这里就要涉及两个重要的概念:
证书:包含公钥、数字签名等。
在客户端发起SSL请求后,服务端会将数字证书发给客户端,客户端会对证书进行验证,并获取公钥。

CA:证书颁发机构。网站向CA提交申请,CA审核通过后,将证书颁发给网站,用户访问网站的时候,网站将证书交给用户。

  • 整个HTTPS通信的过程如下:

握手阶段:
1.客户端发起ssl请求,告知服务器自己支持的加密算法
2.服务器返回证书与要使用的加密算法
3.客户端验证证书
4.客户端生成随机的对称密钥,使用公钥加密后发送到服务器
5.服务器使用私钥进行解密,得到对称密钥

这之后客户端和服务器端进行的通信都使用此对称密钥进行加密。

因此https在握手阶段使用非对称密钥,在数据传送阶段使用对称密钥。

若中间截取了https报文,但是没有密钥是无法解密的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值