[ 网络协议篇 ] 一篇文章让你掌握什么是 HTTPS ?(上)

简介: HTTP 和 HTTPS 是老生常谈的问题,无论是在校学习还是找工作,老师和面试官几乎都会问道HTTP 是什么?HTTPS 是什么?他们有什么区别 ?其实学好 HTTP 和 HTTPS 是很重要的,有利于我们后续的学习和参加工作。相信平时上网的时候也很少有人关注这个问题,只是知道计算机网络里 HTTP 的概念。其实这一块的知识延伸很广,还需要了解加密算法和 SSL 协议。未来几篇文章我们就来聊一聊这几个问题,相信仔细看完,会有很大收获。

🍬 博主介绍


👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~

✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】

🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋

🎉欢迎关注💗一起学习👍一起讨论⭐一起进步📝文末有彩蛋

🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


一、什么是HTTPS



HTTPS 全称:Hyper Text Transfer Protocol over SecureSocket Layer。即超文本传输安全协议,是一种网络安全传输协议。由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。常称为 HTTP over TLSHTTP over SSL HTTP Secure

是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。


HTTPS占用443端口通讯,在计算机网络上,HTTPS经由超文本传输协议(HTTP)进行通信,但利用SSL/TLS来加密数据包。


也就是说:HTTPS HTTP 的基础下加入SSL HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL


HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性。

HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。


二、为什么要有 HTTPS



1. HTTP存在缺点(不安全)

HTTP 虽然使用极为广泛,但是却存在不小的安全缺陷:

       数据的明文传送消息完整性检测的缺乏

而这两点恰好是网络支付,网络支付等新兴应用中安全方面最需要关注的。


1. 针对明文传输攻击手段

关于 HTTP 的明文数据传输,攻击者最常用的攻击手法就是网络嗅探,试图从传输过程当中分析出敏感的数据,例如管理员对 web 程序后台的登录过程等等。

从而获取网站管理权限,进而渗透到整个服务器的权限。


即使无法获取到后台登录信息,攻击者也可以从网络中获取普通用户的隐秘信息,包括手机号码,身份证号码,信用卡号等重要资料,导致严重的安全事故。

进行网络嗅探攻击非常简单,对攻击者的要求很低。

使用网络发布的任意一款抓包工具, 一个新手就有可能获取到大型网站的用户信息。


2. 针对未校验数据完整性的攻击

HTTP在传输客户端请求和服务端响应时,唯一的数据完整性检验就是在报文头部包含了本次传输数据的长度,而对内容是否被篡改不作确认。


因此攻击者可以轻易的发动中间人攻击,修改客户端和服务端传输的数据,甚至在传输数据中插入恶意代码,导致客户端被引导至恶意网站被植入木马。


2. HTTPS 达到的目标

HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。


设计目标主要有三个:

1. 数据保密性:

保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么。


2. 数据完整性:

及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。


3. 身份校验安全性:

保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方

相关文章
|
存储 分布式计算 监控
Hologres产品介绍与技术揭秘
近年来,随着数据实时化的诉求加剧,催生了一系列的实时数仓架构,Lambda架构也应运而生,但是随着场景的复杂度和业务多维需求,Lambda架构的痛点也越来越明显。HSAP的理念则是服务分析一体化,在本文中,来自阿里巴巴的资深技术专家将会深度剖析HSAP技术实现Hologres的设计原理,解读其产品典型场景。
13328 0
Hologres产品介绍与技术揭秘
|
编解码 搜索推荐 算法
Celero:一个 C++ 的基准测试管理库
对代码进行持续性开发和有意义的基准测试是一个复杂的任务。虽然测试工具本身(Intel® VTune™ Amplifier, SmartBear AQTime, Valgrind)与应用程序没有相关性,但是它们在某些时候对一些小团队,或者说是一些繁琐的工作来说还是很重要的。这个Celero项目,主要是要建仓一个小型的程序库,使它可以在加入 C++ 工程和对代码进行基准测试时能够非常容易地去重建,分享,并允许在独立的运行进程、开发者或者是工程间进行比较。Celero 使用一个与 GoogleTest 相似的构架,使得他的 API 很容易地使用,并融入一个工程中。当你在开发过程中进行自动测试时,自动
775 0
Celero:一个 C++ 的基准测试管理库
|
8月前
|
机器学习/深度学习 人工智能
ObjectMover:港大联合Adobe打造图像编辑黑科技,移动物体光影自动匹配
香港大学与Adobe联合研发的ObjectMover模型,通过视频生成先验迁移技术,实现图像中物体的自然移动、删除和插入,自动保持光影一致性。
211 21
ObjectMover:港大联合Adobe打造图像编辑黑科技,移动物体光影自动匹配
|
机器学习/深度学习 算法 数据可视化
基于GA遗传优化的CNN-LSTM的时间序列回归预测matlab仿真
摘要:该内容展示了基于遗传算法优化的CNN-LSTM时间序列预测模型在matlab2022a中的应用。核心程序包括遗传算法优化过程、网络训练、误差分析及预测结果的可视化。模型通过GA调整CNN-LSTM的超参数,提升预测准确性和稳定性。算法流程涉及初始化、评估、选择、交叉和变异等步骤,旨在找到最佳超参数以优化模型性能。
|
11月前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
289 5
|
JavaScript
Vue3基础(十wu)___ref获取原生dom元素
本文介绍了Vue3中使用`ref`来获取和操作原生DOM元素的方法,通过示例展示了如何通过`.value`改变元素的样式。
298 1
Vue3基础(十wu)___ref获取原生dom元素
|
机器学习/深度学习 人工智能 搜索推荐
【电商搜索】现代工业级电商搜索技术-中科大-利用半监督学习改进非点击样本的转化率预测
【电商搜索】现代工业级电商搜索技术-中科大-利用半监督学习改进非点击样本的转化率预测
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
537 1
|
人工智能 缓存 Kubernetes
Kubernetes在AI/大数据领域的 最新进展与大规模实践
根据在[CNCC 2022开源分布式云原生系统技术发展](https://ccf.org.cn/cncc2022/schedule_d_4075)论坛的演讲整理。 ![](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/neweditor/08cde176-d1d3-49ae-a1f7-cc025d3f06f3.png) 在云计算技术快速发展的过
2318 73
Kubernetes在AI/大数据领域的最新进展与大规模实践