[网络]https的概念及加密过程

文章目录

  • 一. HTTPS
  • 二. https加密过程

一. HTTPS

https本质上就是http的基础上增加了一个加密层, 抛开加密之后, 剩下的就是个http是一样的
s => SSL
HTTPS = HTTP + SSL
这个过程, 涉及到密码学的几个核心概念

  1. 明文
    要传输的真正意思是啥
    2)密文
    加密之后得到的数据
    这个密文, 即使被拿到了, 也不知道真正的含义
  2. 密钥
    用来加密和解密的重要的数据

把明文 通过密钥 变成密文 => 加密
把密文 通过密钥 变成明文 => 解密
5) 对称加密
加密和解密, 使用同一个密钥就行了
加密解密的速度比较快
6) 非对称加密
密钥是一对, 分别是公钥和私钥
可以使用公钥加密, 此时就是私钥解密
或者使用私钥加密, 此时就是公钥解密
加密的素的比较慢, 安全性更高

二. https加密过程

  1. 引入对称加密
    首先, 最简单的办法,就是引入对称密钥
    客户端和服务器之间通过密文传输, 然后根据密钥进行破解
    这个密钥, 必须是每个客户端都有一个自己的
    如果每个客户端都是相同的, 那么如果别人拿到这个密钥就可以破解了
    可是, 当客户端告诉服务器密钥时, 可能被黑客截取:
    在这里插入图片描述
    所以, 我们必须给密钥再进行加密
  2. 引入非对称加密
    非对称加密的方式, 针对对称密钥来进行加密

为什么不针对数据加密使用非对称密钥?
非对称加密的系统开销比对称加密高很多, 消耗的时间, 也比对称加密多很多, 所以不太适合使用非对称加密的方式来加密业务数据
在这里插入图片描述

客⼾端在本地⽣成对称密钥, 通过公钥加密, 发送给服务器.
• 由于中间的⽹络设备没有私钥, 即使截获了数据, 也⽆法还原出内部的原⽂, 也就⽆法获取到对称密

• 服务器通过私钥解密, 还原出客户端发送的对称密钥. 并且使⽤这个对称密钥加密给客⼾端返回的响
应数据.
• 后续客户端和服务器的通信都只⽤对称加密即可. 由于该密钥只有客户端和服务器两个主机知道, 其
他主机/设备不知道密钥即使截获数据也没有意义

但是, 客户端怎么拿到公钥呢?

  1. 中间人攻击
    如果使用服务器告知客户端公钥的方法, 同样会被黑客截获数据
    在这里插入图片描述
  2. 引入公证机构
    解决上述问题, 最重要切入点, 就是让客户端能够区分当前的公钥是不是服务器自己的公钥, 是不是被伪造出来的公钥, 所以引入了公证机构

服务器上线自己的网站时, 会向公证机构申请"证书", 服务器需要保存好这个证书
这个证书中会包含一系列消息:
1)发证机构
2)证书的有效期
3)服务器的公钥
4)证书的所有者
5)持有者网站的的主域名
6)数字签名
公正机构, 会生成一对非对称密钥, 分为公钥和私钥, 拿着私钥对证书中的一系列数据的校验和进行加密, 就得到了数字签名

客户端收到证书后, 就会对证书的合法性就行校验:
第一步: 针对证书的字段, 计算校验和1

第二步: 针对数字签名进行解密
数字签名是基于公正机构的私钥来加密的
就需要用公正机构的公钥进行解密
公证机构的公钥, 是操作系统内置的公钥!!!
解密后, 得到校验和2

第三步: 客户端比较 校验和1 == 校验和2
如果相等, 就说明, 证书没有被篡改过, 是有效的, 那么证书中的公钥, 就是可信的服务器公钥了
在这里插入图片描述

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

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

相关文章

使用knn算法对iris数据集进行分类

程序功能 使用 scikit-learn 库中的鸢尾花数据集(Iris dataset),并基于 KNN(K-Nearest Neighbors,K近邻)算法进行分类,最后评估模型的准确率。 代码 from sklearn import datasets# 加载鸢尾…

SpringBoot+vue集成sm国密加密解密

文章目录 前言认识SM2后端工具类实现引入依赖代码实现工具类:SM2Util 单元测试案例1:生成服务端公钥、私钥,前端js公钥、私钥案例2:客户端加密,服务端完成解密案例3:服务端进行加密(可用于后面前…

Modelsim SE-64 2020.4关闭优化

一、问题起源 本人由于之前一直使用AMD的板子,使用vivado自带仿真器进行功能仿真,由于自带的页面简洁和仿真时间自己还都可以接受就没有什么modelsim联合仿真,又因准备FPGA大赛的国产FPGA易灵思的题目,使用Efinity+Mod…

AI助力遥感影像智能分析计算,基于高精度YOLOv5全系列参数【n/s/m/l/x】模型开发构建卫星遥感拍摄场景下地面建筑物智能化分割检测识别系统

随着科技的飞速发展,卫星遥感技术已成为获取地球表面信息的重要手段之一。卫星遥感图像以其覆盖范围广、数据量大、信息丰富等特点,在环境监测、城市规划、灾害评估等多个领域发挥着不可替代的作用。然而,面对海量的卫星图像数据,…

磁盘写入缓存区太大,如何清理C盘缓存

针对“磁盘写入缓存区太大,如何清理C盘缓存”的问题,我们可以从多个角度进行专业解答。首先,需要明确的是,“磁盘写入缓存区太大”这一表述可能涉及硬盘缓存的设置或系统缓存管理,但通常用户面对的问题更多是关于C盘空…

Json和Http专栏

json 理论 什么是JSON? 规则 被大括号包括的是JSON对象,被中括号包括的是JSON数组. JSON数组JSON对象 实验 构建JSON 用代码实现如下json内容: //构建JSON void WirteJson() {QJsonObject rootObject;//1.插入name字段rootObject.insert("name","china&quo…

KV260 进阶开发(PYNQ驱动开发+Pixel Pack)

目录 1. 简介 2. PixelPacker HLS 实现 2.1 PixelPacker HLS 源码 2.2 PixelPacker 功能简介 2.3 头文件介绍 2.4 启动间隔 II 2.5 Case V24 片段解释 3. PixelPacker Py 驱动 3.1 PixelPacker Py 源码 3.2 PixelPacker 类详解 3.3 property 装饰器 3.4 操作寄存器…

基于ssm的个性化影片推荐系统设计与实现

需要项目源码请联系我,目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架,源码丰富。 专业团队,咨询就送开题报告,活动限时免费,有需要的朋友可以来咨询。 一、摘要 随着科学技术的飞速发展,社…

828华为云征文|部署知识库问答系统 MaxKB

828华为云征文|部署知识库问答系统 MaxKB 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 核心竞争力1.3 计费模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 MaxKB3.1 MaxKB 介绍3.2 Docker 环境搭建3.3 MaxKB 部署3.4 Max…

代码管理系统简介与部署(Introduction and Deployment of Code Management System)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

visual prompt tuning和visual instruction tuning

visual prompt tuning:作为一种微调手段,其目的是节省参数量,训练时需要优化的参数量小。 输入:视觉信息image token可学习的prompt token 处理任务:比如常见的分类任务 visual prompt tuning visual instruction tu…

在麒麟操作系统中查看进程运行时间

在麒麟操作系统中查看进程运行时间 1、使用ps命令查看进程运行时间1.1 基本命令结构1.2 示例:查看sshd进程的运行时间 2、总结 💖The Begin💖点点关注,收藏不迷路💖 在Linux操作系统中,包括麒麟&#xff08…

第L6周:机器学习-随机森林(RF)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 1.什么是随机森林(RF) 随机森林(Random Forest, RF)是一种由 决策树 构成的 集成算法 &#…

python绘制3d建筑

import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d.art3d import Poly3DCollection# 随机生成建筑块数据 def generate_building_blocks(num_blocks, grid_size100, height_range(5, 50), base_size_range(10, 30)):buildings []for _ in range(…

代码随想录训练营 Day58打卡 图论part08 拓扑排序 dijkstra朴素版 + 堆优化版

代码随想录训练营 Day58打卡 图论part08 一、拓扑排序 例题:卡码117. 软件构建 题目描述 某个大型软件项目的构建系统拥有 N 个文件,文件编号从 0 到 N - 1,在这些文件中,某些文件依赖于其他文件的内容,这意味着如果…

勇于尝试,永远行动 - 《洛克菲勒写给儿子的38封信》读书笔记

两倍速听过好几遍的书,洛克菲勒的思想和志向,配得上他的成就。 “在尝试中寻找突破,在行动中成就自我。”这是洛克菲勒写给儿子的箴言,也是他一生的真实写照。在这38封信中,他不仅分享了自己的工作心得,更…

完整版订单超时自动取消功能

前几天对实习还是继续学习技术产生了抉择,问了一个前辈,他抛给我一个问题,怎么做15分钟订单自动取消,我说然后到时间之后,自动执行这个订单关闭业务,比如把锁了的库存给解开等等操作,然后在数据…

VTD激光雷达(3)——04_OptiX_SimulationDataFlow

文章目录 前言一、总结 前言 一、 1 总结

synchronized的详解、锁的升级过程和优缺点比较

本文 详细介绍Java中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级 锁、重量级锁,以及锁升级过程。 Java中每一个对象都可以作为锁。具体表现形式为以下三种形式: 对于普通的同步方法,锁是当前的实例对象对于静态同步方法&a…

cJSON-轻量级解析模块、字符串的神——编织STM32C8T6与阿里云信息传递的纽带

编写方向:本人就不泛泛的编写一篇什么一文学会cJSON了,没什么突出点,也就我水水字数,你们看来看去也不懂,本人是从上阿里云传信息接触的cJSON的,我就此写一篇针对性的文章,希望对大家有用&#…