[网络] https是什么?https是怎么保障我们信息传输的安全的?

Type-C连接中的CC引脚:Rp与Rd电阻的识别与供电模式选择 本文深入解析Type-C接口中CC引脚的核心功能,包括Rp与Rd电阻的识别原理及供电模式选择机制。通过详细的分压计算和实战案例,揭示Type-C设备如何通过CC引脚实现方向检测、角色识别和供电协商,为硬件设计提供关键指导。 阅读详情

前言


在互联网发展初期,HTTP协议帮助了众多应用去传递数据,随着互联网的发展,越来越多的应用出现,传递敏感信息的需求变得十分急迫,所以HTTPs应运而生,本文将介绍HTTPs是什么以及它是如何保障我们通信安全的。

HTTPs是什么?


HTTPs,全称HTTP over TLS,意味在TLS之上的HTTP。要了解HTTPs的工作原理,我们就必须理解这个TLS到底是什么?

TLS是什么?

TLS已经非常有名了,不过笔者还是简单介绍一下。
TLS,全称Transport Layer Security,意味传输层安全。挺拗口,咋不叫安全传输层,这样不是更好理解吗?

TLS本身是一种基于传输层协议(TCP/UPD)的网络协议,被称为TLS Protocol,翻译过来全称就是传输层安全协议了。

其最新版是rfc8446定义的TLS Protocol Version 1.3,可以参考下图。
RFC 8446 TLS v1.3
TLS协议提供了安全传输数据的方法,而HTTPs也正是因为用了TLS做数据传输协议,才能保障我们信息传输的安全。TLS是如何保障安全的,这个我们放到后面章节讨论。

协议栈对比:HTTPs vs HTTP


了解了HTTPs之后,为了加深印象,笔者画了HTTPs和HTTP协议栈的对比图。
协议栈对比HTTPs vs HTTP
可以看到对于HTTPs和HTTP来说,最高层的协议没有什么不同。区别仅仅是一个用了TLS协议做了数据加密解密工作。

万能的TLS协议

TLS协议更像一个TCP协议的代理(Proxy),高层协议可以随意在自己直接使用TCP协议或使用TLS协议代理操作TCP协议收发数据,这意味着TLS协议能为任意高层协议添加安全性保障。所以不仅仅是HTTP可以利用TLS做安全性保障成为HTTPs,还有其他有名的协议也有利用TLS协议做安全性保障。

  • FTPs:FTP over TLS
  • donmian-s:DNS query-response protocol run over TLS
  • amqps:amqp protocol over TLS/SSL
  • etc…

使用TLS来保证安全的协议有非常多,如在公开在iana注册了专用端口的协议中搜索tls就能出现一大片。
如果有兴趣的读者可以自己去这个网站看:Service Name and Transport Protocol Port Number Registry
截图如下:
IANA Port Registry IANA端口注册
如果你需要为自家的私有协议添加安全性保障,可以考虑使用TLS。

TLS如何保障我们的通信安全的?


那么如果说要保障数据安全,防止第三者窃听,无非就俩字:加密。
说到加密,不说一些奇奇怪怪的加密方式(如偏移a→b、b→c、…、z→a,加密解密表),我们主流的加密算法有两种:

  • 对称加密:一个密钥,能同时用于数据的加密和解密。
  • 非对称加密:两个密钥(公钥、密钥),是用公钥加密数据则用密钥解密,是用密钥加密则用公钥解密

对称加密和非对称加密的优缺点

加密方式优点缺点
对称加密密文数据量较小,运算速度快密钥容易泄露,有安全性隐患
非对称加密密钥不易泄露,安全性高密文数据量大,运算速度慢

对称加密方式密钥易泄露的问题

我们说一下为什么对称加密密钥容易泄露,假设你是一个新用户,想要去和某个服务器做加密通信,如果使用对称加密,那么一定有一个密钥从服务器到我们这个用户的客户端的一个传递过程,如果不传递密钥信息,仅服务器持有密钥,我们用户(客户端)是没办法解密的。要进行通信一定要传递密钥给客户端。那么密钥传递的过程可以是通过网络传递(明文),也可以是比如你去服务器上拷贝密钥,然后保存到你客户端本地。无论是哪种方式,密钥的拷贝在多个节点存在都会导致密钥泄露风险增加。

改良版之混合加密

混合加密,对称加密和非对称加密都使用。因为两者都有致命缺点,一个是安全性问题,一个是密文数据量大(占带宽资源)和运算速度慢(占CPU等计算资源),为了解决这两个痛点,就有了混合加密。
混合加密首先使用非对称加密去传递对称加密密钥(会话密钥),这样对称加密密钥就是被安全传输的(经过了非对称加密),而且限定了对称加密密钥的生命周期为会话级别(即连接断开后就回收密钥,每次新的连接都是随机生成的不同密钥),大幅提高了安全性。后续的应用数据交换环节就使用之前交换的对称密钥去加密解密,解决了非对称加密的密文数据量大及运算速度慢的痛点。

笔者在19年时写的一篇文章中就详细介绍了三种加密方式,本文就不详细赘述了,有兴趣了解的读者可以看笔者写的这篇文章:《[密码学]对称密钥加密、非对称密钥加密和混合加密的基本原理》

对称密钥加密、非对称密钥加密和混合加密的基本原理截图

TLS中混合加密的应用

那么我们的TLS支持两种模式,一种是PSK(pre shared key,预共享密钥)模式,另一种是Certificate(认证)模式,PSK通常不使用,我们大部分用到的都是Certificate模式。如刚才我们说的混合加密有两个阶段,一是交换会话密钥(对称加密密钥)的阶段,二是交换应用数据(对称加密密钥加密后的密文)的阶段。这在TLS中表现为

  1. TLS握手阶段:对应子协议TLS Handshake Protocol,用于交换加密算法、加密参数等信息。
  2. TLS数据交换阶段:对应子协议TLS Record Protocol,用于交换加密后的应用数据。

附:有时候会看到HTTP over SSL是什么?


SSL,全称Secure Sockets Layer,是TLS的前身,TLS是SSL的后继者。它们的职责相近,都是在如TCP的传输层之上提供安全性保障的协议。所以HTTPs早期被称为HTTP over SSL,现阶段SSL虽被TLS替代,但是HTTPs依然被保留,全称改为了HTTP over TLS。在rfc的注册协议端口资料中,关于https的描述也是

http protocol over TLS/SSL

rfc ports rfc端口

结语


HTTPs总的来说并不难,如果能很好的理解TLS之于HTTPs的作用,那么理解TLS之于其他协议的作用就很简单了,甚至你可以为自己开发私有协议添加TLS的使用,使其变得更加安全。而TLS保证通信安全的根本是加密,而三种加密方式,TLS通常使用对商业环境最友好的混合加密来完成安全通信工作。

我是虎猫,希望本文对你有帮助。(=・ω・=)

SECS/GSM 测试工具 SecsExpress 的配置与实战应用 本文详细介绍了半导体设备通讯测试工具SecsExpress的配置与实战应用。作为专业的SECS/GSM协议调试工具,它能模拟Host与设备端进行双向测试,帮助工程师快速部署、验证通讯链路,并高效排查与RMS系统或真实设备间的联调问题,是提升半导体工厂设备集成与维护效率的利器。 阅读详情

相关推荐

STM32的GPS数据提取程序设计说明——基于NMEA0183协议

一、硬软件平台 本次程序实现效果为对GPS信号穿送来的数据进行筛选,并将筛选后的信息通过上位机显示出来,所以此次设计所需硬件包括STM32F407、RS232转TTL、CH340USB转串口模块,注意该模块在使用前,对应的系统需要安装驱动,否则串口调试助手无法识别,另外还包括JLink下载器。 本次代码设计软件为KEIL5并结合F4固件包,上位机系统为WIN7,主机系统为WIN10。 二、算法总体思路设计 由于GPS通过RS232将数据传送给板子,因此使用两个串口资源(串口1和串口2),其中一个用来

小景的博客 6181

SSL是什么?SSL怎么用?

目录SSL是什么SSL协议的三个特性SSL 的工作原理1.握手协议2.记录协议3.警报协议SSL协议的应用---SSL VPN1.SSL VPN的优势2.SSL VPN的实现 (★★★★★)3.SSL VPN要求的终端安全 SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。如今被广泛使用,如网页,电子邮件,互联网传真,即时消息和语音在IP电话(VoIP)

weixin_62107875的博客 1万+

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

https和ssl分别是什么?有什么关系?

网络已经成为我们生活和工作中不可分割的一部分,我们大部分的活动都要在网络上进行,比如网购、E-mail、浏览网页等等。而我们在进行这些操作时,可能会涉及到很多隐私数据的传输,这就需要我们考虑一个问题,网络真的安全吗?想要保证网络的基本安全,首先得了解什么是https和ssl?他们之间存在什么样的关系?以及他们的作用是什么? 一、什么是https和ssl ssl全称是Secure Sockets...

SSL加密技术 1万+

5分钟搞定!用OpenCV实现全景图像柱面展开的保姆级教程(附完整代码)

本文提供了一份使用OpenCV实现全景图像柱面展开的详细教程。通过清晰的数学原理讲解和分步代码演示,指导读者快速掌握从等距柱状投影全景图到平面展开图的核心转换方法,并涵盖性能优化、参数调整及透视视图扩展等实用技巧,适合图像处理爱好者和开发者实践。

sony5的博客 573

把 ABAP 出站 IDoc 做到稳如老狗:从数据抽取到端口投递的全链路拆解

SAP出站IDoc创建流程解析 本文详细拆解了SAP系统中出站IDoc的创建流程,将其归纳为四个关键阶段:数据获取、数据转换、控制记录校验和端口投递。文章指出,IDoc的稳定性取决于整条流水线的设计质量,而不仅仅是字段映射。 核心要点包括: IDoc由控制记录和数据记录组成,需在WE31/WE30中定义段结构 2.数据获取阶段需明确触发点、依赖链和一致性保证 3.数据转换应遵循"结构版本+映射纪律"原则 4.控制记录校验决定IDoc能否发出,需与WE20伙伴配置匹配 5.端口类型(tRF

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

HTTP Over TLS 简介

Table Of Contents 1. HTTPS是什么? 2. TLS协议简介 3. TLS握手流程 3.1 客户端请求建立连接 3.2 服务器确定加密套件 3.3 服务器发送证书 3.4 双方完成身份认证 3.5 生成密钥 3.6 通知开始加密传输 3.7 确保密钥可用 4. 加密套件与密钥 4.1 加密套件 4.2 master secret ...

zhangke1985的专栏 5007

手把手教你学BSP(11.3)--BSP实例:基于Raspberry Pi 4 Model B的Linux BSP开发实例

通过以上步骤,我们完成了一个基于Raspberry Pi 4 Model B的Linux BSP开发过程,包括硬件初始化、设备驱动编写、Bootloader配置、内核配置和编译,以及最终映像的生成。每个步骤都非常重要,确保每一步都正确无误才能使整个系统正常运行。

MHD0815的博客 1012

HTTP over SSL/TLS

文章目录HTTPS 基本过程TLS 证书机制中间人攻击SSL 剥离HSTS伪造证书攻击HPKP HTTPS 基本过程 HTTPS 即 HTTP over TLS,是一种在加密信道进行 HTTP 内容传输的协议。 TLS 的早期版本叫做 SSL。SSL 的 1.0, 2.0, 3.0 版本均已经被废弃,出于安全问题考虑广大浏览器也不再对老旧的 SSL 版本进行支持了,因此这里我们就统一使用 TLS...

qq_45206551的博客 1252

倍福--手动加入第三方伺服的配置

客户在没有硬件情况下,希望手动配置硬件,添加第三方驱动器,本文介绍其操作流程 目 录 软硬件版本 3 1.1. 倍福Beckhoff 3 1.1.1. 控制器硬件 3 1.1.2. 控制软件 3 操作步骤 3 2.1. 添加电机XML文件 3 2.2. 创建EtherCAT 3 2.3. 添加新建项 3 2.4. 选择型号 4 2.5. 关联NC轴 5 软硬件版本 1.1. 倍福Beckhoff 1.1.1. 控制器硬件 TwinCAT控制制器,PC或者EPC,包括: 嵌入式控制器:CX5020-

weixin_41883890的博客 5329

Python爬虫实战:Boss直聘职位数据采集实战 - Playwright + 结构化解析完整方案(附CSV导出 + SQLite持久化存储)!

我长期专注 Python 爬虫工程化实战,主理专栏 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 2188

什么是HTTPS加密协议?HTTPS安全传输原理,SSL和TLS介绍,NGINX如何配置SSL证书

HTTPS是超文本传输协议(HTTP)的安全版本。它使用SSL(安全套接层)或TLS(传输层安全)加密协议来保护数据传输的安全性和机密性,以防止未经授权的访问和窃听。HTTPS协议通常用于处理敏感信息,如在线支付或登录凭证等。可以通过URL的前缀来识别一个网站是否使用了HTTPS协议,即使用了“https://”前缀而不是“http://”。从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。

dzqxwzoe的博客 1351

【Unity的HDRP渲染管线下用Steam VR串流结合使用遇到的各种问题_SteamVR 插件和Pico串流助手】

当你启用"Mock Runtime"选项后,Unity将模拟一个虚拟的OpenXR运行时环境,并提供一些虚拟的设备和功能,让你能够进行开发和调试。在Unity中,SteamVR插件是一个由Valve提供的Unity插件,它允许开发者在Unity项目中集成SteamVR功能,以便支持SteamVR设备。OpenXR是一个跨平台的虚拟和增强现实(VR/AR)开发接口,它为开发者提供了一个统一的接口,用于访问不同VR/AR硬件设备和平台的功能。这个选项是用于模拟OpenXR运行时环境的功能。

暴走约伯的博客 2800

HTTP vs HTTPS: 揭秘网络安全的关键差异,你不会还不知道吧?

通过 HTTPS 协议,数据在传输过程中会被加密,这不仅保证了数据的机密性(防止数据被窃取),还确保了数据的完整性(防止数据在传输过程中被篡改)。服务器用自己的私钥解密出会话秘钥。例如,当你的包裹从一个路由器(网络节点)到达下一个节点时,包裹的 "收件人地址"(即 MAC 地址)会发生变化,每经过一个路由器,包裹的封面上的 “地址” 会更新为当前路由器的 MAC 地址,直到最终到达目标服务器。在互联网中,信息传递就像是一场复杂的邮递过程,消息需要通过一系列的“邮局”(即路由器),逐步从发送方传递到接收方。

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频 171

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HTTP为什么要 “升级“ HTTPS?

目录HTTP与HTTPSHTTP协议传输信息密钥对称密钥非对称密钥数字证书浅析HTTPS协议传输信息加密过程HTTPS单独使用对称密钥使用对称密钥和非对称密钥 HTTP与HTTPS HTTP协议传输信息 HTTPS是基于HTTP的一层加密协议。 密钥 密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。 对称密钥 加密解密使用同一套密钥,比如计算机中 位运算符 ^ a^b = c c^b = a a是未加密信息,b是密钥,c是加密信息 (b !=

就这样吧 599

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

https原理

oneblue123的博客 655

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

http和https的区别

Http:超文本传输协议(Http,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计Http最初的目的是为了提供一种发布和接收HTML页面的方法。它可以使浏览器更加高效。Http协议是以明文方式发送信息的,如果黑客截取了Web浏览器和服务器之间的传输报文,就可以直接获得其中的信息。 Https:是以安全为目标的Http通道,是Http的安全版。Https的安全基础是SSL。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议

weixin_45290022的博客 128

你不可不知的HTTP和HTTPS

一、HTTPS简介 什么是https呢,可以看成更安全的http,就是加了secure(安全)的http。 HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。 二、https工作流程 HTTPS 默认工作在 TCP 协议443端口,它的工作...

weixin_57611815的博客 617

全球最火的程序员学习路线!Context都没弄明白凭什么拿高薪?赶紧收藏!

前言 这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。 熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。 欢迎一线公司员工以及网友提交面试题库,欢迎留言。 网上的都是按照公司划分的,想找具体某一方面的知识点有点不好找,我这里就根据知识点分门别类的整理了一下,想看哪一块可以快速找到。 什么是 HTTPS? HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。 你也

m0_56130999的博客 113

加解密概念

首先从感性认识了解什么加解密 https://haokan.baidu.com/v?vid=17004118868100378437&pd=bjh&fr=bjhauthor&type=video 什么是对称加密 什么是非对称加密 什么是数字信封 主要解决的问题是信息传输加密。 使用的是【接收者】的非对称密钥对,用接收者的公钥加密,由接收者的私钥解密。以及对称秘钥。 发送者发送信息时,首先生成一个共享的对称密钥,用该对称密钥加密消息体,形成密文; 发送者用接收者的公钥加密此对称密

weixin_33022765的博客 372

常见协议传输方式了解一下

http:超文本传输协议。 https:在客户端和服务端间的通信增加了SSL加密,保证了信息传输的安全性 websocket:实现了浏览器和服务器双向通信

qq1105273619的博客 471

SSL(Server Socket Layer)简介

SSL(Server Socket Layer)简介 在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下,中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视,从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因,总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展,人们对信息安全的要求越来越高。因此Netscape公...

acme1921209 217

https是如何保证安全的

在学习http与https的区别的时候,我们通常从以下几点出发:http是超文本传输协议,是明文传输,有安全风险,https在TCP和http网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输http连接简单,三次握手后即可传输,但是https在三次握手之后还要进行SSL/TLS的握手过程,才能加密报文传输两者端口号不一样,http默认端口号是80,HTTPS默认端口号是443https需要申请CA证书,需要付费。

Rice_w的博客 8111

【Linux网络编程】HTTPS协议

本文主要介绍应用层https的协议,https是在http到传输层之间加了一层加密层,http协议信息在网络中是明文传送的容易被中间人监听和篡改,所以需要https协议,因为协议有对应的端口所以双方知道对方用的什么协议,有了https信息在两端是明文,在网络中传输是密文,那https是如何实现的呢?我们先了解对称密钥,非对称密钥、数据摘要,数字签名,然后我们在依次递进学习5种方案,前四种方案每种都有问题,最后我们结合前四种方案+证书,终于解决https安全通信的问题!

fight_p的博客 2193

HTTPS就一定是安全的吗?

每当我们讨论到信息安全的时候,我们经常接触到的信息加密传输的方式莫过于HTTPS了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持HTTPS的加密信息传输方式,并且你与它的连接确实被加密了。但是HTTPS并不是一个单一的东西,它是SSL+HTTP协议。 相信我们在学生时代的时候都做过传过小纸条这样的事情,下面我们通过一个传纸条的例子来说明这个协议。 目前你坐在一个教室最前排,你想把你的QQ密码传递给教室里最后排另一个人,一般来说,会选择,传纸条。传纸条这就是可以比喻成互联网的一个基础协议TCP

java惊蛰的博客 3776

什么是HTTPS安全证书?

在讲HTTPS安全证书时,相信HTTPS与HTTP的关系大家也不是很清楚,我先和大家说明一下。HTTPS证书其实一种一种传输协议。HTTP协议传输的数据都是未加密的,这就意味着用户填写的密码、账号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,从而被黑客加以利用,因此使用HTTP协议传输隐私信息非常不安全。 HTTPS相比较SSL,更加的安全保障网络安全。使用HTTPS加密协议访问,可激活 (SSL协议(什么是SSL协议),这样子就可以实现高强度双向加密传输,防止在传输数据的时候信息遭到泄露。简

蔚可云的博客 2849
上一篇: [Java] 浅析rpc的原理及所用到的基本底层技术
下一篇: [网络] TCP协议是什么?套接字Socket是什么?它们是什么关系?
虎猫_EICHO
博客等级 码龄8年 42粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值