JavaEE之HTTPS


HTTPS

加密

HTTPS 就是在 HTTP 的基础上进行了 加密 , 进一步的来保证用户的信息安全~

举个例子:

83 版 <<火烧圆明园>> , 有人要谋反干掉慈禧太后. 恭亲王奕䜣给慈禧递的折子. 折子内容只是扯一扯家常,但套上一张挖了洞的纸就能看到真实要表达的意思~

在这里插入图片描述

明文: 要传递的原始信息(当心肃顺,瑞华,戴恒)
密文:扯家常的折子
密钥: 带窟窿的纸(在加密和解密中,起到至关重要的重要)
加密: 使用密钥把明文变成密文
解密:使用密钥把密文还原成明文

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

保证安全就需要加密~
加密简单的办法,对称加密
最简单的对称加密,就是按位异或 :

a^ b ^ b => a (加密a^b,解密再在加密的基础上^b 就得到了a)

哈希不是加密,因为无法解密,计算hash会丢失信息量!

一个服务器要给很多客户端提供服务,这些客户端是使用不同的密钥~ (如果大家都用同一个密钥,等于没有密钥)

🚜典型的做法,就是每个客户端,在建立连接之初,先生成密钥,然后进行通信的时候,先把自己的这个密钥,发给服务器~
在这里插入图片描述

客户端生成密钥,就需要传给服务器,但是如果明文传输,就会导致密钥被黑客拿到,后续的加密形同虚设!!!
在这里插入图片描述
就需要考虑对密钥进行加密!!

为了解决上述问题,就引入 非对称加密 来解决

加密一个密钥
解密一个密钥

这俩是成对的,但是知道一个,无法推测出另一个
可以使用密钥A来加密,配对的密钥B解密
也可以使用密钥B来加密,配对的密钥A来解密

可以让服务器生成一对非对称密钥
一个是公开出来的,任何人都能获取到 公钥
另一个是私密的,只有服务器自己知道 私钥

客户端就可以先从服务器拿到服务器的公钥,然后使用公钥对自己生成的对称密钥进行加密~
此时由于外界只有公钥,私钥只有服务器自己所有(服务器拿不到)
只有服务器可以使用对上述的请求进行解密了
在这里插入图片描述
既然都引入了非对称加密,为啥还要有对称加密?
因为对称加密开销成本较低~ 算的快,资源成本小
非对称加密开销成本大~ 算的慢,资源成本大

在这里插入图片描述

但是针对上述情况,黑客还是有办法进行入侵的!!

中间人攻击:

在这里插入图片描述

如何反制上述情况?

引入证书

中间人攻击的关键,就是要证明当前这个公钥,是服务器自己的公钥,而不是伪造的!!

在这里插入图片描述

证书校验过程不一定非要访问网络~


上面介绍的https对称加密+非对称加密+ 证书这套流程,不是HTTPS独有的,其实这套机制属于一个专门的协议SSL/TLS

HTTPS = HTTP + SSL(很多加密的场景都会用到这个)

总结

在这里插入图片描述

你可以叫我哒哒呀
本篇到此结束
“莫愁千里路,自有到来风。”
我们顶峰相见!
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值