【Linux】HTTPS

在这里插入图片描述

欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:Linux

在这里插入图片描述


目录

  • 👉🏻HTTPS协议概念
  • 👉🏻加密
    • 为什么要进行加密
  • 👉🏻常见的加密方式
    • 对称加密
    • 非对称加密
    • 对称加密和非对称加密对比
  • 👉🏻数字签名
  • 👉🏻数据摘要and数据指纹

👉🏻HTTPS协议概念

🌈基本概念
HTTPS(Hypertext Transfer Protocol Secure)是一种用于在计算机网络上进行安全通信的协议。它是HTTP的安全版本,通过使用TLS/SSL协议进行加密,确保了数据在传输过程中的安全性和完整性。HTTPS的主要作用是保护用户的隐私和数据安全,防止敏感信息在传输过程中被窃取或篡改。通常,HTTPS被用于安全地传输网页、登录信息支付信息等敏感数据。网站使用HTTPS可以通过使用SSL证书来确保数据传输的安全,这样用户在访问这些网站时就可以看到浏览器地址栏中的“https://”前缀,并且通常会有一个锁定的图标,表示连接是安全的。

HTTPS 也是⼀个应⽤层协议. 是在 HTTP 协议的基础上引⼊了⼀个加密层.
HTTP 协议内容都是按照⽂本的⽅式明⽂传输的. 这就导致在传输过程中出现⼀些被篡改的情况.

👉🏻加密

🌈基本概念
加密就是把 明⽂ (要传输的信息)进⾏⼀系列变换, ⽣成 密⽂ .
解密就是把 密⽂ 再进⾏⼀系列变换, 还原成 明⽂ .
在这个加密和解密的过程中, 往往需要⼀个或者多个中间的数据, 辅助进⾏这个过程, 这样的数据称为 密钥

为什么要进行加密

由于我们通过⽹络传输的任何的数据包都会经过运营商的⽹络设备(路由器, 交换机等), 那么运营商的⽹
络设备就可以解析出你传输的数据内容, 并进⾏篡改.

比如我们下载软件A,点击 “下载按钮”, 其实就是在给服务器发送了⼀个 HTTP 请求, 获取到的 HTTP 响应其实就包含了该APP 的下载链接. 运营商劫持之后, 就发现这个请求是要下载软件A, 那么就⾃动的把交给⽤⼾的响应
给篡改成 “软件B” 的下载地址了.

所以,因为http的内容是明⽂传输的,明⽂数据会经过路由器、wifi热点、通信服务运营商、代理服务
器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传
输的信息且不被双⽅察觉,这就是 中间⼈攻击 ,所以我们才需要对信息进⾏加密。

👉🏻常见的加密方式

对称加密

在这里插入图片描述

对称加密是一种加密方式,使用相同的密钥进行加密和解密。这意味着发送方和接收方必须事先共享密钥,以便彼此能够互相加密和解密数据。

在对称加密中,加密和解密过程都使用同一把密钥。发送方使用密钥将明文(原始数据)加密成密文(加密后的数据),然后将密文发送给接收方。接收方使用相同的密钥解密密文,将其还原成明文。

对称加密的优点包括速度快和加密效率高,因为它不需要进行复杂的数学运算。但是,对称加密的主要缺点是密钥的安全性问题。由于发送方和接收方都必须知道密钥,因此需要在它们之间安全地共享密钥,这可能会带来一些安全隐患。

常见的对称加密算法包括DES(Data Encryption Standard)、3DES(Triple DES)、AES(Advanced Encryption Standard)等。这些算法在保护数据的安全性方面发挥着重要作用,被广泛应用于网络通信、数据存储等领域。

非对称加密

非对称加密,也称为公钥加密,使用一对密钥进行加密和解密:公钥和私钥。这两个密钥是一对相关联的密钥,其中一个用于加密,另一个用于解密。

  • 公钥:公钥是公开的,任何人都可以访问。它用于加密数据。即使数据被公钥加密,只有对应的私钥才能解密。

  • 私钥:私钥是保密的,只有密钥的所有者可以访问。它用于解密数据。私钥必须始终保持机密,不应该被泄露。

非对称加密的基本原理是使用公钥加密数据,然后只有私钥的持有者才能解密数据。这使得非对称加密提供了更高的安全性,因为即使公钥被攻击者获得,他们也无法解密由公钥加密的数据,除非他们也拥有对应的私钥。

非对称加密广泛应用于网络安全领域,例如:

  • 安全的数据传输(如HTTPS协议)
  • 数字签名
  • 身份验证
  • 密钥交换

常见的非对称加密算法包括RSA(Rivest-Shamir-Adleman)、DSA(Digital Signature Algorithm)、ECC(Elliptic Curve Cryptography)等。这些算法在保护数据的安全性和确保通信的机密性方面发挥着重要作用。

对称加密和非对称加密对比

对称加密适合于大量数据的加密,但需要解决密钥管理的问题;非对称加密提供了更好的安全性,但加密和解密速度较慢,适合于密钥交换和身份验证等场景。因此,实际应用中常常结合两种加密方式,利用对称加密的速度和效率以及非对称加密的安全性

👉🏻数字签名

数字签名是一种用于确保数据的完整性、认证数据来源以及验证数据的不可否认性的加密技术。它结合了非对称加密算法哈希函数,通常用于数字通信和电子文件传输中。

数字签名的基本原理如下:

  1. 生成密钥对:首先,签名者需要生成一对密钥,包括私钥和公钥。私钥用于签名数据,而公钥用于验证签名。

  2. 对数据进行哈希处理:签名者使用哈希函数对要签名的数据进行处理,生成数据的摘要或哈希值。

  3. 使用私钥进行签名:签名者使用自己的私钥对数据的哈希值进行加密,生成数字签名。

  4. 发送数据和签名:签名者将原始数据数字签名一起发送给接收者。

  5. 验证签名:接收者收到数据和数字签名后,使用签名者的公钥对数字签名进行解密,得到数据的哈希值。然后,接收者使用相同的哈希函数对接收到的数据进行处理,生成新的哈希值。如果这两个哈希值匹配,则说明签名有效,数据完整性得到验证,并且数据来源可以被认证。

该过程可表示为下图: 👇🏻
在这里插入图片描述

数字签名的作用包括:

  • 数据完整性验证:接收者可以使用数字签名来验证数据在传输过程中是否被篡改。
  • 身份认证:数字签名可以用于确认数据的发送者,因为只有发送者拥有私钥才能生成有效的数字签名。
  • 不可否认性:发送者无法否认已经签名的数据,因为数字签名是基于私钥加密的,只有发送者才能生成有效的签名。

总的来说,数字签名是一种强大的加密技术,用于确保数据的完整性、认证数据来源以及验证数据的不可否认性。

👉🏻数据摘要and数据指纹

数据摘要和数据指纹都是用于验证数据完整性的技术,它们的基本原理是将任意长度的数据转换成固定长度的哈希值

  • 数据摘要:数据摘要是通过使用哈希函数将任意长度的数据转换成固定长度的唯一值。常见的哈希函数包括MD5、SHA-1、SHA-256等。数据摘要常用于验证数据完整性,比如在网络传输过程中,发送方可以对数据进行摘要计算,并将摘要值一并发送给接收方,接收方接收到数据后也可以计算摘要值,然后与发送方提供的摘要值进行比较,以验证数据是否被篡改

  • 数据指纹:数据指纹通常是数据的一种加密形式,也称为数据的哈希值。与数据摘要类似,数据指纹也是通过哈希函数将任意长度的数据转换成固定长度的唯一值。但是,数据指纹通常与数据的签名相关联用于验证数据的来源和完整性。在加密数字通信中,发送方会对数据进行哈希计算,并使用自己的私钥对哈希值进行签名,然后将签名和数据一起发送给接收方。接收方使用发送方的公钥验证签名的有效性,然后再对接收到的数据计算哈希值,并与签名中的哈希值进行比较,以验证数据的完整性和来源的真实性。

总的来说,数据摘要和数据指纹都是通过哈希函数将数据转换成固定长度的唯一值,用于验证数据完整性。数据指纹通常与数字签名相关联,用于验证数据的来源和完整性,而数据摘要则更广泛地用于数据完整性验证。


虽然数据摘要和数据指纹都是用于验证数据完整性的技术,并且都使用哈希函数将数据转换成固定长度的唯一值,但它们在使用场景和目的上存在一些区别:

  1. 使用场景

    • 数据摘要通常用于验证数据的完整性,例如在文件传输或数据存储中,可以计算数据的摘要并与原始数据的摘要进行比较,以确保数据在传输或存储过程中没有被篡改。
    • 数据指纹则更常用于数字签名和身份验证等场景,用于验证数据的来源和完整性数据指纹通常与数字签名一起使用,以验证数据的真实性和完整性。
  2. 关联性

    • 数据摘要通常是独立的,只用于验证数据的完整性,不与任何身份验证或数字签名过程相关联。
    • 数据指纹通常与数字签名过程相关联,用于验证数据的来源和完整性。在数字签名过程中,数据的哈希值会被加密,并与签名一起发送,以确保数据的完整性和真实性。
  3. 目的

    • 数据摘要的主要目的是验证数据在传输或存储过程中是否被篡改,以确保数据的完整性。
    • 数据指纹的主要目的是验证数据的来源和完整性,以确保数据的真实性和完整性。

虽然在某些情况下这两个术语可能会交叉使用,但它们在使用场景和目的上仍存在一些区别。


如上便是本期的所有内容了,如果喜欢并觉得有帮助的话,希望可以博个点赞+收藏+关注🌹🌹🌹❤️ 🧡 💛,学海无涯苦作舟,愿与君一起共勉成长

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Backblaze发布2024 Q1硬盘故障质量报告-1

作为一家在2021年在美国纳斯达克上市的云端备份公司,Backblaze一直保持着对外定期发布HDD和SSD的故障率稳定性质量报告,给大家提供了一份真实应用场景下的稳定性分析参考数据。 截至2024年第一季度末,Backblaze在其全球数据中心的云存储服务器…

15.计算机网络

1.物理层的互联设备 中继器 和 集线器 2.集线器可以看做特殊的多路中继器 集线器 不可以做到自动寻址的功能 3.数据链路层 网桥 和 交换机 4.交换机是多端口网桥 5.网络层 路由器 6.应用层 网关 7.广播域 网络层 可以形成多个广播域 冲突域 网络层数据链路层 可以形成多个冲突域…

Codeforces Round 942 (Div. 2) A-D1

题目&#xff1a; Codeforces Round 942 (Div. 2) D2有缘再补吧… A. Contest Proposal 题意 两个升序&#xff08;不降&#xff09;的序列a和b&#xff0c;可以在a的任意位置插入任意数&#xff08;要保持升序&#xff09;&#xff0c;使对任意i&#xff0c;有a[i] < b[…

shell脚本编写-测试同一网段内主机是否在线

除了可以使用ansible自动化运维工具判断主机是否在线以外&#xff0c;还可以通过编写Shell脚本来实现。 1、编写脚本 #! /bin/bash #测试192.168.81.0/24网段中哪些主机处于开机状态&#xff0c;哪些主机处于关机状态# #方法一&#xff1a;使用for循环判断 # for i in {1..25…

红海云OA存在任意文件上传漏洞【附poc】

漏洞复现 1、fofa poc见文末 body"RedseaPlatform" 打开burp进行抓包发送到repeater&#xff0c;如下图所示&#xff1a; 打入poc&#xff08;文末获取&#xff09;&#xff0c;成功上传。 「你即将失去如下所有学习变强机会」 学习效率低&#xff0c;学不到实战内…

聊聊 ASP.NET Core 中间件(三):如何创建自己的中间件?

前言 本质上&#xff0c;中间件类也是一个普通的 .NET 类&#xff0c;它不需要继承任何父类或者实现任何接口。 但是有几个约定&#xff1a; 需要有一个构造方法构造方法至少要有一个 RequestDelegate 类型的参数&#xff0c;用来指向下一个中间件。需要定义一个名字为 Invo…

后仿中必须读懂的User-defined primitives(UDP)

一 UDP定义规则 UDP&#xff0c;全名&#xff1a;User-defined primitives。 用户自己定义的原语。 UDP可分为&#xff1a;combinational UDP&#xff08;组合逻辑&#xff09;和 sequential UDP&#xff08;时序逻辑&#xff09;。 1.1 组合逻辑UDP combinational UDP用于…

软件系统测试方案书(测试计划-Word原件)

2 引言 2.1 编写目的 2.3 测试人员 2.4 项目背景 2.5 测试目标 2.6 简写和缩略词 2.7 参考资料 2.8 测试提交文档 2.9 测试进度 3 测试环境 3.1 软硬件环境 4 测试工具 5 测试策略 5.1 测试阶段划分及内容 5.1.1 集成测试 5.1.2 系统测试 5.1.2.1 功能测试 5.…

Autosar NvM配置-手动配置Nvblock及使用-基于ETAS软件

文章目录 前言NvDataInterfaceNvBlockNvM配置SWC配置RTE Mapping使用生成的接口操作NVM总结前言 NVM作为存储协议栈中最顶层的模块,是必须要掌握的。目前项目基本使用MCU带的Dflash模块,使用Fee模拟eeprom。在项目前期阶段,应该充分讨论需要存储的内容,包括应用数据,诊断…

在Ubuntu上安装docker

一、安装docker 更新系统包列表&#xff1a; sudo apt-get update安装必要的依赖软件包&#xff0c;使apt可以通过HTTPS使用repository。 sudo apt-get install apt-transport-https ca-certificates curl software-properties-common添加Docker的阿里云GPG密钥&#xff1a;…

算法提高之树的最长路径

算法提高之树的最长路径 核心思想&#xff1a;树形dp 枚举路径的中间节点用f1[i] 表示i的子树到i的最长距离,f2[i]表示次长距离最终答案就是max(f1[i]f2[i]) #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N …

数据结构(c):队列

目录 &#x1f37a;0.前言 1.什么是队列 2. 队列的实现 2.1定义队列节点 2.2定义队列 2.3队尾入队列 2.4判断队列是否为空 2.5队头出队列 2.6 队列首元素 2.7队尾元素 2.8队列内的元素个数 2.9销毁队列 3.试运行 &#x1f48e;4.结束语 &#x1f37a;0.前言 言C之…

[笔记] Win11 Microsoft Store App 离线下载

微软应用商店无法下载或下载缓慢解决方法 在一些环境下 Microsoft Store 下载速度缓慢&#xff0c;或者需要账号登录才能安装的场景&#xff0c;可以通过找到对应的离线安装包的形式进行安装。 Micorsoft Store 中的离线安装包一般后缀为 AppxBundle 和 Appx。以 Ubuntu 为例…

(四)JSP教程——request内置对象

request对象是将客户端浏览器数据提交给服务器端JSP页面的唯一数据通道&#xff0c;通过该通道JSP页面能够获取浏览器信息、form表单信息、URL参数信息等。 1.from表单向JSP文件传递数据 form表单是浏览器向服务器传递数据的一种基本机制&#xff0c;包含两种方式&#xff1a;…

智慧校园功平台能结构

高等教育信息化是促进高等教育改革创新和提高质量的有效途径&#xff0c;是教育信息化发展的创新前沿。进一步加强基础设施和信息资源建设&#xff0c;重点推进信息技术与高等教育的深度融合&#xff0c;能促进教育内容、教学手段和方法现代化&#xff0c;创新人才培养、科研组…

卷价格不如卷工艺降本增效狠抓模块规范化设计

俗话说&#xff0c;“卷价格不如卷工艺”&#xff0c;这意味着在追求成本控制和效率提升的过程中&#xff0c;蓝鹏的领导认为蓝鹏应该更注重工艺的优化和创新&#xff0c;而不仅仅是价格的竞争。而模块规范化设计正是实现这一目标的有效途径。 模块规范化设计可以提高生产效率…

推荐网站(5)Pika文字生成视频,ai视频创作

今天推荐一个网站&#xff0c;Pika文字生成视频&#xff0c;通过问题描述&#xff0c;帮我们生成对应的视频&#xff0c;非常的实用。 比如输入&#xff1a;一只小狗在河边洗澡 当然我们还可以在生成的视频上编辑 点击编辑后出来一些属性&#xff0c;可以修改区域&#xff0c…

TitanIDE安装常见问题解答

在软件开发和编程的世界里&#xff0c;集成开发环境&#xff08;IDE&#xff09;扮演着至关重要的角色。TitanIDE作为一款功能强大的开发工具&#xff0c;深受广大开发者的喜爱。然而&#xff0c;在安装和使用TitanIDE的过程中&#xff0c;开发者们往往会遇到一些问题和挑战。针…

cmake进阶:目录属性之 INCLUDE_DIRECTORIES说明一

一. 简介 前一篇文章学习了 cmake的一些目录属性&#xff0c;其中最重要的是 头文件搜索路径。文章如下&#xff1a; cmake进阶&#xff1a;目录属性说明一-CSDN博客 本文主要学习 一个目录属性 INCLUDE_DIRECTORIES&#xff0c;即头文件搜索路径。 二. cmake进阶&#xff1…

doris经典bug

在部署完登录web页面查看的时候会发现只有一个节点可以读取信息剩余的节点什么也没读取到 在发现问题后&#xff0c;我们去对应的节点去看log日志&#xff0c;发现它自己绑定到前端的地址上了 现在我们已经发现问题了&#xff0c;以下就开始解决问题 重置doris 首先对be进行操…