应用层—HTTPS详解(对称加密、非对称加密、密钥……)

news2024/11/16 7:44:42

文章目录

  • HTTPS
    • 什么是 HTTPS
    • HTTPS 如何加密
    • HTTPS 的工作过程
      • 对称加密
      • 非对称加密

HTTPS

什么是 HTTPS

HTTPS 也是一个应用层的协议。是在 HTTP 协议的基础上引入的一个加密层。

由来:HTTP 协议内容都是按照文本的方式明纹传输,这就导致在传输过程中出现一些被篡改的情况,因此引入 HTTPS 加密层,用于保护数据。

典型案例就是运营商劫持。由于我们通过网络传输的任何数据包,都会经过运营商的网络设备(路由器、交换机等),那么运营商的网络设备就可以解析出你传输的数据内容,并进行篡改。比如说运营商在用户请求和响应的过程中,插入自己的广告或其他内容,改变原始网页的内容。

运营商为啥要这么做呢??
在这里插入图片描述

不止运营商可以劫持,其他的 黑客 也可以用类似的手段进行劫持,来窃取用户隐私信息,或者篡改内容。

HTTPS 就是在 HTTP 基础上进行了加密,进一步来保证用户的信息安全。



HTTPS 如何加密

想必大家都看过抗战时期的电视剧。在战争中,指挥部向前线传达命令或者情报时,通常会用利用无线电也就是我们所说的电报进行传达。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们为什么会用电报进行信息传达呢??其中最重要的一个原因是,电报具有很高的保密性.

在电报传输的时候,需要有一个密码本(称密钥)和一段要传输的文字(称明文),通信员会按照文字在密码本上的格式来进行传输,以此来形成一段密文。当接收方收到这段密文后,可以参照密码本来进行解析。如果是敌军截获这段电报,是很难解析出来其中的含义的。HTTPS 网络传输的过程,就相当于电报通信的过程。

根据电报的例子我们不难理解,明文+密钥 = 密文(加密) 、密文+密钥 = 明文(解密).

有的场景,加密和解密,使用的是相同的密钥,称为"对称加密"

还有的场景,加密和解密,使用的是不同的密钥,称为"非对称加密"

非对称加密中的不同密钥,还可以分为“公钥”和“私钥”。公钥可以用来加密,私钥就能用来解密。反过来同样如此。



HTTPS 的工作过程

对称加密

最简单的保证安全的做法,是引入对称密钥,针对传输的数据(HTTP 的 header 和 body)进行加密。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


但事情没这么简单。每个客户端,都需要有一把自己的对称密钥(不同客户端的密钥也要不同)如果客户端生成了密钥,就需要把密钥传输给服务器。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


这时候,就还需要想办法,把密钥安全的传输到对端。**需要对这个密钥进行加密!!**此时如果还继续使用对称加密,针对刚才的密钥进行加密,就一定是不行的!!

需要使用非对称加密,针对对称密钥进行加密。



非对称加密

非对称加密要用到两个密钥,一个叫做 “公钥”, 一个叫做 “私钥”。

公钥和私钥是配对的。最大的缺点就是运算速度非常慢,比对称加密要慢很多,因此传输中通常使用对称加密。

  • 通过 公钥 对明文加密,变成密文。
  • 通过 私钥 对密文解密,变成明文。

反过来也可以用。


针对上面对称加密产生的问题,可以使用非对称加密来解决。

首先,服务器产生一对 公钥 和 私钥 ,私钥服务器自己留着用,公钥会发给服务器。接着客户端利用公钥生成密文发送给服务器(发送对称加密的密钥给服务器),服务器利用自己的私钥解开密文。在这过程中因为黑客没有掌握私钥,所以无法破解密文。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



上述的过程中,还存在一个严重的问题,中间人攻击。黑客可以使用中间人攻击的方式,仍然可以拿到对称密钥。

简单来说就是,黑客可以假装自己是服务器,收到服务器发来的 公钥(pub1) 后,自己再设置一对 公钥(pub2) 和 私钥(pri2),将自己的 公钥(pub2) 发给客户端,以此骗取客户端对称加密的密钥,从而在后续过程中截取信息。外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



如何解决中间人攻击的问题呢??

解决中间人攻击的关键,需要让客户端能够确认当前收到的公钥,确实是服务器返回的,而不是黑客伪造的!!!

因此引入了证书机制,需要有一个第三方的认证机构。通过第三方机构作保,来确认当前的 公钥 是有效的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传



到了这一步,黑客仍然还有办法!!!黑客可以把自己伪装成认证机构,骗客户端安装自己的公钥。此时就可以正大光明的替换掉证书中的数字签名。(这里如何进一步进行反针对,就不再讨论)

网络安全中,“攻击”和“防御”是一个对抗的过程。这个过程,理论上是"无限升级的过程"。由此我们可以看到,网络上没有绝对的安全。

上网需谨慎,消息套路深!!!
在这里插入图片描述

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

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

相关文章

重磅来袭“2024粤港澳电子展”覆盖电子信息完整产业链

2024年4月份粤港澳地区将举办一场规模盛大的电子信息产业博览会。这场展会占地面积高达10万平米,设立了多个展馆,涵盖了智慧家庭、新型显示、高端半导体、信创、大数据与存储、国防军工、人工智能、绿色消费电子、基础元器件等行业热点主题。 CITE品牌创…

开源运维监控工具Uptime Kuma本地部署并结合内网穿透实现公网访问

目录 主要功能 一、前期准备 本教程环境为:Centos7,可以跑Docker的系统都可以使用本教程安装。 本教程使用Docker部署服务,如何安装Docker详见: 二、Docker部署Uptime Kuma 三、实现公网查看网站监控 四、使用固定公网地址…

Pycharm连接远程服务器遇到的问题

文章目录 问题一 pycharm always "uploading pycharm helpers" to same remote python interpreter when starts问题二 [Errno 2] No such file or directory/root/miniconda3/bin/python: cant open file/root/. pycharm helpers/virtualenv-20. 24.5.pyz: 根据大佬…

终于把ESB升级说清楚啦!

我们先前已经介绍了iPaaS和API。本期我们将为大家介绍企业集成的重要工具之一——ESB。 【干货分享】终于有人把ESB升级说清楚啦! ESB是什么? 随着信息化发展不断深入,企业在不同的阶段引入了不同的应用、系统和软件。这些原始的应用系统互不…

第04章_IDEA的安装与使用(下)(IDEA断点调试,IDEA常用插件)

文章目录 第04章_IDEA的安装与使用(下)8. 快捷键的使用8.1 常用快捷键8.2 查看快捷键1、已知快捷键操作名,未知快捷键2、已知快捷键,不知道对应的操作名 8.3 自定义快捷键8.4 使用其它平台快捷键 9. IDEA断点调试(Debug)9.1 为什么…

微信公众平台的四种账号类型比较分享

微信公众号对我们来说并不陌生,日常在使用微信的时候经常会刷到公众号文章。但是怎么去运营一个微信公众号又是另外一门学问,微信公众号和朋友圈不同,是个对外公开的个人主页。对于个人来说,可以用来输出一些内容分析;…

OpenHarmony驱动服务管理开发

驱动服务管理的开发包括驱动服务的编写、绑定、获取或者订阅,详细步骤如下。 驱动服务编写 // 驱动服务结构的定义 struct ISampleDriverService {struct IDeviceIoService ioService; // 服务结构的首个成员必须是IDeviceIoService类型的成员。int32_t (*S…

一些可能对开发三维引擎有帮助的图形学书籍列表

计算机图形学基础,第5版(Fundamentals of Computer Graphics, 5th Edition) 3D图形渲染手册:探索现代OpenGL和Vulkan的渲染算法的综合指南(3D Graphics Rendering Cookbook: A comprehensive guide to exploring rende…

【H3C】配置AAA认证和Telnet远程登陆,S5130 Series交换机

AAA配置步骤为: 1.开启telent远程登陆服务 2.创建用户,设置用户名、密码、用户的服务类型 3.配置终端登录的数量 4.配置vlan-if的ip地址,用来远程登陆 5.允许对应的vlan通过 1.开启telent远程登陆服务 sys …

代码随想录算法训练营第27天 | 39.组合总和 + 40.组合总和II + 131.分割回文串

今日任务 39. 组合总和 40.组合总和II 131.分割回文串 39.组合总和 - Medium 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中…

数据结构二:线性表之顺序表(不定长顺序表)的设计与实现

本篇博客详细总结数据结构中的第一种结构:线性表之不定长顺序表,主要从以下几个方面梳理:线性表的定义、顺序表的概念、顺序表的基本操作:增删改查的基本思想及代码实现、基本操作的算法效率分析(时间复杂度和空间复杂度)、顺序表的优缺点适用…

曲线生成 | 图解三次样条曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是样条?2 三次样条曲线原理2.1 曲线插值2.2 边界条件2.3 系数反解 3 算法仿真3.1 ROS C仿真3.2 Python仿真3.3 Matlab仿真 0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细…

二.Winform使用Webview2在Demo1中实现地址简单校验

Winform使用Webview2在Demo1中实现地址简单校验 往期目录回顾添加对于的简单url验证提示通过上节和本节涉及到的函数有 往期目录 往期相关文章目录 专栏目录 回顾 通过一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址 我们已经知道了解决资源…

C语言第五弹---分支语句(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 分支语句 1、if语句1.1、if1.2、 else1.3、 分支中包含多条语句1.4、嵌套if1.5、 悬空else问题 2、关系操作符3、 条件操作符总结 C语言是结构化的程序设计语言&…

爬虫案例—抓取找歌词网站的按歌词找歌名数据

爬虫案例—抓取找歌词网站的按歌词找歌名数据 找个词网址:https://www.91ge.cn/lxyyplay/find/ 目标:抓取页面里的所有要查的歌词及歌名等信息,并存为txt文件 一共46页数据 网站截图如下: 抓取完整歌词数据,如下图…

【网络奇遇记】揭秘计算机网络性能指标:全面指南

🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

华南理工大学数字信号处理实验实验二源码(薛y老师)

一、实验目的 ▪ 综合运用数字信号处理的理论知识进行信号分析并利用MATLAB作为编程工具进行计算机实现,从而加 深对所学知识的理解,建立概念。 ▪ 掌握数字信号处理的基本概念、基本理论和基本方法。 ▪ 学会用MATLAB对信号进行分析和处理。 ▪ 用F…

[小程序]基于token的权鉴测试

一、服务器配置 服务器基于flask,需要额外安装flask_jwt_extended包 from flask import Flask #导入Flask包 from flask import request from flask import jsonify #用来返回json消息 from flask_jwt_extended import create_access_token, jwt_requi…

实战项目(一)内容管理系统

一、实现技术 前端技术:html、javascript(jquery、ajax、json)、css 后端技术:java、mysql、servlet 开发工具:eclipse、vscode 二、项目描述 首页仿写某大学网页,上面有各种栏目及栏目内容,管理员能登录进去对首…

基于 OpenVINO, yolov5 推理

OpenVINO 是英特尔开发的一款功能强大的深度学习工具包,可实现跨多个硬件平台的优化神经网络推理。在本文中,我们讨论了 OpenVINO 的特性和优势,以及它如何与领先的计算机视觉平台 Viso Suite 集成,以构建和交付可扩展的应用程序。…