Interview preparation--Https 工作流程

HTTP 传输的弊端

在这里插入图片描述

  • 如上图,Http进行数据传输的时候是明文传输,导致任何人都有可能截获信息,篡改信息
  • 如果此时黑客冒充服务器,或者黑客窃取信息,则其可以返回任意信息给客户端,而且不被客户端察觉,所以我们经常会听到“劫持”这个词
改进HTTP传输-对称加密传输

在这里插入图片描述

  • 改进版本之后,Client和Service端在进行通信的时候,用对称加密,Client与Servic端分别保存密钥A,通信加密,解密都用A
  • 问题点:
    • 对称加密一般约定加密算法与密钥A,每个客户端不一样,因此维护困难,一般都维护在Service或者Client某一端,由Service 或者Client生成密钥A后传递给另外一端口, 这样密钥A在传输过程存在泄漏可能
改进HTTP传输-非对称加密

在这里插入图片描述

  • 以上Client 保存公钥,公开的,所有人可见,Service保存私钥。
  • Client发信息用公钥加密发给Service用私钥解密
  • Service 发信息用私钥加密发给Client用公钥解密
  • 问题:
    • 公钥公开的,黑客也能能通过公钥解密获取到的所有Service端发送到Client的信息,造成信息泄漏
改进HTTP传输-对称加密和非对称加密结合使用

在这里插入图片描述

  • Client持有公钥,Service 持有私钥,第三步开始Client 生成一个对称密钥A,用公钥加密A得到加密后的字符B

  • Client将B 以及 用A加密后的密文 一起 发送给Service ,Service 用 私钥解密 B 得到A,利用A解密密文的到原文

  • 同样Service用A加密要传输的数据得到密文传输给Client用A解密得原文

  • 优点:

    • 密文安全性,公钥即使泄漏,但是密文是 A加密的,公钥无法解密
    • 密钥安全性,A传输过程用公钥加密的,即使被截获,没有私钥也无法解密得不到对称密钥
    • 对称加密的优势:对称加密如果能保证秘钥不被黑客获取,那么他是安全的,并且对称加密的速度具有很大优势,用在蜜文加密上
    • 非对称加密优势:非对称加密请求发起时候尽管使用的是公钥加密,但是因为必须使用私钥解密的特点,因此能够保证消息体在向服务器用在对称密钥加密上
  • 风险点:

在这里插入图片描述

  • 第一步 公钥获取的时候被截获,公钥不是Service给的,是黑客给的,之后所有请求都是黑客伪造的,Client得到的公钥 和黑客的私钥是匹配的,完犊子
改进HTTP传输- 对称加密+非对称加密+SSL证书(HTTPS实现)

在这里插入图片描述

  • 首先说明证书作用:如上图,2步骤时候服务器发送了一个SSL证书给客户端,SSL证书中包含的具体内容有:

    • 证书发布机构CA
    • 证书有效期
    • 公钥
    • 证书所有者
    • 签名
  • 客户端在接受服务器发来的SSL证书会对证书进行校验,以浏览器为例说明如下:

    • 首先浏览器读取证书中的证书所有者,有效期信息进行校验
    • 浏览器开始查找操作系统中已内置的收信人的证书发布机构CA,与服务器发来的证书中的颁发者CA对比,用于校验证书是否为合法机构颁发
    • 如果找不到,浏览器报错,说明服务器发来的证书是不可信的。
    • 如果找到,浏览器会从操作系统中取出颁发者CA的公钥,然后对服务器发来的证书里面的签名进行解密
    • 浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比
    • 对比结果一致,则证明服务器发来的证书核发,没有被冒充。
    • 此时浏览器就可以读取证书中公钥,用于后续加密了。
  • 通过SSL证书,完成了公钥的安全获取,安全性由第三方保证。接下来就是走上一个步骤中说明的:对称加密和非对称加密结合使用过程

  • 总的来说,HTTPS实现如下图

在这里插入图片描述

  • 红色钥匙–私钥
  • 绿色钥匙–公钥
  • 黄色钥匙–对称密钥
  1. Client发起请求(443接口)
  2. Service 返回公钥SSL证书
  3. Client解析SSL得到公钥
  4. Client生成对称密钥,并且用得到的公钥给对对称密钥加密传给Service
  5. Service端的到加密后对称密钥,用私钥解密
  6. C/S双方用对称密钥
    • 加密明文并发送
    • 解密密文的到明文

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

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

相关文章

2.3.2 主程序和外部IO交互 (文件映射方式)----C#调用范例

2.3.2 主程序和外部IO交互 (文件映射方式)----C#调用范例 效果显示 1 说明 1 .1 Test_IOServer是64bit 程序, BD_SharedIOServerd.dll 在 /Debug文件夹中 1 .2 Test_IOServer是32bit 程序, BD_SharedIOClientd.dll (32bit&#…

[FreeRTOS 内部实现] 事件组

文章目录 事件组结构体创建事件组事件组等待位事件组设置位 事件组结构体 // 路径:Source/event_groups.c typedef struct xEventGroupDefinition {EventBits_t uxEventBits;List_t xTasksWaitingForBits; } EventGroup_t;uxEventBits 中的每一位表示某个事件是否…

适用于Mac和Windows的最佳iPhone恢复软件

本文将指导您选择一款出色的iPhone数据恢复软件来检索您的宝贵数据。 市场上有许多所谓的iPhone恢复程序。各种程序很难选择并选择其中之一。一旦您做出了错误的选择,您的数据就会有风险。 最好的iPhone数据恢复软件应包含以下功能。 1.安全可靠。 2.恢复成功率高…

Windows下Visual Studio 中配置第一个CUDA工程

今天整NVIDIA 的CUDA 安装和第一个CUDA 代码,顺便添加一个有CUDA工程的空框架。 (1)首先确认自己的CUDA 已经安装成功 >>cmd 进入命令窗,在窗口输入查看cuda 是否安装成功,能查到CUDA的版本号,表示安…

基于python的数据分解-趋势-季节性-波动变化

系列文章目录 前言 时间序列数据的分解,一般分为趋势项,季节变化项和随机波动项。可以基于加法或者乘法模型。季节变化呈现出周期变化,因此也叫季节效应(周期)。 一、数据分解步骤 (1)估计时间序列的长期…

仪器校准后出了校准证书后,是不是就代表仪器合格了?

仪器校准是一门技术活,对于从事生产制造的企业而言,是不可或缺的一环,因为这与产品质量密切相关。所以,了解仪器校准的相关知识也变得尤为重要。 在拿到校准证书后,是不是说明仪器合格了?相信不少企业品管人…

指针回顾.

指针的主要作用:提供一种间接访问数据的方法 1.地址:区分不同内存空间的编号 2.指针:指针就是地址,地址就是指针 3.指针变量:存放指针的变量称为指针变量,简称为指针 1.指针的定义 int *p NULL; int *q NULL; char *p NULL; double *p NUL…

PCDN技术如何提高内容分发效率?(贰)

PCDN技术通过以下方式提高内容分发效率: 1.利用用户设备作为分发节点:与传统的 CDN技术主要依赖中心化服务器不同, PCDN技术利用用户的设备作为内容分发的节点。当用户下载内容时,他们的设备也会成为内容分发的一部分,将已下载的内容传递给其…

STL--求交集,并集,差集(set_intersection,set_union,set_difference)

set_intersection(重要) 求两个有序的序列的交集. 函数声明如下: template<class InputIterator1, class InputIterator2, class OutputIterator>OutputIterator set_intersection(InputIterator1 _First1, //容器1开头InputIterator1 _Last1, //容器2结尾(不包含)Inp…

jenkins配置gitee源码地址连接不上

报错信息如下&#xff1a; 网上找了好多都没说具体原因&#xff0c;最后还是看jenkins控制台输出日志发现&#xff1a; ssh命令执行失败&#xff08;git环境有问题&#xff0c;可能插件没安装成功等其他问题&#xff09; 后面发现是jenkins配置git的地方git安装路径错了。新手…

加入新数据预测,基于黏菌优化算法SMA优化SVM支持向量机回归预测(多输入单输出)

加入新数据预测&#xff0c;基于黏菌优化算法SMA优化SVM支持向量机回归预测&#xff08;多输入单输出&#xff09; 1.数据均为Excel数据&#xff0c;直接替换数据就可以运行程序。 2.所有程序都经过验证&#xff0c;保证程序可以运行。 3.具有良好的编程习惯&#xff0c;程序…

cmake find_package 使用笔记

目录 1 find_package2 config mode2.1 搜索的文件名2.2 搜索路径 3 module mode3.1 搜索的文件名3.2 搜索路径 参考 1 find_package 这是官方文档 下面是学习总结&#xff1a; 首先是find_package的作用是什么&#xff1f;引入预编译的库。 find_package有两种模式&#xff1a…

【LInux】从动态库的加载深入理解页表机制

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【MindSpore学习打卡】应用实践-自然语言处理-基于RNN的情感分类:使用MindSpore实现IMDB影评分类

情感分类是自然语言处理&#xff08;NLP&#xff09;中的一个经典任务&#xff0c;广泛应用于社交媒体分析、市场调研和客户反馈等领域。本篇博客将带领大家使用MindSpore框架&#xff0c;基于RNN&#xff08;循环神经网络&#xff09;实现一个情感分类模型。我们将详细介绍数据…

Nettyの参数优化简单RPC框架实现

本篇介绍Netty调优&#xff0c;在上篇聊天室的案例中进行改造&#xff0c;手写一个简单的RPC实现。 1、超时时间参数 CONNECT_TIMEOUT_MILLIS 是Netty的超时时间参数&#xff0c;属于客户端SocketChannel的参数&#xff0c;客户端连接时如果一定时间没有连接上&#xff0c;就会…

Spring Cloud 是什么?(Spring Cloud 组件介绍)

什么是 Spring Cloud&#xff1f; Spring Cloud 是微服务系统架构的一站式解决方案&#xff0c;是各个微服务架构落地技术的集合体&#xff0c;让架构师、 开发者在使用微服务理念构建应用系统的时候&#xff0c; 面对各个环节的问题都可以找到相应的组件来处理&#xff0c;比…

React 19 竞态问题解决

竞态问题/竞态条件 指的是&#xff0c;当我们在交互过程中&#xff0c;由于各种原因导致同一个接口短时间之内连续发送请求&#xff0c;后发送的请求有可能先得到请求结果&#xff0c;从而导致数据渲染出现预期之外的错误。 因为防止重复执行可以有效的解决竞态问题&#xff0…

聊天广场(Vue+WebSocket+SpringBoot)

由于心血来潮想要做个聊天室项目 &#xff0c;但是仔细找了一下相关教程&#xff0c;却发现这么多的WebSocket教程里面&#xff0c;很多都没有介绍详细&#xff0c;代码都有所残缺&#xff0c;所以这次带来一个比较完整得使用WebSocket的项目。 目录 一、效果展示 二、准备工…

html+css+js图片手动轮播

源代码在界面图片后面 轮播演示用的几张图片是Bing上的&#xff0c;直接用的几张图片的URL&#xff0c;谁加载可能需要等一下&#xff0c;现实中替换成自己的图片即可 关注一下点个赞吧&#x1f604; 谢谢大佬 界面图片 源代码 <!DOCTYPE html> <html lang&quo…

安全测试之使用Docker搭建SQL注入安全测试平台sqli-labs

1 搜索镜像 docker search sqli-labs 2 拉取镜像 docker pull acgpiano/sqli-labs 3 创建docker容器 docker run -d --name sqli-labs -p 10012:80 acgpiano/sqli-labs 4 访问测试平台网站 若直接使用虚拟机&#xff0c;则直接通过ip端口号访问若通过配置域名&#xff0…