[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✿✿ヽ(°▽°)ノ✿

相关推荐
任性不起来了4 小时前
宝塔面板点击ssl证书报错:出错了,面板运行时发生错误!ModuleNotFoundError: No module named ‘OpenSSL‘
网络·网络协议·ssl
Andya_net4 小时前
网络安全 | SSL/TLS 证书文件格式详解:PEM、CRT、CER、DER、PKI、PKCS12
安全·web安全·ssl
2501_9160074715 小时前
iOS 混淆工具链实战,多工具组合完成 IPA 混淆与加固(iOS混淆|IPA加固|无源码混淆|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
Aevget17 小时前
「Java EE开发指南」用MyEclipse开发的EJB开发工具(二)
java·ide·java-ee·eclipse·myeclipse
我命由我1234518 小时前
Spring Boot - Spring Boot 静态资源延迟响应(使用拦截器、使用过滤器、使用 ResourceResolver)
java·spring boot·后端·spring·java-ee·intellij-idea·intellij idea
2501_9159090619 小时前
iOS 26 文件管理实战,多工具组合下的 App 数据访问与系统日志调试方案
android·ios·小程序·https·uni-app·iphone·webview
せいしゅん青春之我21 小时前
【JavaEE初阶】1124网络原理
网络·网络协议·java-ee
我命由我123451 天前
Android 对话框 - 对话框全屏显示(设置 Window 属性、使用自定义样式、继承 DialogFragment 实现、继承 Dialog 实现)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
2501_915918411 天前
掌握 iOS 26 App 运行状况,多工具协作下的监控策略
android·ios·小程序·https·uni-app·iphone·webview