[JavaEE初阶] 防止网络传输中的中间人入侵---证书

上节回顾~

HTTPS=HTTP+SSL(加密协议)

1.引入对称密钥:

  • 客户端生成对称密钥
  • 通过网络把密钥传输给服务器
  • 双方使用对称密钥对数据进行加密解密
  • 缺陷:对称密钥是明文传输的

2.引入非对称密钥,把对称密钥进行加密传输

  • 注意私钥是服务器才有
  • 非对称加密,成本是非常高的,不太适合加密大量数据
  • 对称加密,成本低,适合对大量数据进行加密

当前场景有三个密钥

  • 一个是用户端生成的对称密钥(可以理解为用户密码)
  • 一个是服务器生成的公钥,可以公示出来告诉所有设备
  • 一个是服务器生成的私钥,只有服务器自己知道
    上述这样的流程存在重大安全隐患,黑客可以通过特殊手段来获取到对称密钥,破坏后续传输的安全性

中间人入侵

中间人入侵过程

校验机制---证书

引入校验机制,中间人攻击的关键,在于客户端无法区分收到的公钥是不是真正的 来自服务器的公钥还是被黑客篡改过的公钥->想办法对公钥进行校验

于是引入了证书->证明公钥是合法的

这就是为什么使用Fidder时,需要安装证书

->fidder的工作原理就是中间人攻击,只不过是咱们授权的(你安装了fidder证书,就相当于授权了)

1.服务器向第三方公证机构申请证书

2.客户端询问证书

3.客户端校验证书

4.完整流程

问题一:客户端如何确保拿到的pub2是公证机构的pub2,而不是黑客伪造的pub2?

  • pub2不是通过网络传输的,而是用户操作系统中内置的(安装好系统,系统就内置了一系列知名公证机构的公钥)
  • 只要安装正版系统,而不是搞黑客的盗版系统,就可以信任pub2是正确合法的

问题二:客户端收到的证书 "服务器的公钥"可能被黑客篡改呀?

  • 但是改后的数,算出的校验和,与服务器中的原始校验和就对不上了
  • 此时客户端就会报错
  • 浏览器就会弹出一个红色的页面,告诉你网站不安全,是否要继续访问(证书的校验失败)

问题三:黑客能否自己申请一个证书,用自己的证书,替换整个服务器的证书呢?

  • 证书中包含服务器的域名
  • 黑客申请的证书的域名 和 正经服务器证书的域名肯定是不同的
  • 浏览器这边还是可以验证,输入的URL的域名和 得到证书的域名是不匹配的
  • 不匹配->浏览器就会弹出一个红色的页面,告诉你网站不安全,是否要继续访问(证书的校验失败)

问题四:那如果黑客把整个证书给换了,再把域名给伪造了呢?

  • 证书是要在公证机构这边申请的,每一个公司/组织申请的域名是不一样的

问题五:若黑客修改证书,同时修改服务器的公钥和数字签名呢?

  • 修改公钥,就要重新计算校验和,还需要对校验和重新加密
  • 如果黑客使用自己的私钥加密,就会导致客户端系统内置的公证机构公钥 和 黑客的私钥匹配不上
  • 不匹配->浏览器就会弹出一个红色的页面,告诉你网站不安全,是否要继续访问(证书的校验失败)
  • 那使用公证机构的私钥来加密吗(不然和系统内置的公钥就匹配不上了呀)->黑客能拿到公证机构的私钥吗?狗头

问题五:那黑客本地系统不是也能看到公钥和证书吗?

  • 引入证书,是防止黑客修改 服务器的公钥
  • 黑客看到 系统内置的公证机构的公钥是啥->无所谓(公钥本身就是公开的)
  • 黑客看到校验和->也无所谓->校验和本身就是用来校验数据的,本身并没有什么含义
  • 整个过程只是为了保证客户端可以验证 服务器的公钥是合法的
  • 只要服务器的公钥合法了 就可以使用服务器的公钥对 "客户端产生的对称密钥" 进行加密
  • 后续继续使用对称密钥进行加密交流
  • 业务数据,黑客是看不到一点的

上述流程是面试的高频考点

1.引入对称加密

2.引入非对称加密

3.中间人攻击

4.引入证书&数字签名

想知后续如何,且听下回分解~

END✿✿ヽ(°▽°)ノ✿

相关推荐
无足鸟ICT21 分钟前
【RHCA+】查看变量
linux·运维·服务器
Kina_C31 分钟前
Linux DNS 服务器-从高速缓存到辅助 DNS 部署指南
linux·运维·服务器·dns
EasyGBS43 分钟前
ONVIF设备接入国标GB28181视频平台EasyGBS:不用国标也能一键拉流!
服务器·php·音视频
上海云盾-高防顾问1 小时前
SD-WAN 跨境加速,真实日常使用体验
网络·网络安全
2401_873479401 小时前
SOC告警日志中IP归属不明怎么办?部署IP离线库三步提升响应效率
网络·网络协议·tcp/ip
Multipath7122 小时前
多链路聚合 + 宽带自组网 + 卫星便携站,构筑应急通信“铁三角”乾元通多链路聚合路由破局“三断”绝境,重构应急通信生命线
网络·5g·安全·智能路由器·实时音视频
nVisual2 小时前
机柜PDU安装位置与空间建模方案
大数据·网络·数据库·信息可视化·数据中心基础设施管理
小小代码狗2 小时前
SQLi-Labs 基础注入实战教程(Less-1 ~ Less-5and Less-9)
服务器·python·php
慕伏白2 小时前
【慕伏白】Linux 系统如何根据端口号关闭进程
linux·运维·服务器
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel