[JavaEE初阶]HTTPS-SSL传输过程中的加密

HTTPS=HTTP+S(SSL/TLS)

SSL也是一个应用层协议,专门负责加密

之前我们说过的运营商劫持就是一个传输过程的网络安全问题

  • 之所以运营商能劫持,是因为在HTTP中,数据都是"明文"传输的(谁都能看到)
  • 解决方法:把数据继续加密,通过密文来传输
  • 明文->加密->密文
  • 密文->解密->明文

例如洋务运动中,恭亲王奕䜣通过密文给老佛爷传信

  • 左边是明文,右边是密文
  • 这张带窟窿的纸,在加密和解密的过程中起到了重要作用->密钥
    HTTPS加密和解密关键在于密钥

密钥的两种方式:

  • 对称密钥:加密和解密使用同一个密钥
  • 非对称密钥:加密使用一个密钥A,解密使用另一个密钥B(密钥A和B之间存在关联关系,但很难猜出来)

非对称密钥:

  • 把其中一个密钥公开出去->"公钥"(谁都能知道)
  • 把另一个密钥自己保存好->"私钥"(谁都不能告诉)
  • 如果用公钥加密,那就要用私钥解密
  • 如果用私钥加密,那就要用公钥解密

HTTPS工作原理:

long long ago~网络上的数据是明文传输的:

引入对称加密(对称密钥)

客户端和服务器最开始通信的时候,就需要一方生成唯一的密钥,再通过网络传输给另一方(要注意的是:密钥本身是明文传输的)

密钥具体是个啥形式?

  • 可以认为是一个很长字符串
  • 有二进制形式的也有文本的,要看具体的加密算法->形式是可以灵活调整的

假设客户端生成对称密钥:

由此可见,我们就需要对密钥进行加密

  • 如果仍然使用对称加密的方式->生成一个对称密钥key2 来对key进行加密->key就可以密文传输给服务器了
  • 但是key2还是得传给服务器呀,难道搞一个key3来对key2进行加密吗???
  • 无论套多少层,总有一层需要明文传输
    因此我们就引入了非对称加密.

非对称加密:

就是为了解决密钥传输的安全性问题

公钥是一把锁,私钥是对应的钥匙:

你以为这就万无一失了???

->NO! 上述方案存在严重漏洞!

有人说,全部使用非对称加密不行吗?

  • 对称加密,运算速度快,开销小,适合对大量数据进行加密
  • 非对称加密,运算速度慢,开销大->加密小数据还行,加密大量数据会非常耗时~

私钥和公钥的生成:

  • 数学上,针对两个非常大的素数做乘积->很容易
  • 但是根据乘积 解出这两个大素数->很难
  • 这两个大素数就是这一对公钥私钥

至于后续如何,且听下回分解~

END✿✿ヽ(°▽°)ノ✿

相关推荐
吠品6 小时前
什么是 IP SSL 证书?该如何申请
网络协议·tcp/ip·ssl
星辰徐哥11 小时前
易语言网络通信编程基础:HTTP/HTTPS/TCP/UDP实战开发
开发语言·http·https·udp·tcp·易语言
DevilSeagull11 小时前
HTTP/HTTPS数据包拓展
网络·网络协议·http·https·web渗透·we
JoySSLLian1 天前
IP SSL证书:一键解锁IP通信安全,高效抵御网络威胁!
网络·人工智能·网络协议·tcp/ip·ssl
2501_915918411 天前
HTTPS 代理失效,启用双向认证(mTLS)的 iOS 应用网络怎么抓包调试
android·网络·ios·小程序·https·uni-app·iphone
2501_915106321 天前
混合应用(Hybrid)安全加固,不依赖源码对成品 IPA 混淆
android·安全·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
无需越狱,来对 iOS 设备进行调试、管理与分析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
在 iOS 上架中如何批量方便快捷管理 Bundle ID
android·ios·小程序·https·uni-app·iphone·webview
鸽鸽程序猿1 天前
【JavaEE】【SpringCloud】 熔断和限流 Alibaba Sentinel
spring cloud·java-ee·sentinel
小白电脑技术1 天前
飞牛绑定免费二级域名ccwu.cc后部署SSL证书教程
网络协议·https·ssl