【HTTPS】中间人攻击和证书的验证

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【HTTPS】中间人攻击和证书的验证

中间人攻击

服务器可以创建出一堆公钥和私钥,黑客也可以按照同样的方式,创建一对公钥和私钥,冒充自己是服务器(搅屎棍

  • 黑客自己也能生成一对公钥和私钥。生成公钥和私钥的算法是开放的,服务器能生产,黑客也能生成
  • 客户端拿到 pub2 之后,无法区分 pub2 是否是服务器的,于是就拿着 pub2 就对 key 进行加密了
  • 随后信息到达黑客之后,就使用 pri2 对上述数据进行解密,然后黑客就拿到了 key
  • 黑客继续使用从服务器拿到的 pub1key 进行加密,传给服务器·
  • 服务器拿到数据之后,使用 pri1 来解密,于是知道了对称密钥是 key。后续的通信,服务器和客户端之间,仍会继续使用 key 作为加密的密钥。此时后续传输的各种数据就可以被黑客解密了

引入证书

针对中间人攻击,怎么解决?


最关键的一点,客户端在拿到公钥的时候,要能有办法验证,这个公钥是否是真的,而不是黑客伪造的。这就要求服务器这边,要可以提供一个“证书”

  • 证书是一个结构化的数据(里面包含很多属性,最终以字符串的形式提供)
  • 证书中会包含一系列的信息(服务器的主域名、公钥、证书有效期…)

证书是搭建服务器的人,要从第三方的共振机构进行申请的

证书的验证

证书里面包含:

  • 服务器的域名:…
  • 证书的有效时间:…
  • 服务器的公钥:…
  • 公正机构信息:…
  • 证书的签名:…(验证过程中最重要的

证书签名

此处的签名本质上是一个经过加密的校验和

  • 把证书中其他的字段通过一系列的算法(CRC、MD5 等),得到一个较短的字符串,就是校验和
  • 如果两份数据内容一样,此时校验和就一定是相同的;如果校验和不同,则两份数据一定不同

颁布证书的公证机构,会在颁布证书的时候,给这个证书计算出校验和。然后公正机构会使用自己的私钥(和服务器的私钥无关),针对校验和进行加密,此时就得到了证书的签名

验证过程

客户端拿到证书之后,主要做两件事:

  1. 按照同样的校验和算法,把证书的其他字段都重新算一遍,得到 校验和1
  2. 使用系统中内置的公正机构的公钥,对证书中的签名进行解密,得到 校验和2

此时,就可以对比,这两个校验和是否一致。若一致,就说明证书是没有被修改过的,就是原版证书;若不一致,就说明证书被人篡改过了(比如黑客如果替换了自己的公钥,此时出来的校验和一定发生变化),此时客户端就能识别出来了

  • 此时浏览器这边就会弹出一个告警页面,告诉用户,你访问的网站有风险,请谨慎访问!!!(可能是黑客进行了中间人攻击,也可能是证书过期了)

市面上的公正机构一共也没多少,这些公正机构都有自己的私钥,对应的公钥都包含在常见的系统中。Windows 里面就内置了大量的公钥(如果没有,也可以额外安装)

  • 前面安装 fiddler 的时候,有一步操作就是在安装证书(主要就是在安装 fiddler 这边提供的公钥)

证书是为了防止黑客篡改,而不是为了避免黑客知道。黑客的系统也内置了公正机构的公钥,黑客也能进行解密

  1. 如果黑客直接修改公钥,不修改签名。此时,客户端验证的校验和是一定不一样的,直接就识别出来了
  2. 如果黑客修改公钥,也尝试重新生成签名,由于黑客不知道公正机构的密钥,所以黑客无法重新生成加密的签名。
    如果黑客拿自己的私钥加密呢?客户端这边拿着公证机构的公钥也会解密失败
  3. 黑客能不能自己也去公证机构申请个证书?然后把自己的整数替换掉服务器的证书呢?
    证书中还需要包含服务器的域名,域名是唯一的,黑客申请的证书的域名,和原服务器的域名肯定是不同的。
    客户端拿到证书之后,一看域名都不一样,直接就知道证书是假的了,都不用进行校验和验证了

当然,上述的过程,所谓的安全,也不是绝对的安全。上述的安全本质上都是基于非对称加密体系。非对称加密体系也不是无懈可击的,只不过破解这样的加密体系,需要的计算量非常大,超出了现有计算机的算力上限。

随着算力的提升,尤其是量子计算机崛起,我们的算力又会大幅度提升,对现有的密码学体系就会造成重大冲击


相关文章
|
24天前
|
运维 搜索推荐 安全
HTTPS 证书自动化运维:基础知识与重要性
随着互联网发展,HTTPS 成为保护网站和用户数据安全的标准协议。HTTPS 证书(SSL/TLS)验证网站身份并加密通信,分为 DV、OV 和 EV 三种类型,确保数据传输安全。它不仅提高安全性、增强用户信任,还能提升搜索引擎排名。手动管理证书繁琐易错,自动化运维工具如 Let`s Encrypt 和 Certbot 可简化流程,减少错误,提高效率。文章介绍了 HTTPS 证书的基础知识、重要性及自动化运维的概念。
|
24天前
|
监控 运维
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
|
24天前
|
Linux 持续交付 调度
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
|
24天前
|
机器学习/深度学习 人工智能 运维
HTTPS 证书自动化运维:展望未来发展趋势
HTTPS证书自动化运维正朝着更智能、高效和安全的方向发展。未来系统将提升自动化程度,减少人工干预,实现自动签发、续订与部署;深度集成多云平台,提供无缝管理体验;增强高级安全功能如加密算法和威胁检测;优化用户界面,降低使用门槛;支持更多操作系统,确保跨平台一致性;引入AI/ML技术,预测需求并自动解决问题;加强标准化与互操作性,促进生态系统协作。同时,系统将持续扩展功能、优化性能、支持国际化,并注重用户反馈,为全球用户提供优质的证书管理服务。
|
24天前
|
运维 监控 数据安全/隐私保护
HTTPS 证书自动化运维:HTTPS 证书管理系统之使用指南
本文详细介绍【灵燕空间HTTPS证书管理系统】(https://www.lingyanspace.com)的配置与使用,涵盖注册账户、邮箱配置及证书自动签发、监控和部署的一体化指南。通过页面顶部菜单的【视频教程】和【图文教程】,帮助用户从注册到实际应用全面掌握系统操作。最新迭代后,泛域名证书已包含根域名,无需额外申请多域名证书。
|
1月前
|
数据建模 网络安全
IP地址https证书最新申请流程步骤
确保信息准确,遵循CA指导,遇到问题可联系客服。
|
1月前
|
域名解析 安全 数据建模
没有域名只有IP地址怎么申请https证书?
IP 地址 SSL 证书是一种特殊的 SSL/TLS 证书,允许直接为 IP 地址配置 HTTPS 加密,适用于内部服务、私有网络和无域名的设备管理。与基于域名的证书不同,申请过程较为复杂,需选择支持 IP 的证书颁发机构(CA),并完成额外的身份验证步骤。浏览器对 IP 地址的支持有限,可能会显示警告。通过正确配置服务器(如 Nginx 或 Apache),可以确保通信安全。
|
2月前
|
网络协议 应用服务中间件 网络安全
免费泛域名https证书教程—无限免费续签
随着互联网安全意识提升,越来越多网站采用HTTPS协议。本文介绍如何通过JoySSL轻松获取并实现免费泛域名SSL证书的无限续签。JoySSL提供永久免费通配符SSL证书,支持无限制域名申请及自动续签,全中文界面适合国内用户。教程涵盖注册账号、选择证书类型、验证域名所有权、下载与安装证书以及设置自动续签等步骤,帮助网站简化SSL证书管理流程,确保长期安全性。
|
24天前
|
运维 监控 安全
HTTPS 证书自动化运维:HTTPS 证书管理系统之优势对比
本文详细介绍了一款功能强大的HTTPS证书管理系统,涵盖自动签发、更新、实时监控、部署一体化、自定义加密算法、集中管理和邮箱通知等功能。系统通过简化配置、智能引导、快速响应和多重防护等优势,确保企业和个人用户能高效、安全地管理证书,提升网站和应用的安全性。
|
24天前
|
运维 监控 安全
HTTPS 证书自动化运维:使用Certbot来申请https证书实践指南
本文深入探讨HTTPS证书自动化运维,提供实践指南与案例分析。首先介绍选择合适的工具和平台,如Certbot、ACME客户端及图形化管理系统的应用。接着详细讲解使用Certbot签发Let’s Encrypt证书的步骤,并强调安全策略、权限管理和监控日志的重要性。通过中小型企业与大型电商平台的实际案例,展示自动化运维的优势。最后针对常见问题提供解决方案,帮助读者实现高效、安全的证书管理。

热门文章

最新文章