【Linux】HTTPS

news2024/11/28 6:41:01

在这里插入图片描述

欢迎来到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. 目的

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

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


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

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

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

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

相关文章

C语言栈的含义与栈数据操作代码详解!

引言:在本篇博客中,我们将学到数据结构——栈,讲到栈的含义与关于栈的数据操作代码。栈可以在顺序表、双向链表以及单链表的基础上实现,而于本篇博客中,我们选择在顺序表的基础上实现栈。 更多有关C语言和数据结构知识…

大数据与会计专业主要学什么课程

大数据与会计专业是一个结合了传统会计知识与现代大数据技术的交叉学科,旨在培养既懂会计又熟悉大数据分析的复合型人才。该专业的学生将会学习以下主要课程内容: 会计基础课程:包括基础会计、财务会计、成本会计、管理会计等,这些…

如何搜索空文件夹_名称为(纯或含)中/英/数/符

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 打开工具,切换到批量文件复制版块,快捷键Ctrl5 点击右侧的搜索添加 设定要搜索的范围、指定为文件夹、包括子目录,勾选…

SSM整合-前后端分离-项目环境搭建 (上)

整合SSM 项目基础环境搭建项目介绍创建项目项目全局配置web.xmlSpringMVC配置配置Spring和MyBatis, 并完成整合创建表, 使用逆向工程生成Bean, XxxMapper和XxxMapper.xml注意事项和细节说明 实现功能01-搭建Vue前端工程需求分析/图解代码实现搭建Vue前端工程vue3项目目录结构梳…

宜选影票在线选座电影票小程序开发如何获取api接口?

要开发一个在线选座电影票小程序并获取API接口,你需要遵循几个关键步骤。以下是通常的流程: 明确需求和目标: 在开始之前,明确你的小程序需要哪些功能,例如电影查询、场次查询、在线选座、购票支付等。确定你需要从AP…

【智能优化算法】野狗智能优化算法(Dingo Optimization Algorithm DOA)

野狗智能优化算法(Dingo Optimization Algorithm DOA)是期刊“MATHEMATICAL PROBLEMS IN ENGINEERING”的2021年智能优化算法 01.引言 野狗智能优化算法(Dingo Optimization Algorithm DOA)该算法的灵感来自野狗的狩猎策略,即迫害攻击,分组策略和清除行…

VS Code中PlatformIO IDE的安装并开发Arduino

VS Code中PlatformIO IDE的安装并开发Arduino VS Code的安装 略 PlatformIO IDE的安装 PlatformIO IDE是是什么 PlatformIO IDE 是一个基于开源的跨平台集成开发环境(IDE),专门用于嵌入式系统和物联网(IoT)开发。…

2009-2022年上市公司华证ESG评级评分数据(含细分项)

2009-2022年上市公司华证ESG评级评分数据(含细分项) 1、时间:2009-2022年 2、来源:华证ESG 3、指标:证券代码、证券简称、综合评级、年度、综合得分、E评级、E得分、S评级、S得分、G评级、G得分 4、范围&#xff1…

如何解决3D模型变黑或贴图不显示的问题---模大狮模型网

在进行3D建模和视觉渲染时,经常会遇到模型表面变黑或贴图不显示的问题,这可能严重影响最终视觉效果的质量。这些问题通常与材质设置、光照配置或文件路径错误有关。本文将探讨几种常见原因及其解决方法,帮助3D艺术家和开发者更有效地处理这些…

Portforge:一款功能强大的轻量级端口混淆工具

关于Portforge Portforge是一款功能强大的轻量级端口混淆工具,该工具使用Crystal语言开发,可以帮助广大研究人员防止网络映射,这样一来,他人就无法查看到你设备正在运行(或没有运行)的服务和程序了。简而言…

ubuntu20安装colmap

系统环境 ubuntu20 ,cuda11.8 ,也安装了anaconda。因为根据colmap的官方文档说的,如果根据apt-get安装的话,默认是非cuda版本的,而我觉得既然都安装了cuda11.8了,自然也要安装cuda版本的colmap。 安装步骤…

MySQL之聚合函数与应用

1. 前言 上文我们讲到了单行函数.实际上SQL还有一类叫做聚合函数, 它是对一组数组进行汇总的函数, 输入的是一组数据的集合, 输出的是单个值. 2. 聚合函数 用于处理一组数据, 并对一组数据返回一个值. 有如下几种聚合函数 : AVG(), SUM(), MAX(), MIN(), COUNT(). 3. AVG(…

[Scrcpy]数据线连接安卓手机投屏windows电脑[win控制安卓手机]比Samsung Dex好用

配置好,只需要两步即可完成安卓手机投屏windows 第一步:usb线连接windows电脑 第二步:cmd输入投屏命令srccpy 搞定 前言/背景 一些视频资料只能下载到手机,很不喜欢手机那么小屏幕播放,播放很不方便 在家的话可以投…

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode) 解法:二分查找 思路:题目是有序的,时间复杂度O(logN),二分没跑了,题目说如果找不到target,返回它应该被插入位置的下标,所以可以分析一下示例2…

QT截图程序,可多屏幕截图

截图程序&#xff0c;支持多屏幕时跨屏幕截图。截图使用setMask达到镂空效果&#xff0c;截图后会有预览和保存功能。截图时按下Esc可退出。 mainwindow.ui mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDebug> …

暴雨发布大模型专用分布式全闪存储

近日&#xff0c;暴雨信息发布为大模型专门优化的分布式全闪存储AVERSE系列。该系列依托暴雨信息自研分布式文件系统&#xff0c;搭载新一代数据加速引擎Xdata&#xff0c;通过盘控协同、GPU直访存储、全局一致性缓存等技术为AI大模型数据归集、训练、数据归档与管理等阶段提供…

本机MySQL数据库服务启动了,但是cmd登录不上10061

注意&#xff1a;不建议安装MySQL8&#xff0c;建议直接使用phpstudy中自带的MySQL5.7 错误信息 ERROR 2003 (HY000): Cant connect to MySQL server on x.x.x.x (10061) 原因 可能是端口号错误。比如修改了my.ini中&#xff0c;或者phpstudy中数据库端口的配置&#xff0c;…

代码随想录算法训练营第十九天:二叉树go

代码随想录算法训练营第十九天&#xff1a;二叉树go 226.翻转二叉树 力扣题目链接(opens new window) 翻转一棵二叉树。 ​​ 这道题目背后有一个让程序员心酸的故事&#xff0c;听说 Homebrew的作者Max Howell&#xff0c;就是因为没在白板上写出翻转二叉树&#xff0c;最…

HarmonyOS实战开发-如何实现查询当前城市实时天气功能

先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式&#xff0c; 数据接口是和风&#xff08;天气预报&#xff09;&#xff0c; 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是&#xff0c;查询当前城市的实时天气&#xff0c; 目前已实现的功能…

外贸企业邮箱哪家好?推荐三个国内好用的外贸企业邮箱

国内有许多企业邮箱的提供商&#xff0c;外贸公司在选择外贸企业邮箱时该选哪家&#xff1f;三个在国内排行前三的外贸企业邮箱&#xff0c;Zoho Mail企业邮箱、腾讯企业邮箱和阿里企业。这三款企业邮箱功能各有优势&#xff0c;今天我们具体来了解下。 一、Zoho Mail公司邮箱…