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

news2024/9/26 5:19:12

文章目录

  • 前言
  • HTTPs是什么?
    • TLS是什么?
  • 协议栈对比:HTTPs vs HTTP
    • 万能的TLS协议
  • TLS如何保障我们的通信安全的?
    • 对称加密和非对称加密的优缺点
    • 对称加密方式密钥易泄露的问题
    • 改良版之混合加密
    • TLS中混合加密的应用
  • 附:有时候会看到HTTP over SSL是什么?
  • 结语

前言


在互联网发展初期,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通常使用对商业环境最友好的混合加密来完成安全通信工作。

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

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

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

相关文章

pytorch的buffer学习整理

pytorch模型中的buffer 这段时间忙于做项目,但是在项目中一直在模型构建中遇到buffer数据,所以花点时间整理下模型中的parameter和buffer数据的区别💕 1.torch.nn.Module.named_buffers(prefix‘‘, recurseTrue) 贴上pytorch官网对其的说…

sqli-labs/Less-52

这一关输入几次rand()页面发生了改变 说明这一关的注入类型属于数字型注入 接着尝试一下报错注入 输入如下 sortupdatexml(1,if(11,concat(0x7e,database(),0x7e),1),1)-- 发现没有回显 显然不能使用报错注入 只能使用盲注了 这一关我们通过rand()函数的形式来实现盲注 首先…

HTML+CSS+JavaScript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…

SPC5777CDK3MMO4 IC MCU 32BIT,SPC5777CDK3MME3

MPC5777C Power Architecture 微控制器是一款高性能多核MCU,优化用于要求先进性能、计时系统、安全性和功能性安全能力的工业和汽车控制应用。MPC5777C设有两个独立的Power Architecture z7内核(运行速度高达300MHz)以及一个z7内核&#xff0…

搜索技术——盲目与启发

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 搜索是人工智能中的一个基本问题,并与推理密切相关。搜索策略的优劣将直接影响到智能系统的性能与推理效率。 一:搜索的基本概念 搜索:根据问题的实际…

Linux openvino 环境搭建遇见的问题

1.编译openvino源码,报错(PythonLibsNew) 通过报错路径结合cmakeLists.txt发现,有个文件夹内容为空导致的,因此需要单独下载对应的文件(这个文件夹藏的比较深,之前没有注意到,只关注openvino/thridparty下&…

(附源码)计算机毕业设计JavaJava毕设项目财务管理系统的设计与实现

项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven Vue 等等组成,B/…

膜前氟离子超标的解决方法,除氟离子技术

原水氟化物浓度在150mg/l左右,处理水量大概在30m/h,要求出水氟化物浓度要小于10mg/l,同时呢对出水稳定性方面要求也非常严格。 “预过滤系统离子交换除氟反渗透系统超纯水系统”的工艺,利用季胺1型官能团选择性吸附氟化物&#x…

Nginx负载均衡配置、限流配置、Https配置详解

一. 负载均衡 1. 用法 通过proxy_pass 可以把请求代理至后端服务,但是为了实现更高的负载及性能, 我们的后端服务通常是多个, 这个是时候可以通过upstream 模块实现负载均衡。 使用的模块为:【ngx_http_upstream_module】&#…

股票买卖明细接口是怎样实现查询交易数据的?

股票买卖明细接口作为软件应用而言,很多资源和数据不一定就是由其自身提供的,所以说某些功能还是需要调用第三方提供的服务,这其中就涉及到API接口的调用。也就是说,股票买卖明细接口是与数据端直接挂钩的,通过一些量化…

大数据毕设选题 - 招聘岗位数据分析可视化(python 爬虫)

文章目录1 前言1 课题背景2 实现效果3 项目实现3.1 概述3.2 数据采集3.3 数据清洗与预处理4 数据分析与可视化Flask框架介绍5 最后1 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学…

Head First设计模式(阅读笔记)-03.装饰者模式

星巴兹咖啡 咖啡存在许多的种类,同时也有不同的调料。此时用户可以单点咖啡,也可以点咖啡调料,请计算费用(这里咖啡和调料都属于Drink的一类) 简单实现 方案1 每出现一种组合就实现一个类,但是每次增加一个咖啡种类或者一个新的调…

Centos7通过SSH使用密钥实现免密登录

Centos7通过SSH使用密钥实现免密登录 日常开发中,难免会有登录服务器的操作,而通过ssh方式登录无疑是比较方便的一种方式。 如果登录较频繁,使用密钥实现免密登录无疑更是方便中的方便。因此本文就简单说一说如何实现免密登录。一、安装配置ssh服务 默认情况下Centos7是安装…

推荐一款制作精良、功能强大、毫秒级精度的定时任务执行软件

目录 一、定时执行专家 - 功能详细 二、定时执行专家 - 最新版下载 三、定时执行专家 - 更新日志 四、关键字/Keyword 一、定时执行专家 - 功能详细 1、支持多种触发方式(定时方式):倒计时执行、持续执行、键盘鼠标空闲指定时长时执行、…

了解的Java泛型

作者:~小明学编程 文章专栏:JavaSE基础 格言:目之所及皆为回忆,心之所想皆为过往 目录 前言 什么是泛型 为什么要引入泛型 使用泛型 裸类型 泛型类的定义 类型擦除 通配符 什么是通配符 通配符的上下界 通配符的使用 …

Cookie和Session的工作流程以及Servlet中与之相关的API

目录 一、认识Cookie和Session 1、Cookie 2、Session 二、Cookie和Session的工作流程 三、Servlet中与Cookie和Session相关的API 1、HttpServletRequest类中的相关方法 2、HttpServletResponse类中的相关方法 3、HttpSession类中的相关方法 4、Cookie类中的相关方法 …

常用的框架技术-10 Spring Security Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录1.Spring Security简介1.1 Spring Security概述1.2 Spring Security历史发展1.3 产品的对比1.3.1 Spring Security1.3.2 Shiro1.4 Spring Security 核心类1.4.1 Auth…

既然有了ES,为何还用ClickHouse——从原理万字总结ClickHouse为何这么快

通过了解 CH 的几大特性了解千亿级企业 ClickHouse 实时处理引擎架构设计、核心技术设计、运行机理全流程。 文章目录1 初始 ClickHouse1.1 什么是 ClickHouse1.2 ClickHouse 的优缺点1.3 谁在用 ClickHouse3 数据引擎3.1 库引擎3.2 表引擎3.3 MergeTree 引擎4 工作原理4.1 数据…

浙大MBA经验分享:在工作生活的缝隙中奋勇上岸

非常高兴可以为大家分享我的浙大MBA备考经验!首先针对我的背景简要介绍一下,我本科毕业于省内的普通大学浙江理工大学,学的是设计专业,就业于一家外企公司。在2022年的联考中获得了综合133,英语75,总分是20…

一个简单的音乐网站设计与实现(HTML+CSS)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 音乐网页设计 | 仿网易云音乐 | 各大音乐官网网页 | 明星音乐演唱会主题 | 爵士乐音乐 | 民族音乐 | 等网站的设计与制作 | HTML期末大学生网页设计作…