HTTP和HTTPS谁传输数据更安全?

news2024/12/29 15:59:59

1.HTTP

 HTTP在传输数据时,通常都是明文传输,也就是传输的数据没有进行加密。在这种情况下,如果传输的是一些敏感数据,比如某银行卡密码,就很容易被别人截获到,这就对我们的个人利益产生了威胁。

HTTP传输数据时,数据安全无法得到保证:

2. HTTPS

如今,大多数网站使用的都是HTTPS。

对于HTTP的机制,HTTPS也同样适用。它们的区别在于,HTTPS在HTTP的基础上,在数据安全方面做了进一步改进。也就是说,HTTPS是基于HTTP,且进一步保证了数据的安全

不加密的数据,放在网络中传输,就相当于"裸奔",黑客很容易就能获取到相关数据。数据安全问题受到了极大的威胁。 

因此,在进行网络通信时,更安全的做法是,将传输的数据进行加密,特别是一些重要的数据,将数据加密之后,就算有人利用一些手段获取到了我们传输的数据,但由于数据是经过加密的,别人也很难破解数据,这样就在一定程度上保证了数据安全HTTPS就做到了

因此,如今大多数网站使用的都是HTTPS,HTTPS将数据进行加密,加密的方式有:对称加密 非对称加密。 

2.1 对称加密

对称加密,就是 客户端生成一个密钥通过该密钥,可以对数据进行 加密解密。客户端向服务器发送数据时,就会通过该密钥将数据进行加密,并将密钥传给服务器。

服务器拿到数据和密钥后,就可以通过密钥对数据进行解密,从而拿到数据原文。不同的客户端,生成的密钥都不相同,因此服务器拿到不一样的密钥,就可以对 相应的数据 进行解密。

 

此时就存在一个问题,黑客也可以在数据传输的过程中,将密钥获取到,从而拿到数据原文,此时对 数据加密 也就形同虚设了。因此,密钥也应该被加密,这样即使黑客拿到密钥,但无法破解   加密的  密钥,就无法获取到原文数据了。对 密钥加密 就要需要 非对称加密 方式的帮助了。

2.2 非对称加密

非对称加密,则是服务器生成一对儿密钥,分别是 公钥m1私钥m2。可以通过公钥对数据进行加密,再通过私钥 对数据进行解密,反之也可。

双方在通信时,客户端会拿到 服务器持有的公钥m1,客户端也会以 对称加密 的方式生成一个密钥n。客户端会通过密钥n对数据加密,通过公钥m1对密钥n加密

加密完成后,客户端就将 密文 加密后的密钥 发送给服务器,服务器就可以通过 私钥m2对加密过的 密钥 进行解密拿到密钥原文。再通过 对称密钥n密文进行解密,从而拿到数据原文

因此,对称加密 非对称加密 相结合,https使得数据安全得到了进一步保证,黑客想拿到数据原文,只获取到 加密的密钥 和 加密的数据,是不够的,因为黑客难以破解加密的密钥。

对称加密 非对称加密 两种方式相结合,通信过程如下:

通过以上方式,以 非对称加密的方式 对 对称密钥 加密,再通过 对称加密 对数据加密,从而保证数据的安全传输。这是 对称加密 和 非对称加密 两种加密方式的结合支持数据安全。

没有仅仅使用 非对称加密方式 来实现安全传输的 原因就在于 使用非对称加密 方式 所造成的成本开销较大,使得传输效率较低。因此 两种加密方式 相结合,不仅保证了数据的安全传输,也尽可能的减少开销成本。


此时,又有一个新的漏洞,即使 HTTPS 以 非对称加密 和 对称加密 相结合来传输数据,黑客仍能找到漏洞,将 服务器发送过来的 公钥 进行"偷梁换柱",从而窃取到数据,漏洞如下:

于是,黑客 就在数据的传输过程中 悄无声息的 做了手脚,客户端没有发现问题,服务器也没有发现问题,但数据已经被黑客窃取了。

因此,仅仅使用 对称加密 和 非对称加密 并不能真正保证数据的安全传输。客户端无法辨别自己收到的 公钥 到底是不是 服务器发过来的,无法完全信任。于是,就引入了第三方公证机构,客户端和服务器 都信任这个第三方机构,第三方机构就能 帮助客户端 鉴别这个公钥是否是服务器的公钥。

2.3 第三方公证机构

每个服务器在搭建的时候,都会以 非对称加密方式 生成一对儿 密钥,并且向 公证机构 提交审核材料(域名,服务器公钥,厂商等相关信息)。 公证机构就会对 材料进行审核,资质审核没问题的话,就会给服务器颁发一个证书(一段结构化数据),服务器则会保存好证书。

证书中的内容就包括 网站的域名,服务器的公钥数字签名(颁发证书的时候,公证机构会根据证书的相关属性 计算出一个 校验和,并且公证机构也会 以 非对称加密 方式 生成一对儿 密钥,并且自己将私钥保留着,公钥则内置在 客户端的设备中。公证机构 通过 私钥 对 校验和加密,加密后的 校验和 就是 数字签名)等信息。

客户端向服务器发送信息之前,会先向服务器 索要证书。客户端收到服务器发送过来的证书,也就收到了 服务器的 公钥。收到证书后,客户端会有一个 "证书校验"的过程。这个过程就是为了 验证 证书中的公钥是不是服务器生成的公钥

证书校验:校验的核心在于 “数字签名”,客户端通过设备内置的公钥 数字签名解密,从而拿到 校验和。客户端再通过相同的方式 计算一遍校验和,如果自己计算的校验和 服务器发来的校验和 一致的话,则说明这个公钥就是 服务器的公钥。于是,客户端就可以放心的使用 服务器发来的公钥了。

有了以上过程,黑客就很难再窃取到数据了,即使黑客在客户端收到证书之前,先对证书进行篡改,比如 修改公钥(如果黑客替换了了服务器的公钥,那么客户端在进行校验和计算的时候,计算的校验和结果则会与证书中的校验和不一致)修改数字签名(既然无法替换公钥,干脆 黑客直接替换公钥,再替换 数字签名。但 数字签名 是被 公证机构的 私钥 加密过的,且公钥在客户端设备上,黑客无法拿到 校验和原数据),申请一个证书(服务器的证书内容无法更改的话,黑客能否直接申请一个证书,直接在服务器证书的传输过程中,直接替换掉证书,但是 申请证书有资质审核的环节,因此黑客无法申请到证书)


【总结HTTPS加密机制】

(1)通过 对称加密 非对称加密 相结合,对 数据 密钥 加密;

(2)再引入 第三方公证机构,防止 有人 "偷梁换柱",替换服务器的公钥

通过以上方式的相结合,HTTPS就可以在 极大程度上 保证了 数据的安全传输。因此,如今绝大多数的网站使用的都是HTTPS。

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

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

相关文章

vsCode 刷 leetcode 使用 Cookie 登录

1. 安装插件 打开 vsCode,选择扩展,搜索 leetcode,选择第一个,带有中文力扣字样,安装后重启 2. 切换终端 插件安装成功之后,侧边栏选择 leetcode 菜单,切换终端,选择中文版本&…

【数据结构】顺序表的实现——动态分配

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:数据结构 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

频繁项挖掘——【数据科学与工程算法基础】

一、频繁项定义 大多数问题大于总数一半算是,当然可以给定一个百分比,大于总数的百分之多少算。 二、Misra Gries 俄罗斯方块算法。 三、简单抽样算法 四、Basic Count Sketch 五、Count Skate 六、CM sketch

3.28号arm

can总线相关理论 1. 概念 控制器局域网(Controller Area Network,CAN),其特点是可拓展性好,可承受大量数据的高速通信,高度稳定可靠,因此常应用于汽车电子领域、工业自动化、医疗设备等高要求…

CSS3 Transform变形理解与应用

Transform:对元素进行变形; Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画。但只有两个关键贞。开始,结束。 Animation:对元素某个属…

vulhub中Apache solr XML 实体注入漏洞复现(CVE-2017-12629)

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。此次7.1.0之前版本总共爆出两个漏洞:XML…

[ruby on rails] ruby使用vscode做开发

ruby LSP实现 ruby插件推荐用这个来实现,但是现在这个在加载文件索引时候,特别慢,时好时坏,所以现在推荐用Solargraph实现 ruby LSP要求ruby版本3以上,如果在旧版本中使用,需要指定bundleGemfile路径 旧版…

蓝桥杯刷题day13——乘飞机【算法赛】

一、问题描述 等待登机的你看着眼前有老有小长长的队伍十分无聊,你突然想要知道,是否存在两个年龄相仿的乘客。每个乘客的年龄用一个 0 到 36500 的整数表示,两个乘客的年龄相差 365 以内就认为是相仿的。 具体来说,你有一个长度…

Java类和对象练习题

练习一 下面代码的运行结果是() public static void main(String[] args){String s;System.out.println("s"s);} 解析:本题中的代码不能编译通过,因为在Java当中局部变量必须先初始化,后使用。所以此处编译不…

模型优化系列1:分类器CenterLoss使用Pytorch实现MNIST、CIFAR10、CIFAR100分类图示

CentLoss实现 前言 参考文章:史上最全MNIST系列(三)——Centerloss在MNIST上的Pytorch实现(可视化) 源码:Gitee或Github都有上传,保留了最优版,对最优版调整了一些参数看效果 Gitee…

【MySQL】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

13.5k star, 免费开源 Markdown 编辑器

13.5k star, 免费开源 Markdown 编辑器 分类 开源分享 项目名: Editor.md -- Markdown 编辑器 Github 开源地址: https://github.com/pandao/editor.md 在线测试地址: Editor.md - 开源在线 Markdown 编辑器 完整实例: HTML Preview(mark…

网络安全 | 什么是威胁情报?

关注WX:CodingTechWork 威胁情报 威胁情报-介绍 威胁情报也称为“网络威胁情报”(CTI),是详细描述针对组织的网络安全威胁的数据。威胁情报可帮助安全团队更加积极主动地采取由数据驱动的有效措施,在网络攻击发生之前就将其消弭于无形。威…

Java基础入门--面向对象课后题(2)

文章目录 1 Employee2 SalariedEmployee3 HourlyEmployee4 SalesEmployee5 BasePlusSalesEmployee6 测试类 Example177 完整代码 某公司的雇员分为5类,每类员工都有相应的封装类,这5个类的信息如下所示。 (1) Employee:这是所有员工总的父类。…

用Typora+picgo+cloudflare+Telegraph-image的免费,无需服务器,无限空间的图床搭建(避坑指南)

用TyporapicgocloudflareTelegraph-image的免费,无需服务器,无限空间的图床搭建(避坑指南) 前提:有github何cloudflare (没有的话注册也很快) 首先,是一个别人写的详细的配置流程,傻瓜式教程&am…

华为配置防止ARP中间人攻击实验

配置防止ARP中间人攻击实验 组网图形 图1 配置防止ARP中间人攻击组网图 动态ARP检测简介配置注意事项组网需求配置思路操作步骤配置文件 动态ARP检测简介 ARP(Address Resolution Protocol)安全是针对ARP攻击的一种安全特性,它通过一系列…

网络原理 - HTTP / HTTPS(1)——http请求

目录 一、认识HTTP协议 理解 应用层协议 二、fiddler的安装以及介绍 1、fiddler的安装 2、fiddler的介绍 三、HTTP 报文格式 1、http的请求 2、http的响应 五、认识URL 六、关于URL encode 一、认识HTTP协议 HTTP 全称为:“超文本传输协议”,是…

如何将平板或手机作为电脑的外接显示器?

先上官网链接:ExtensoDesk 家里有一台华为平板,自从买回来以后除了看视频外,基本没什么作用,于是想着将其作为我电脑的第二个屏幕,提高我学习办公的效率,废物再次利用。最近了解到华为和小米生态有多屏协同…

iPhone设备中使用第三方工具查看应用程序崩溃日志的教程

​ 目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么? 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志,以便调查崩溃的原因。我们将展示三种不同的…

【MySQL】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…