0
点赞
收藏
分享

微信扫一扫

HTTPS 加密过程详解

诗尚凝寒 2022-01-28 阅读 94

HTTPS 加密过程详解

HTTPS 中的概念

对比 HTTP 与 HTTPS 网络分层结构

在这里插入图片描述
可见:HTTPS 是在 HTTP 协议上加上一层 SSL (安全协议)层;

密码学的奠基人----艾伦·麦席森·图灵

由于 HTTP 是通过明文进行传输的,因此存在被劫持的风险,所以,引入了加密算法来对明文进行加密处理;下面介绍两种加密方式

  • 对称加密
  • 非对称加密

对称加密

因此,密钥的传输也必须进行加密处理!

非对称加密

公钥和私钥是配对的;

  • 通过公钥对明文加密, 变成密文;
  • 通过私钥对密文解密, 变成明文;

也可以反着用

  • 通过私钥对明文加密, 变成密文;
  • 通过公钥对密文解密, 变成明文;

由于公钥是对所有人都开放的,因此,也有被黑客篡改的风险,所以需要引入证书来验证真伪;当客户端和服务器刚建立连接的时候, 这时服务器就会给客户端返回一个 证书该证书中包含了刚才的公钥, 也包含了网站的身份信息;

类似于人要去公安局办理一个身份证;同样的, 搭建一个 HTTPS 网站要在CA机构先申请一个证书

当客户端拿到这个证书之后, 需要对证书进行校验(防止证书是伪造的)

  • 判定证书的有效期是否过期
  • 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构);
  • 验证证书是否被篡改:从系统中拿到该证书发布机构的公钥, 对签名解密, 得到一个 hash 值(称为数据摘要/签名), 设为 hash1; 然后计算整个证书的 hash 值, 设为 hash2. 对比 hash1 和 hash2 是否相等,如果相等, 则说明证书是没有被篡改过的;

理解数据摘要 / 签名?

类似于工作中遇到的 “报销” 的场景,你拿着发票想报销, 需要领导批准. 但是领导又不能和你一起去找财务, 那咋办?
很简单, 领导给你签个字就行了, 财务见到领导的签字, “见字如见人”;

理解证书篡改的过程?

假设我们的证书只是一个简单的字符串 hello, 对这个字符串计算hash
结果为:BC4B2A76B9719D91
如果 hello 中有任意的字符被篡改了, 比如变成了 hella, 那么计算的 hash 值就会变化很大
结果为: BDBD6F9CF51F2FD8

但如果黑客把 hello 篡改了, 同时也把哈希值重新计算下, 客户端就分辨不出来了呀;

如下图所示

在这里插入图片描述

举报

相关推荐

0 条评论