HTTPS总结

HTTPS

从网络协议的角度理解HTTPS:

在这里插入图片描述

HTTPS 经由 HTTP 进行通信,但利用 TLS 来保证安全,即 HTTPS = HTTP + TLS

从密码学的角度理解HTTPS

HTTPS 使用 TLS 保证安全,这里的“安全”分两部分,一是传输内容加密、二是服务端的身份认证

TLS工作流程:

在这里插入图片描述

密码基础
伪随机数生成器

为什么叫伪随机数,因为没有真正意义上的随机数
它的主要作用在于生成对称密码的秘钥、用于公钥密码生成秘钥对

消息认证码

消息认证码主要用于验证消息的完整性与消息的认证,其中消息的认证指“消息来自正确的发送者

在这里插入图片描述

  1. 发送者与接收者事先共享秘钥
  2. 发送者根据发送消息计算 MAC 值
  3. 发送者发送消息和 MAC 值
  4. 接收者根据接收到的消息计算 MAC 值
  5. 接收者根据自己计算的 MAC 值与收到的 MAC 对比
  6. 如果对比成功,说明消息完整,并来自与正确的发送者

缺点:消息认证码的缺点在于无法防止否认,因为共享秘钥被 client、server 两端拥有,server 可以伪造 client 发送给自己的消息(自己给自己发送消息)

数字签名

在这里插入图片描述

数字签名和消息认证码都不是为了加密

使用自己的私钥对自己所认可的消息生成一个该消息专属的签名,这就是数字签名,表明我承认该消息来自自己
注意:私钥用于加签,公钥用于解签,每个人都可以解签,查看消息的归属人

公钥密码

公钥密码也叫非对称密码,由公钥和私钥组成,它是最开始是为了解决秘钥的配送传输安全问题,即,我们不配送私钥,只配送公钥,私钥由本人保管
它与数字签名相反,公钥密码的私钥用于解密、公钥用于加密,每个人都可以用别人的公钥加密,但只有对应的私钥才能解开密文
client:明文 + 公钥 = 密文
server:密文 + 私钥 = 明文
注意:公钥用于加密,私钥用于解密,只有私钥的归属者,才能查看消息的真正内容

证书
密码总结
密码作用组成
消息认证码确认消息的完整、并对消息的来源认证共享秘钥+消息的散列值
数字签名对消息的散列值签名公钥+私钥+消息的散列值
公钥密码解决秘钥的配送问题公钥+私钥+消息
证书解决公钥的归属问题公钥密码中的公钥+数字签名

HTTPS的一次请求流程

先建立一个tcp的连接

浏览器获取证书

浏览器验证证书->去ca验证,ca已经把根证书存到了我们的操作系统中

浏览器通过公钥加密一个对称密钥(一段数据),

服务器接收到密文,通过自己的私钥解密得到对称密钥

接下来的传输使用对称加密算法,以及对称密钥进行通信,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值