【JavaEE】网络原理-HTTPS

网络原理-HTTPS

1. HTTPS是什么

HTTPS是在应用层上的协议, 基于HTTP进行加密

  • HTTP协议内容都是按照文本内容进行明文传输,容易使得内容被"劫持"。

  • 十年前,经常有下载链接被劫持,就会产生下载图片和下载链接不是一个产品的现象

2. 对称加密

简而言之,对称加密就是:加密和解密都用的同一把锁,和同一把钥匙

  • 因为密钥不管一开始从哪里生成,都需要让对方知道本次通信的密钥是什么,只有密钥对应起来才能进行通信
  • 所以在密钥传输的过程中容易被劫持
  • 这样的弊端显而易见,如果黑客在服务器和客户端之间,那么就很容易能够知道C-S之间通信的密钥,那么这个加密就会形同虚设。
  • 即使不同的客户端使用自己生成的不同的密钥,那也会被黑客劫持

3. 非对称加密

非对称加密是用于==对对称加密进行加密==的方式,这并不会对于每次的会话进行使用。

3.1 过程

最重要的是衍生出了"公钥"与"私钥"的概念。

  1. 公钥是暴露在网络中的,随便什么人都可以看得见,但是私钥只有服务器才有
  2. 私钥可以对于公钥进行解密
  1. 客户端对于服务器发起请求,携带着后续会话使用什么对称密钥信息

    此时这段对称密钥是暴露在网络中的,但是只能通过私钥进行解密

  2. 服务器使用自己独有的私钥对于这段请求进行解密,获得后续对话使用的对称密钥

    此时服务器知道了对称密钥是什么,后续就不再使用公钥进行加密,直接使用对称密钥

  3. 客户端进行请求的时候将使用对称密钥进行加密

    服务器进行响应的时候将使用对称密钥进行解密

3.2 优点

  1. 确保了安全性
  2. 最大程度减少了资源开销(相比于所有会话都使用非对称加密来说)

3.3 缺点

仍然可能被攻击。

第一种情况:

  1. 黑客可以伪装为服务器,获取客户端的请求(即能够获取到后续会话的对称密钥)

  2. 接着使用暴露的公钥对于这个对称密钥进行加密,发送给服务器

    此时服务器并不知道这个请求是由黑客发送的还是正常的客户端

  3. 服务器发送正常的响应

  4. 后续对话就会由黑客使用对称密钥对于会话进行解密

第二种情况:

  1. 黑客可以伪造一对公钥和私钥
  2. 客户端发送请求被黑客进行劫持后,黑客返回私自伪造的公钥和私钥
  3. 后续对话就会由黑客和客户端进行

3.4 完善方案

最关键的一点是客户端拿到公钥后能够知道是否是真的,而不是伪造的,这就衍生出了公证机构。

公证机构会向服务器颁发**"证书"**,这个证书由公证机构自己的加密算法生成得到,无法进行伪造。

证书信息:

  1. 域名

  2. 证书有效期

  3. 服务器的公钥

  4. 公证机构的信息

  5. 证书的签名

    签名:公证机构使用自己的私钥对于校验和进行加密,就得到签名

过程:

  1. 公证机构颁布证书的时候,会使用自己的算法对于证书计算出一个校验和

  2. 客户端收到服务器的响应之后,先使用操作系统自带的证书(得到计算校验和的算法)得到校验和1

  3. 客户端再使用相同的计算校验和的算法对于证书的其他字段 进行计算,得到校验和2

  4. 如果两个校验和相等,那么证真,反之则伪

为什么能够防止黑客?
  1. 黑客想要伪造证书,会使得校验和2发生变化

    伪造证书分为两种伪造:

    1. 黑客想要修改公钥,因为签名没有变化,会使得校验和2发生变化
    2. 黑客修改公钥和签名,因为黑客不知道公证机构的私钥,所以无法生成签名
相关推荐
运维行者_8 小时前
企业无线网络监控的挑战与智能化演进趋势
大数据·运维·服务器·网络·数据库
Coder_Shenshen10 小时前
西门子S7CommPlus协议鉴权算法原理与流程详解
网络·后端·算法
HavenlonLabs12 小时前
Havenlon 对抗性完整(十七):安全不是“防住攻击”,而是控制失败方式
网络·人工智能·架构·安全威胁分析·安全架构·havenlon
fei_sun13 小时前
路径MTU发现
linux·运维·网络
AlfredZhao15 小时前
Linux 主机防火墙如何同时开启 80 和 443?
http·https·firewall
tachibana215 小时前
hot100 回文链表(234)
java·网络·数据结构·leetcode·链表
从零开始的代码生活_15 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
云栖梦泽在15 小时前
Claude Code / Codex 使用卡顿怎么办?AI 编程 Agent 连接失败与网络排查思路
网络·人工智能·网络协议·chatgpt·性能优化
Jeremy_WW16 小时前
QSFP-DD MSA Hardware协议解读(二)
网络·模块测试·智能硬件
深盾科技_Virbox16 小时前
加密狗授权能力选型:从授权模型到全生命周期管理
java·网络·数据库