【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. 目的

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

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


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

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

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

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

相关文章

【MATLAB源码-第204期】基于matlab的语音降噪算法对比仿真,谱减法、维纳滤波法、自适应滤波法;参数可调。

操作环境: MATLAB 2022a 1、算法描述 语音降噪技术的目的是改善语音信号的质量,通过减少或消除背景噪声,使得语音更清晰,便于听者理解或进一步的语音处理任务,如语音识别和语音通讯。在许多实际应用中,如…

基于FPGA的DDS波形发生器VHDL代码Quartus仿真

名称:基于FPGA的DDS波形发生器VHDL代码Quartus仿真(文末获取) 软件:Quartus 语言:VHDL 代码功能: DDS波形发生器VHDL 1、可以输出正弦波、方波、三角波 2、可以控制输出波形的频率 DDS波形发生器原理…

怎样扫描二维码后看图片?图片二维码的制作方式

二维码是一种可以用来存储大量内容,通过扫描二维码的方式来向其他人提供内容,比较常见的展示内容有视频、图片、文件、文本、音频等。那么图片生成二维码的方法是什么样的呢?通过扫码查看图片,可以不下载的图片的同时快速预览内容…

护眼台灯品牌排行前十名有哪些?最新护眼台灯品牌排行前十名分享

在近几年,一个引人关注的健康现象是青少年近视问题的日益加剧。统计数字显示,近视的发病率不断攀升,令人忧心地发现,许多才刚步入小学一年级的孩子们,便已佩戴起了厚重的眼镜。其中最主要的原因就在于学习过程对数码设…

当AI遇见现实:数智化时代的人类社会新图景

文章目录 一、数智化时代的机遇二、数智化时代的挑战三、如何适应数智化时代《图解数据智能》内容简介作者简介精彩书评目录精彩书摘强化学习什么是强化学习强化学习与监督学习的区别强化学习与无监督学习的区别 前言/序言 随着科技的日新月异,我们步入了一个前所未…

电镀回用水除镍树脂的一种设备方法

【除镍树脂CH-90】是一种专门设计用于去除溶液中镍离子的高效吸附材料。随着工业发展和环境保护要求的提高,除镍树脂CH-90在废水处理、金属回收和环境保护等领域的应用越来越广泛。 除镍树脂CH-90的特点在于其高效的吸附性能和选择性。该树脂能够快速、准确地去除溶…

Deeplab的复现(pytorch实现)

DeepLab复现的pytorch实现 本文复现的主要是deeplabv3。使用的数据集和之前发的文章FCN一样,没有了解的可以移步到之前发的文章中去查看一下。 1.该模型的主要结构 对于代码部分,主要只写了模型部分的,其他部分内容基本和FCN的一致&#xf…

Anaconda删除虚拟环境目录pkgs和envs|conda瘦身

这个文件夹里面是专门放不同环境中的包的,只是没有区分环境,都混在一起了, 一般在想要删除一个虚拟环境,除了在命令行中输入conda remove -n your_env_name(虚拟环境名称) --all 然后在envs中删除虚拟环境的文件夹, 还…

密码学《图解密码技术》 记录学习 第十三章

目录 第十三章 13.1 本章学习的内容 13.2 PGP 简介 13.2.1 什么是 PGP 13.2.2 关于 OpenPGP 13.2.3关于GNU Privacy Guard 13.2.4 PGP 的功能 公钥密码 数字签名 单向散列函数 证书 压缩 文本数据 大文件的拆分和拼合 13.3 生成密钥对 13.4 加密与解密 13.4.1 加密 生成…

《ESP8266通信指南》12-Lua 固件烧录

往期 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP8266通信指南》10-MQTT通信(Arduino开发)-CSDN博客 《ESP8266通信指南》9-TCP通信(Arudino开发)-CSDN博客 《ESP8266通信指南》8-连接WIFI(Arduino开发…

牛客周赛 Round 41 C-F

C 小红的循环移位 思路&#xff1a; 一个数是不是四的倍数&#xff0c;只用看最后两位是否能够整除4即可。 #include <bits/stdc.h>using namespace std; const int N 1e6 5; typedef long long ll; typedef pair<ll, ll> pll; typedef array<ll, 3> p3;…

分布式与一致性协议之ZAB协议(五)

ZAB协议 ZAB集群如何从故障中恢复 如果我们想把ZAB集群恢复到正常状态&#xff0c;那么新领导者就必须确立自己的领导关系&#xff0c;成为唯一有效的领导者&#xff0c;然后作为主节点"领导"各备份节点一起处理读写请求 如何确立领导关系 前面提到&#xff0c;选…

VISO流程图之子流程的使用

子流程的作用 整个流程图的框图多而且大&#xff0c;进行分块&#xff1b;让流程图简洁对于重复使用的流程&#xff0c;可以归结为一个子流程图&#xff0c;方便使用&#xff0c;避免大量的重复性工作&#xff1b; 新建子流程 方法1&#xff1a; 随便布局 框选3 和4 &#…

【busybox记录】【shell指令】sort

目录 内容来源&#xff1a; 【GUN】【sort】指令介绍 【busybox】【sort】指令介绍 【linux】【sort】指令介绍 使用示例&#xff1a; 排序 - 默认排序 排序 - 检查所给文件是否已经排序 排序 - 输出已经排序过的文件&#xff0c;不会重新排序 排序 - 忽略每行前面的空…

【区块链】智能合约简介

智能合约起源 智能合约这个术语至少可以追溯到1995年&#xff0c;是由多产的跨领域法律学者尼克萨博&#xff08;NickSzabo&#xff09;提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下&#xff1a;“一个智能合约是一套以数字形式定义的承诺&a…

人工智能|推荐系统——工业界的推荐系统之交叉

Factorized Machine 线性模型预测是特征的加权和。&#xff08;只有加&#xff0c;没有乘。&#xff09; 二阶特征交叉 可以通过矩阵分解减少模型参数量 深度交叉网络&#xff08;DCN&#xff09; 之前提到过的召回、排序模型中的神经网络可以用任意网络结构&#xff1b;常见的…

数组折半法查找数据(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> //定义数据&#xff1b; #define N 15int main() {//初始化变量值&#xff1b;int a[N], i, top, bott, loca, flag 1, sign, numb…

Ansible --- playbook 脚本+inventory 主机清单

一 inventory 主机清单 Inventory支持对主机进行分组&#xff0c;每个组内可以定义多个主机&#xff0c;每个主机都可以定义在任何一个或 多个主机组内。 如果是名称类似的主机&#xff0c;可以使用列表的方式标识各个主机。vim /etc/ansible/hosts[webservers]192.168.10.1…

js浏览器请求,post请求中的参数形式和form-data提交数据时数据格式问题(2024-05-06)

浏览器几种常见的post请求方式 Content-Type 属性规定在发送到服务器之前应该如何对表单数据进行编码。 默认表单数据会编码为 "application/x-www-form-urlencoded" post请求的参数一般放在Body里。 Content-Type&#xff08;内容类型&#xff09;&#xff0c;一般…

win11 安装oracle11g详细流程及问题总结

1.安装包下载地址 本案例操作系统&#xff0c; Oracle 11g下载-Oracle 11g 64位/32位下载官方版(附详细的安装图解教程) - 多多软件站多多为大家免费提供Oracle 11g下载&#xff0c;包含64位/32位官方版本&#xff0c;并附详细的Oracle 11g安装图解教程&#xff0c;同时希望能…