HTTPS加密

news2024/9/29 5:31:56

目录

  • HTTPS加密
    • 1.加密和解密
    • 2.对称加密
    • 3.非对称加密
    • 4.中间人攻击
    • 5.证书

HTTPS加密

1.加密和解密

  1.明文: 要传递的原始信息。

  2.密文: 经过加密后的信息。

  3.加密就是指将明文(要传输的信息)按照指定的方式进行变换,生成密文。

  4.解密就是指将密文按照指定的方式进行变换,还原成为明文。

  5.在加密通信中,密钥(Key)是指用于加密和解密数据的一个由比特串组成的秘密值,它可以是一个单独的比特串或者一组密钥对。密钥被用于加密和解密数据

2.对称加密

 对称加密是一种常见的加密通信方式,在对称加密中,加密和解密所使用的密钥相同.

 只有在拥有加密和解密密钥的双方之间,才能成功地完成加密和解密的过程。对称加密使用一种特定的算法来将明文数据加密成密文,只有用密钥才能将密文还原成明文。

 优势:如下图所示,使用对称加密后,即使黑客入侵拿到了请求内容,也不知道密钥是什么,自然无法解密,那么他拿到的数据就没有任何意义。而客户端和服务器都知晓密钥,客户端使用密钥加密,服务器使用密钥解密,由此保证了安全性。

 缺点:由于客户端不止一个,每次都会有很多的客户端访问服务器,每个客户端都需要和服务器有其特定的密钥,而每个客户端的密钥都是不同的。
 若是这么多的密钥都由服务器管理未免负载过大,所以最好的方案是客户端生成密钥,然后把这个密钥告诉服务器,服务器保存这个密钥。

在这里插入图片描述

  但是在客户端将密钥告诉服务器的过程是通过网络通信来实现的,那么就很有可能被黑客拦截到。如下图所示,当客户端告诉服务器密钥是1111的时候,黑客就已经拦截了传输数据并且获取到了密钥是1111,那么此后的各种加密解密过程,黑客可以使用手中的密钥进行解密,如此一来,后续的任何操作都毫无意义了。

在这里插入图片描述

3.非对称加密

  为了弥补对称加密的不安全性,保证密钥不泄露,就需要对密钥进行加密,但如果对密钥使用对称加密,解密的时候就要用加密的密钥解密,如此重复套娃,还是会发生密钥的密钥泄露的情况。所以可以使用非对称加密方式对密钥进行处理。
 非对称加密需要使用一对密钥,一个公钥,一个私钥;公钥用来加密,私钥用来解密。

在这里插入图片描述

  1.服务器生成一对公钥和私钥,公钥公开出去,任何人都能拿到公钥,包括黑客,而私钥只有服务器自己有。

  2.客户端拿到公钥后,使用公钥对对称密钥进行加密,将加密后的密钥密文通过网络传输给服务器。

  3.黑客也可以拦截到客户端发出的密文请求,但黑客只有公钥,没有私钥,无法对密文解密,此时密文请求就安全的传输给了服务器。

  4.服务器拿到密文请求后,通过私钥对密文进行解密,得到对称密钥。

  5.黑客没有私钥,无法解密客户端发出的密文请求,也就无法得到对称密钥,那么后续客户端和服务器就可以安全的使用对称密钥进行加密解密了。

4.中间人攻击

 非对称加密看似足够安全,但是仍然存在中间人攻击的风险.具体过程如下图所示:

在这里插入图片描述

  1.服务器生成一对公钥public1和私钥private1,自己持有私钥,将公钥公开出去。

  2.客户端通过网络获取服务器的公钥。而黑客也可以自己生成一堆非对称密钥public2 和 private2,黑客将服务器公开的public1记下来,然后返回给服务器自己生成的公钥public2(模仿服务器来骗客户端)。

  3.客户端拿到假的公钥public2后,使用public2对称密钥1111进行加密。

  4.客户端将密文请求发给服务器时,黑客拦截此请求,并根据自己的私钥private2对客户端的密文请求进行解密,由此得到了对称密钥1111。

  5.为了防止被发现自己在中间搞鬼,黑客b把对称密钥1111通过之前记住的正确的公钥public1重新加密,再继续发送给服务器(模仿客户端来骗服务器)。

  6.服务器拿到该密文请求后,使用自己持有的私钥private1进行解密,得到了1111的对称密钥。

  7.由此,客户端与服务器之间沟通密钥的过程已经完成,后续将按照1111的对称密钥进行交互。黑客作为中间人的身份,伪造双方的请求,已经知晓了对称密钥,所以后续数据传输的加密也形同虚设。

5.证书

  为了避免出现中间人攻击的隐患,就需要想办法让客户端能够识别其获取到的公钥是服务器发布的正版公钥,还是黑客伪造的虚假公钥,此时就需要引入第三方的公证机构,证书 = 公钥 + 身份标识;其交互过程如下图所示:

在这里插入图片描述

  客户端在校验证书时,通常会执行以下步骤:

  1.客户端向服务器请求证书:客户端发起与服务器的连接请求时,会要求服务器提供数字证书。

  2.客户端获取证书:服务器将数字证书传输给客户端。证书通常包括服务器的公钥、证书颁发机构(CA)的公钥、证书有效期和服务器域名等信息。客户端获取证书后会对证书的有效性进行校验。

  3.校验证书:客户端使用颁发机构的公钥对证书进行解密,从而获得服务器的公钥。接着,客户端计算服务器公钥的指纹,并将该指纹与数字证书中的指纹进行比较,以确保证书未被篡改或伪造。

  4.建立信任:如果客户端成功验证了数字证书的有效性,那么客户端将信任该数字证书,并将服务器的公钥保存在本地。客户端和服务器之间的通信将使用该公钥进行加密和解密。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/670967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytest+selenium+allure+Jenkins自动化测试框架搭建及使用

一、 环境搭建 1. Python下载及安装 Python可应用于多平台包括windows, Linux 和 Mac OS X, 本文主要介绍windows环境下。你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。 如未安装python, 推荐下载python 3.8.3以…

Android——事务处理(续)(十三)

1. 长按事件 1.1 知识点 &#xff08;1&#xff09;掌握长按事件的操作形式&#xff1b; &#xff08;2&#xff09;可以设置手机的桌面背景&#xff1b; 1.2 具体内容 范例&#xff1a;长按一张图片之后&#xff0c;此图片设置为手机桌面背景。 <LinearLayout xmlns:a…

LocalDateTime 和 LocalDate 与 date 有什么区别;LocalDateTime 示例,LocalDate 示例

目录 1 LocalDateTime 和 LocalDate 与 date 有什么区别2 LocalDateTime 示例&#xff1a;2 LocalDate 示例&#xff1a; 1 LocalDateTime 和 LocalDate 与 date 有什么区别 LocalDateTime、LocalDate和Date是 Java中不同的类库中用于表示日期和时间的类&#xff0c; 它们在功…

「Java核心技术大会 2023」6月重磅启动,邀你共同探讨Java生态

前言 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初…

《机器学习公式推导与代码实现》chapter13-LightGBM

《机器学习公式推导与代码实现》学习笔记&#xff0c;记录一下自己的学习过程&#xff0c;详细的内容请大家购买作者的书籍查阅。 LightGBM 就GBDT系列算法的性能而言&#xff0c;XGBoost已经非常高效了&#xff0c;但并非没有缺陷。LightGBM就是一种针对XGBoost缺陷的改进版…

【C++11】 列表初始化 auto 范围for 新增关键字 新增容器

文章目录 1 列表初始化2 auto && 范围for3 新增关键字3.1 decltype3.2 default3.3 delete3.4 final与override 4 总结 1 列表初始化 由c语言的规则我们知道&#xff1a;一般只有数组才会支持用{}初始化&#xff0c;但是C11新语法规定我们不仅可以用{}初始化各种对象(内…

企业微信 创建应用后如何构造网页授权 获取token 获取用户信息

第一次对接企业微信&#xff0c;上网找了各种方案。 目的是在企业微信中&#xff0c;公司发给员工一个地址&#xff0c;员工点开后打开画面&#xff0c;在这个画面上可以获取到这个员工的userid&#xff08;后续功能操作就是各自不同的功能了哈&#xff0c;就不详细说了&#…

STM32F4_触摸屏

目录 1. 触摸屏原理 2. 电阻式触摸屏检测原理 3. 电容式触摸屏检测原理 4. 硬件配置 4.1 XPT2046驱动芯片 4.2 硬件设计 5. 代码详解 5.1 main.c 5.2 AT24C02.c 5.3 AT24C02.h 5.4 C_Touch_I2C.c 5.5 C_Touch_I2C.h 5.6 Touch.c 5.7 Touch.h 5.8 FT5206.c 5.9 …

ADAudit Plus:保护企业内部IT安全的强大解决方案

随着企业数字化的推进&#xff0c;IT系统和数据安全变得比以往任何时候都更加重要。为了保护企业的机密信息和敏感数据&#xff0c;企业需要一种可靠的IT安全解决方案。在众多选项中&#xff0c;ADAudit Plus是一款备受赞誉的软件&#xff0c;为企业内部的IT安全提供了强大的支…

Python入门自学进阶-Web框架——36、Web微信类实现初步

打开页面&#xff0c;会出现一个二维码&#xff0c;要使用手机微信扫一扫&#xff0c;才能登录。它的实现原理是什么&#xff1f; 下图为打开网页版微信登录的调试工具网络信息&#xff0c;定时发送请求&#xff0c;状态待处理&#xff08;pending&#xff09; 上图的挂起是pe…

网络安全|渗透测试入门案例分析,从零基础入门到精通—登录框页面的快速渗透常用检测手段

目录 引言 1、弱口令 2、万能密码绕过 ​编辑 3、登录认证绕过 3.1.令牌刷新端的错误配置 3.2. 错误的sso配置 3.3.CMS个例的访问问题 3.4.JWT Token的错误解析 3.5.暴力修改Authentication 4、图形验证码不失效 5、短信验证码不失效 6、短信攻击 7、反射型跨站脚…

【MySQL数据库】MySQL 高级SQL 语句二

MySQL 高级 SQL 语句二 一、连接查询1.1 inner join&#xff08;内连接&#xff09;1.2 left join &#xff08;左连接&#xff09;1.3 right join(右连接) 二、CREATE VIEW ---- 视图三、 UNION - - 连集3.1 UNION3.2 UNION ALL 四、交集值&#xff08;取两个SQL语句结果的交集…

经典:商业智能BI解读,值得收藏

关注新闻的朋友们可能注意到了&#xff0c;最近这段时间关于数据要素、数字经济、数字化转型的相关行动越来越多&#xff0c;一方面是各级政府的政策规划以及大规模的发展行动&#xff0c;另一方面是则是各行各业的企业开始探寻数字经济&#xff0c;通过数字化转型进行改革&…

angular学习笔记

目录 1、认识Angular![在这里插入图片描述](https://img-blog.csdnimg.cn/17fe3ec067b64d75bf9d24a4e71403ed.png)2、路由2.1、路由懒加载2.2、路由守卫 3、模版指令4、生命周期4.1、父子生命周期 5、依赖注入6、RXJS7、自定义事件&#xff0c;自定义指令8、自定义管道9、获取d…

内网渗透(八十八)之委派攻击

委派 委派是大型网络中经常部署的应用模式,给多跳认证带来了很大的便利与此同时也带来了很大的安全隐患。利用委派,攻击者可结合其他漏洞进行组合攻击,导致攻击者可获取本地管理员权限甚至域管理员权限,还可以制作深度隐藏的后门。 委派是指将域内用户的权限委派给服务账…

【Adversarial Attack in Object Detection】物理对抗攻击和防御

目录 安全监控 **有无意义**无意义的补丁有意义的补丁 光学对抗攻击对抗灯干扰相机成像 攻击方法White-box attacksGradient-based attacks Optimization-based attacks Black-box attacksQuery-based attacksEvolution algorithm OUTLOOK 在计算机视觉中&#xff0c;根据实现…

征服Go世界,御剑江湖!学习路线与顶级资源一网打尽

引言 Go语言&#xff08;也称为Golang&#xff09;是一种开源的编程语言&#xff0c;由Google开发。它具有简洁的语法、高效的并发性能和良好的内存管理&#xff0c;因此在近年来迅速获得了广泛的关注和采用。本文将为您提供一条学习Go语言的路线图&#xff0c;并介绍一些优质…

二分查找 - 数据结构和算法教程

二分查找被定义为在排序数组中使用的一种搜索算法&#xff0c;它通过重复将搜索间隔分成两半来实现。二分查找的思想是利用数组被排序的信息&#xff0c;将时间复杂度降低到O&#xff08;log N&#xff09;。 在数据结构中应用二分查找的条件 数据结构必须排序。访问数据结构的…

mac为什么读取不了NTFS格式硬盘,Tuxera NTFS for Mac 2022 读写ntfs移动硬盘插件

使用 Mac 的巨大痛点之一&#xff1a;移动硬盘只能打开文件&#xff0c;但是无法写入新的资料。有人说格式化硬盘&#xff0c;改成苹果的 macOS扩展格式&#xff0c;但是原先硬盘的数据要转移&#xff0c;而且拿到 Windows 系统里无法被识别。 有人说格式化硬盘&#xff0c;改…

关于nginx,正向代理和反向代理是什么意思

为什么要使用nginx 很多公司会用到nginx做代理服务器&#xff0c;为什么用nginx&#xff0c;tomcat服务器不行吗&#xff1f; tomcat缺点&#xff1a;并发量小&#xff0c;用户使用的少 nginx&#xff1a;高并发&#xff0c;高性能&#xff0c;cpu、内存等资源消耗却非常低&…