当前位置: 首页 > news >正文

HTTPS安全套接字层超文本传输协议

HTTPS安全套接字层超文本传输协议

  • HTTPS简介
  • HTTPS和HTTP的主要区别
  • 客户端在使用HTTPS方式与Web服务器通信时的步骤
  • SSL/TLS协议的加密(握手)过程
  • 为什么数据传输阶段使用对称加密
  • HTTPS 的优点
  • HTTPS 的缺点
  • HTTPS 的优化
    • 证书优化
    • 会话复用

HTTPS简介

HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS协议的主要作用有两点:第一点是建立一个信息安全通道,来保证数据传输的安全;另一点就是确认网站的真实性。

HTTPS和HTTP的主要区别

  1. https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
  3. http和https使用的端口也不一样,前者是80,后者是443。

客户端在使用HTTPS方式与Web服务器通信时的步骤

HTTPS的整体过程分为证书验证数据传输两阶段。
(1)证书验证阶段

  1. 浏览器发起 HTTPS 请求。
  2. 服务端返回 HTTPS 证书,证书中包含服务端的公钥
  3. 客户端验证证书是否合法,证书验证阶段采用非对阵加密,如果不合法则提示告警。

(2)数据传输阶段

  1. 当证书验证合法后,在本地生成随机数。
  2. 通过公钥加密随机数,并把加密后的随机数传输到服务端。
  3. 服务端通过私钥对随机数进行解密。
  4. 服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后发送给浏览器。
    在这里插入图片描述

SSL/TLS协议的加密(握手)过程

SSL/TLS的握手过程如下:

  1. 客户端给出支持SSL协议版本号,一个客户端随机数N1,客户端支持的加密方法等信息。
  2. 服务器收到信息后,确认双方使用的加密通信协议,并返回数字证书,一个服务器生成的随机数N2等信息。
  3. 客户端确认数字证书的有效性,然后生成一个新的随机数N3,然后使用数字证书中的公钥,加密这个随机数,发给服务器。
  4. 服务器使用自己的私钥,获取客户端发来的随机数N3,并通过约定的对称加密方法,使用前面三个随机数N1、N2、N3生成会话密钥,用来加密接下来的通信内容(对称加密)。

SSL/TSL通过四次握手,主要交换三个信息:

  1. 数字证书。
  2. 三个随机数。
  3. 加密通信协议。

为什么数据传输阶段使用对称加密

  • 非对称加密的加解密效率是非常低的,而 http 的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。

  • 在 HTTPS 的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以HTTPS 中内容传输加密采取的是对称加密,而不是非对称加密。

HTTPS 的优点

HTTPS 协议是由SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,要比 HTTP 协议安全,可防止数据在传输过程中不被窃取、修改,确保数据的完整性。

HTTPS 的缺点

  1. HTTPS协议握手阶段比较费时。
  2. HTTPS连接会增加数据开销。
  3. CA证书需要一定费用越高。

HTTPS 的优化

证书优化

证书优化主要有两方面:

  1. 证书传输:证书越小,传输的就越快。选择不同的加密方法,生成的证书的大小也不一样。
  2. 证书验证:证书验证有的时候不仅需要验证证书是否被篡改,还需要验证证书是否被吊销。之前是由CA机构维护一个吊销证书列表CRL,客户端每次要下载CRL,然后验证证书是否被吊销。随着吊销证书的增多,CRL的大小越来越大。也会导致HTTPS连接变慢。所以引入了OCSP,在线证书状态协议,客户端直接向CA机构发送证书编号,CA机构会返回证书的状态,不需要每次下载CRL,提高了效率。

会话复用

服务器为每个客户端在会话过程中设置一个SessionID,在会话期间将第一次生成的密钥分别保存在客户端和服务器,服务器通过SessionID来保存对应的密钥。当客户端再次连接的时候,直接传入SessionID,然后使用客户端的密钥进行加密。服务器收到后,通过SessionID获取对应的密钥,然后解密。这样客户端就可以复用一个密钥,不用每次都新生成密钥。

相关文章:

HTTPS安全套接字层超文本传输协议

HTTPS安全套接字层超文本传输协议 HTTPS简介HTTPS和HTTP的主要区别客户端在使用HTTPS方式与Web服务器通信时的步骤SSL/TLS协议的加密(握手)过程为什么数据传输阶段使用对称加密HTTPS 的优点HTTPS 的缺点HTTPS 的优化证书优化会话复用 HTTPS简介 HTTP协议…...

Jenkins发送的邮箱中没有带配置的压缩附件

【问题描述】:Jenkins中明明配置了邮箱发送时要带压缩附件,收到的邮箱中却没有附件内容 【问题定位】:压缩附件没有放在Jenkins工作空间下,所以发送的邮件并未发送附件 【解决办法】: 1)把压缩附件放到J…...

VU3-02

1.一些小点 1.1 npm i -D less (安装less) -D 安装依赖到开发环境中 只在开发中生效 正式打包的时候没有它,只在开发时有效 1.2 父子组件传参 (1)子组件中定义自己的参数和事件 父传子:const props defineProps(["item&quo…...

Linux新手小程序——进度条

前言 目录 前言 需要先了解 1.\r和\n 2.缓冲区 一.理解字符的含义: 学习c语言时,我们可以粗略把字符分为可显字符和控制字符. 在按回车换到下一行开始的操作时,实际上是进行了两个操作:1.让光标跳到下一行(只…...

会点C++还需要再学Python吗?

提到的C、数据结构与算法、操作系统、计算机网络和数据库技术等确实是计算机科学中非常重要的基础知识领域,对于软件开发和计算机工程师来说,它们是必备的核心知识。掌握这些知识对于开发高性能、可靠和安全的应用程序非常重要。Python作为一种脚本语言&…...

Ceph入门到精通- Linux 磁盘管理(block 与 inode)

1 硬盘 block 与 inode 详解 1.1 Sector(扇区)与 Block(块) 1) 硬盘的最小存储单位:sector(扇区),每个扇区储存 512 字节;操作系统会一次性连续读取多个…...

安全DNS,状态码,编码笔记整理

一 DNS DNS(Domain Name System)是互联网中用于将域名转换为IP地址的系统。 DNS的主要功能包括以下几个方面: 域名解析:DNS最主要的功能是将用户输入的域名解析为对应的IP地址。当用户在浏览器中输入一个域名时,操作…...

【业务功能篇53】Springboot 数据封装对象

Entity、VO、DTO解释 1)Entity:实体,与数据库的每一行数据打交道的,它的属性对应数据库每个字段 class User{ private Long idCard; private String name; private Date birthday; ...... } 对应数据库的id,name&…...

将Spring Session存储到Redis中实现持久化

文章目录 Session持久化1. 添加依赖2. 配置redis连接信息3. 存储和读取session从Redis Session持久化 1. 添加依赖 在项目中添加session依赖和redis依赖&#xff0c;如下所示&#xff1a; <dependency><groupId>org.springframework.boot</groupId><art…...

Git工作中常用命令

模拟一个git完整命令流程 有一个名为 example.txt 的文本文件 Hello, this is some text.1、做一些修改并查看文件的差异&#xff1a; # 修改 example.txt 文件 echo "Hello, this is some updated text." > example.txt查看文件的差异 git diffgit diff 命令…...

【电路效应】信号处理和通信系统模型中的模拟电路效应研究(SimulinkMatlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、Simulink仿真实现 &#x1f4a5;1 概述 在信号处理和通信系统模型中&#xff0c;模拟电路效应研究是指考虑到实际电路的特性对信号进行建模和分析的过程。模拟电路效应…...

Spring 的元注解

一、元注解介绍 1.1.源码引入 1.2.元注解介绍 从上面的图片可知&#xff0c;Spring 有四个【负责注解其他注解】的元注解&#xff0c;分别是&#xff1a; Target&#xff1a;标识该注解可以用于标注哪些程序元素&#xff0c;比如类、方法、字段等。 Retention&#xff1a;标…...

【前缀和】238. 除自身以外数组的乘积

238. 除自身以外数组的乘积 解题思路 前缀与后缀的思路对于给定索引i&#xff0c;将它左边的所有数字乘积乘以右边所有数字的乘积初始化两个数组L R计算L[i] L[i - 1] * nums[i - 1] 也就是左侧所有数字的乘积计算R[i] R[i 1] * nums[i 1] 也就是右侧所有数字的成绩计算L…...

【Java中间件】RocketMQ

RocketMQ 一、MQ概述 Message Queue&#xff0c;是一种提供消息队列服务的中间件。提供了消息生产、存储、消费全过程API的软件系统。 MQ的作用 限流削峰&#xff1a;当用户发送超量请求时&#xff0c;将请求暂存&#xff0c;以便后期慢慢处理。如果不使用MQ暂存直接请求到…...

Megatron-LM、NVIDIA NeMo、MegaMolBART 、model_optim_rng.pt 文件是什么?

本文涉及以下几个概念&#xff0c;分别是&#xff1a; Megatron和Megatron-LM-v1.1.5-3D_parallelism NVIDIA NeMo Megatron和Megatron-LM-v1.1.5-3D_parallelism是什么&#xff1f; Megatron是由NVIDIA开发的一种用于训练大规模语言模型的开源框架。它旨在提供高效的分布式…...

2023年信息系统项目管理师如何报名?老司机告诉你

信息系统项目管理师是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目之一&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资…...

linux ubuntu系统 命令备忘

一、安装软件包的命令 1、验证安装包是否安装 dpkg -s <软件包名> 2、从软件源服务器获取最新的软件信息并缓存到本地 apt update 3、从本地仓库中对比系统中所有已安装的软件&#xff0c;如果有新版本的话则进行升级 apt upgrade 4、列出本地仓库中所有的软件包名…...

我的第一个flutter项目(Android Webview)

前言&#xff1a;flutter开发环境搭建Flutter的开发环境搭建-图解_☆七年的博客-CSDN博客 第一个flutter简单项目&#xff0c;内容是一个主界面&#xff0c;其中&#xff1a; 1.内容点击数字自增 2.跳转一个空页&#xff0c; 3.跳转一个WebView界面 其中涉及添加主键&#xf…...

微信机器人搭建详细教程

确保已安装Python和pip。 在D盘上创建名为wxbot的文件夹&#xff0c;并将你的Python机器人项目文件放在这个目录中。 在D盘的wxbot文件夹中打开命令行工具&#xff0c;并创建一个新的Python虚拟环境&#xff08;可选&#xff09;&#xff1a; python -m venv venv激活虚拟环…...

opengauss安装

opengauss安装 系统环境 Redhat版本&#xff1a;redhat7.6 虚拟机ip&#xff1a;192.168.5.144 Gauss版本&#xff1a;openGauss-5.0.0-CentOS-64bit-all.tar.gz 企业版 一&#xff0e;准备软硬件环境 1.1 安装依赖包 yum -y install bzip2 python3 libaio-devel flex bis…...

结构化编程

结构化编程&#xff1a;原理、UML建模与工程实践 1. 结构化编程概述 结构化编程&#xff08;Structured Programming&#xff09;是一种编程范式&#xff0c;其核心思想是使用有限的控制结构&#xff08;顺序、选择、循环&#xff09;和子程序&#xff08;函数/过程&#xff09…...

大一C语言期末必考|程序结构+流程控制(详解+例题+易错点)一

&#x1f525;个人主页&#xff1a;北极的代码&#xff08;欢迎来访&#xff09; &#x1f3ac;作者简介&#xff1a;java后端学习者 ❄️个人专栏&#xff1a;苍穹外卖日记&#xff0c;SSM框架深入&#xff0c;JavaWeb ✨命运的结局尽可永在&#xff0c;不屈的挑战却不可须臾或…...

接cst-matlab自动化建模,cst天线/超表面数据集自动化计算和收集,提供建模代码

接cst-matlab自动化建模&#xff0c;cst天线/超表面数据集自动化计算和收集&#xff0c;提供建模代码&#xff0c;提供数据集数据CST和MATLAB这对组合最近被我玩出花了。搞天线设计的朋友应该都懂&#xff0c;手动建模调参简直是精神折磨——尤其是超表面这种动辄几十个单元的结…...

北京 SEO 优化公司哪家比较专业

了解北京 SEO 优化公司的选择&#xff0c;哪家更专业&#xff1f; 在当今互联网时代&#xff0c;拥有一个高效的SEO优化策略是企业在竞争中脱颖而出的关键。而在北京这个国际大都市&#xff0c;众多SEO优化公司云集&#xff0c;如何选择一家专业的SEO优化公司成为了许多企业的…...

2026年必看:高端内存条品牌优选指南

随着电竞行业的快速发展&#xff0c;高性能内存条成为了越来越多玩家的刚需。然而&#xff0c;在众多品牌中选择一款性能可靠、性价比高的产品并不容易。本文将为你推荐一个值得信赖的品牌——Deseroyer毁灭者&#xff0c;并通过具体数据和案例支撑&#xff0c;帮助你做出明智的…...

Windows下OpenClaw安装详解:对接Kimi-VL-A3B-Thinking图文模型

Windows下OpenClaw安装详解&#xff1a;对接Kimi-VL-A3B-Thinking图文模型 1. 为什么选择OpenClaw与Kimi-VL-A3B-Thinking组合 去年我在处理大量图文资料归档时&#xff0c;发现手动整理效率极低。直到尝试将OpenClaw与Kimi-VL-A3B-Thinking模型对接后&#xff0c;才真正实现…...

突破下载瓶颈:3个鲜为人知的ComfyUI加速方案,速度提升300%的秘密

突破下载瓶颈&#xff1a;3个鲜为人知的ComfyUI加速方案&#xff0c;速度提升300%的秘密 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and…...

【ASTM D4169】之穿梭机器人,仓储机器人,托盘四向穿梭机器人的包装运输安全验证守法

穿梭机器人&#xff08;通常指托盘四向穿梭车、智能物流机器人&#xff09;的包装验证&#xff0c;核心目标是确保其在经历长途运输、仓储周转、装卸搬运后&#xff0c;机械结构、电子元器件和功能性能保持完好。 穿梭机器人的包装验证体系相对复杂&#xff0c;因为它既是运输…...

本科论文AI率高不高影响答辩?这个问题要搞清楚

很多同学AI率超标之后第一个问题就是&#xff1a;这会不会影响我参加答辩&#xff1f; 这个问题的答案取决于你的学校是怎么规定的&#xff0c;也和你超标的程度有关。我来帮你分析清楚。 各高校对AI率的处理方式 目前各高校的处理方式大致分三类&#xff1a; 第一类&#…...

嘎嘎降AI和去AIGC哪个更适合文科论文?深度对比评测

嘎嘎降AI和去AIGC哪个更适合文科论文&#xff1f;深度对比评测 选降AI工具看三点&#xff1a;达标率、价格、处理后文本质量。 按这标准我花了一周研究主流工具。结论先说&#xff1a;嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;最适合大多数人——4.8元一篇&#x…...