【网络协议】应用层协议HTTPS

文章目录

  • 为什么引入HTTPS?
  • 基本概念
  • 加密的基本过程
  • 对称加密
  • 非对称加密
  • 中间人攻击
  • 证书

为什么引入HTTPS?

由于HTTP协议在网络传输中是明文传输的,那么当传输一些机密的文件或着对钱的操作时,就会有泄密的风险,从而引入HTTPS来保证数据在网络传输中的安全。

基本概念

HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议) 的缩写,是一种通过计算机网络进行安全通信的传输协议。

HTTP 本身是不安全的,因为传输的数据未经加密,可能会被窃听或篡改,为了解决这个问题,引入了 HTTPS,即在 HTTP 上加入 SSL/TLS 协议,为数据传输提供了加密和身份验证。

HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。

HTTP 的 URL 是由 http:// 起始与默认使用端口 80,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443

加密的基本过程

我们将网络中要传输的还未加密的数据称为“明文”,称加密的工具为“密钥”,被加密后的数据称为“密文”。

在发送端传输数据之前,使用密钥对数据进行加密,当加密后的数据到接收端时,接收端再使用密钥对密文进行解密,拿到信息。

解密算法主要是分为对称加密非对称加密
非对称加密的安全性更高一些。

对称加密

对称加密就是加密和解密使用同一把密钥:
在这里插入图片描述
这时,就会出现一个问题,每个服务器是给多个客户端服务的,一旦客户端的数量过多,那么服务器负载就会严重,此时又引入下面的做法:

每次在客户端和服务器进行通信时,客户端跟服务器要先约定好密钥,再进行通信,这样做就不必再服务器存入每一个客户端的密钥了。

在这里插入图片描述
这时,又又有一个问题,在客户端和服务器在沟通使用哪个密钥时,被黑客窃取到信息,那该怎么办呢?这时就引入了非对称加密

非对称加密

非对称加密就是加密和解密使用的密钥不是同一把。一个叫“公钥”,一个叫“私钥”,公钥和私钥之前是配对的,但是这个加密解密的过程非常慢,所以一不使用非对称加密,只是在协商密钥时使用。

这里的流程如下:

  1. 服务器生成私钥和公钥
  2. 服务器保存私钥,将公钥告知给客户端(所有人都能拿到公钥)
  3. 客户端使用公钥对协商使用哪个(对称加密)密钥的信息进行加密,传递给服务器
  4. 服务器在拿到信息后,使用私钥进行解密,获得信息,之后就使用协商的(对称加密)密钥来进行解密
    在这里插入图片描述

但这个过程还是存在风险,这就是中间人攻击要讲解的内容了。

中间人攻击

在这里插入图片描述
如上
黑客面对客户端时,就充当服务器的角色
面对服务器时,就充当客户端的角色。

兵来将挡水来土掩,那么这个问题又该如何解决呢?

这时引入了证书

证书

服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端公钥的权威性

这个证书实际上是一个结构化的字符串,包含如下信息:

  • 证书发布机构
  • 证书有效期
  • 公钥
  • 证书拥有者
  • 持有者网站的主域名
  • 数字签名

这其中的数字签名是这些信息中最重要的一个。

数字签名是怎样得来的呢?

  1. 公证机构在颁布这个证书的时候会生成一对 “公钥”和“私钥”
  2. 对证书中的信息(发布机构、有效日期、公钥等)生成校验和
  3. 再用“校验和”和“私钥”进行非对称加密生成数字签名

有了证书后,客户端和服务器的通信过程又发生了一些变动。
在这里插入图片描述
如何对证书进行检验呢???

  1. 针对证书的字段计算校验和。得到校验和1
  2. 针对数字签名进行解密
    前面已经讲过,数字签名是公证机构使用私钥进行加密的,这时解密就需要公证机构的公钥来解密了。
    这里的公钥已经保存在操作系统中。(证书发布,操作系统就会将这个证书连同他的公钥一同存入到操作系统中)
    拿到公钥后,对数字签名进行解密,得到校验和2
  3. 比对校验和1和校验和2,如果相等,就说明证书是真的,也就代表证书中的公钥是真的
  4. 拿到真的公钥来进行后续的操作。

以上就是本文所有内容,如果对你有帮助的话,点赞收藏支持一下吧!💞💞💞

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

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

相关文章

【进程空间】通过页表寻址的过程

文章目录 前言介绍页表、页框、页目录的概念页框页表页目录页表和页目录的分配 一级页表和二级页表一级页表寻址过程 二级页表寻址过程 一级页表和二级页表的对比 前言 我们知道每个进程都有属于自己的虚拟地址空间,且每个进程的虚拟地址都是统一的。要想通过虚拟地…

数据结构(七)递归、快速排序

文章目录 一、递归(一)使用递归实现1~n求和1. 代码实现:2. 调用过程:3. 输出结果: (二)青蛙跳台阶问题1. 问题分析2. 代码实现3. 输出结果4. 代码效率优化5. 优化后的输出结果 二、快速排序&…

Euler 欧拉系统介绍

Euler 欧拉系统介绍 1 简介重要节点与版本EulerOS 特色EulerOS 与 openEuler 区别联系Euler 与 HarmonyOS 区别联系 2 openEuler特色支持 ARM,x86,RISC-V 等全部主流通用计算架构融入 AI 生态嵌入式实时能力提升引入 OpenHarmony 一些突出功能 参考 1 简…

将 KNX 接入 Home Assistant 之二 准备软件

写在前面: 在KNX官网也有关于 Home Assistant 的教程,地址是 Get started with Home Assistant x KNX 需要的东西是 a KNX IP Interface or Routera Raspberry Pian SD Card at least 32 GB 安装 Home Assistant 系统 下载镜像: 地址&…

idea中git检出失败

之前clone好好的,今天突然就拉取不下来了。很多时候是用户凭证的信息没更新的问题。由于window对同一个地址都存储了会话。如果是新的会话,必须要更新window下的凭证。 然后根据你的仓库找到你对应的账户,更新信息即可。

反射器和联邦实验

拓扑 要求 IP配置 [R1-GigabitEthernet0/0/0]ip add 12.0.0.1 24 [R1-LoopBack0]ip add 192.168.1.1 24 [R1-LoopBack1]ip add 10.0.0.1 24[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24 [R2-GigabitEthernet0/0/1]ip add 172.16.0.1 21 [R2-GigabitEthernet0/0/2]ip add 17…

(IDEA修改Java版本)java: 警告: 源发行版 X 需要目标发行版 X

搜索关键词:一致、发行 错误信息 其他错误: java: 错误: 不支持发行版本 6 java: -source 1.5 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式) 思路 有两个地方要检查,JDK版本保持一致即可。 比如统一用JDK8或…

FM1800隧道广播插播控制器

隧道广播插播控制器是一款群载波&应急广播插播控制器采用SDR软件无线电技术,产生独立的插播信号与“群载波”信号,本设备可通过软件无线电技术将音频信号调制成调频载波或“群载波”信号,分别送入插播主机,实现隧道广播远端机…

20240528解决飞凌的OK3588-C的核心板可以刷机不能连接ADB的问题

20240528解决飞凌的OK3588-C的核心板可以刷机不能连接ADB的问题 2024/5/28 16:34 OS:Linux R4/Buildroot 硬件接了3条线出来,一直可以刷机,但是链接ADB异常。 【总是链接不上】 Z:\OK3588_Linux_fs\kernel\arch\arm64\boot\dts\rockchip\OK3…

Android11 事件分发流程

在Android 11 输入系统之InputDispatcher和应用窗口建立联系一文中介绍到,当InputDispatcher写入数据后,客户端这边就会调用handleEvent方法接收数据 //frameworks\base\core\jni\android_view_InputEventReceiver.cpp int NativeInputEventReceiver::h…

炒黄金怎么追单?-融知财经网

在黄金投资领域,当市场行情呈现出有利的走势时,许多交易者会选择追加下单以扩大盈利。追单作为一种投资策略,旨在利用市场波动获取额外收益。然而,要想在追单中取得成功,需要掌握一定的技巧和策略。融知财经网给介绍黄金交易中追单的一些关键技巧,帮助投资者理智追单,稳健获利。…

线性插值的频域特性

1、抽取和插值的简单说明 抽取和插值是变采样过程中常用的两种手段,其中抽取的目的是降低数据的采样率,以降低对系统存储深度或计算量的要求。插值的目的是提高数据的采样率,以提高系统的计算精度。 M M M倍抽取通常是通过每隔 M M M…

Docker安装Nginx 并实现通过nginx部署静态网址

Docker镜像就是一个只读的模板,可以用来创建Docker容器。 例如:一个镜像可以包含一个完整的centos操作系统环境,里面仅安装了mysql、nginx等或用户需要的其他应用程序。 Docker提供了一个非常简单的机制来创建镜像或者更新现有的镜像&#…

GTD时间管理法

Part 1. What is GTD? | 什么是GTD? GTD is a framework that enhances focus and productivity. Through techniques such as capturing all tasks in a trusted system and breaking down complex projects into actionable items, GTD allows individuals to co…

美业系统SaaS收银系统源码-顾客在系统付款了但系统未显示怎么办?美业系统实测

美业SaaS系统 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 活动促销 PC管理后台、手机APP、iPad APP、微信小程序 1. 提供门店名称、付款凭证和会员手机号 2. 到订单明细查询, 按门店名称和会员手机号查询看是否有相…

百度智能云千帆AppBuilder升级!开放多源模型接入,思考模型再次加速!

>>【v0.5.4版本】 上线时间:2024/5/24 关键发版信息: 大模型优化:开放多源模型接入,思考模型再次加速! Agent思考模型:新增AppBuilder专用版模型ERNIE Speed-AppBuilder,自主任务规划…

【软考】下篇 第15章 面向服务架构设计理论与实践

目录 一、SOA定义二、微服务微服务优势微服务与SOA对比微服务架构模式方案微服务设计约束 三、SOA参考架构四、SOA设计的标准要求五、SOA设计原则六、SOA设计模式七、SOA实施 一、SOA定义 面向服务的体系结构 (Service-Oriented Architecture,SOA), 从应用和原理的角度看&…

openLayers加载wms图层并定位到该图层

openLayers定位到wms图层 我们的wms是加载geoserver发布的服务,wms加载的图层是没法通过layer.getSource().getExtent()来获取到extents(边界)的;实现思路是通过postgis的函数(st_extent(geom))来获取extents; 返回前端后格式化一…

23-LINUX--TCP连接状态

一.TCP服务的特点 传输层协议主要有两个:TCP 协议和 UDP协议。TCP 协议相对于UDP协议的特点是:面向连接、字节流和可靠传输。 使用TCP协议通信的双方必须先建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源&a…

lammps案例:reaxff势模拟Fe(OH)3高温反应过程

大家好,我是小马老师。 本文分享一个reaxff反应势的案例。 该案例主要模拟Fe(OH)3在高温下的反应过程,主要代码来自lammps自带的案例。 lammps自带案例没有产物输出,故在此基础上稍加修改,增加了产物输出命令。 反应过程如下图…