HTTPS加密(图文详解)

目录

HTTPS是什么

HTTPS的工作过程

加密

对称加密

非对称加密


HTTPS是什么

HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层(SSL/TSL)

HTTP是使用明文传输的,这就导致在传输过程中出现一些被篡改的情况

最典型的就是运营商劫持,点这个下载那个,因为我们的网络都是经过四大运营商的网络设备(路由器,交换机...),这时候运营商就可以篡改服务器返回给浏览器的数据

 HTTPS就是在HTTP的基础上对明文进行加密,进一步的保证用户的安全

HTTPS的工作过程

加密

谈到加密先来拜拜图灵祖师爷,也是密码学之父

加密就是把 明文(传输的信息) 进行变换,转换成密文

解密就是把 密文 ,进行一系列的变换还原成明文

密钥就是辅助加密和解密的工具

我们平时看到的藏头诗本质上就是加密,比如你问我你喜欢听谁的歌,我就会说:

林间鸟声喧

俊出声铮铮

杰阁坐褫带

明文 : 林俊杰

密文: 这首诗

秘钥: 告诉你这是一首藏头诗

加密的方式可以分为 对称加密非对称加密

对称加密

在对称密钥加密中,加密算法使用相同的密钥对数据进行加密和解密。发送方使用密钥将明文数据加密成密文,并将其发送给接收方。接收方使用相同的密钥对密文进行解密,以恢复原始的明文数据。

它具有高效性能,但需要注意密钥的安全性和分发的问题。

可以对一串字符进行对称加密

明文 -> 密文: 123abc -> cba321

密文 -> 明文: cba321 -> 124abc

秘钥:反转字符串

使用反转字符串这个密钥可以实现 明文变密文 和 密文变明文,这就是对称加密

对称加密的工作过程

 这时候黑客来了, 马上拿到key对数据进行了篡改,还是不安全,这时候就引出了相比之下更安全的非对称加密

       上述对称密钥是发送key的时候key被截获了所以非对称密钥是对key进行加密,保证在建立连接中,客户端向服务器发送key的时候,不会被黑客截获key,这时候后面的传输就安全了

非对称加密

非对称加密用到的是两个密钥,分别是 "公钥" 和 "私钥"

在非对称密钥加密中,公钥用于加密数据,而私钥用于解密数据。发送方使用接收方的公钥对数据进行加密,并将加密后的数据发送给接收方。接收方使用自己的私钥对密文进行解密,以获取原始的明文数据。

非对称密钥加密具有较高的安全性,广泛应用于安全通信、数字签名和身份验证等领域。

        (自己留着的就是私钥,发出去的就是公钥)

非对称加密工作过程

 这样就完事了吗,当然没有,黑客使用乾坤大挪移,自己也生成了一对密钥,把服务器的公钥换成了自己的,这样,客户端传输的key又被黑客骗走了,请看下图

中间人攻击:

上述的为所欲为和为非作歹都可以理解为解析和篡改数据之类的...

 

 这样就完事了吗,黑客笑的太早了

鉴于黑客太狂了,我们在密钥之上再加一个证书

证书:

证书可以理解为结构化的字符串,里面包含了以下信息:

  • 证书发布机构
  • 证书有效期
  • 公钥
  • 证书所有者
  • 签名
  • ....

当客户端获取到证书的时候,会对证书进行校验(方式黑客伪造证书)

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

数据摘要/签名:

不同的数据,生成的签名差距是非常大的,这样的签名,就可以区分不同的数据

常见的生成签名的算法: MD5  和   SHA系列

设计过算法的证书只要被改了一点点,签名就会有非常大的区别

综合而言,对称密钥适用于大量数据的加密和解密,但在密钥分发和管理方面存在挑战;非对称密钥提供了更高的安全性,但速度较慢,适用于密钥交换和数字签名等场景。在实际应用中,通常使用混合加密方案,结合对称密钥和非对称密钥的优点,非对称密钥辅助堆成密钥,以达到安全性和效率的平衡。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值