当前位置: 首页 > article >正文

介绍 HTTPS 中间人攻击

介绍 HTTPS 中间人攻击

https协议是由http+ssl协议构成的。

客户端和服务端SSL或TLS能够相互通信的基本步骤

确定使用协议的版本
选择加密算法
通过交换和验证数字证书彼此进行身份验证
使用非对称加密技术生成共享密钥,避免密钥分发问题。
SSL或TLS使用共享密钥对消息进行对称加密解密,这比非对称加密更快。

中间人攻击过程

1、服务器向客户端发送密钥;
2、攻击者截获公钥,保存到自己手上;
3、然后攻击者自己生成一个【伪造的】公钥,发给客户端;
4、客户端收到【伪造的】公钥后,生成加密的hash值发给服务器;
5、攻击者获得加密hash值,用自己的私钥解密获得真密钥;
6、同时生成假的加密hash值,发给服务器;
7、服务器用私钥解密获得假密钥;
8、服务器用加密钥加密传输信息。

防范方法

服务端在发送浏览器的公钥中加入CA证书,浏览器可以验证CA证书的有效性。


http://www.kler.cn/a/234874.html

相关文章:

  • sqoop import将Oracle数据加载至hive,数据量变少,只能导入一个mapper的数据量
  • C 语言标准库 - <errno.h>
  • 【C++】 list 与 string 基础与实现字符串操作
  • 希尔排序(C语言)
  • C++20 概念与约束(1)—— SFINAE
  • Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
  • 26.篮球练习
  • Android编程权威指南(第四版)- 第 4 章 UI状态的保存与恢复
  • 【WPF.NET开发】优化性能:其他建议
  • fast.ai 机器学习笔记(三)
  • 【开源】JAVA+Vue.js实现森林火灾预警系统
  • Rhino.Inside带材质将Revit模型bake到Rhino
  • 使用 FFmpeg 将视频转换为 GIF 动画的技巧
  • kafka教程
  • JavaWeb后端开发(第一期):Maven基础、Maven的安装配置、如何创建maven项目模块、maven的生命周期
  • 链表:反转链表
  • Flask 入门7:使用 Flask-Moment 本地化日期和时间
  • [ai笔记1] 借着“ai春晚”开个场
  • 第三百一十五回
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • Linux---网络套接字
  • Linux(Ubuntu) 环境搭建:Nginx
  • 【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)
  • 创建你的第一个Vue项目(小白专享版本)
  • 《Django+React前后端分离项目开发实战:爱计划》 02 安装Python和Django
  • Pytorch 复习总结 1