HTTP协议 和 HTTPS协议的区别(4点) HTTPS的缺点 HTTP如何使用SSL/TLS协议加密过程 CA证书干啥的

news2024/12/24 20:59:43

(一)HTTP协议 和 HTTPS协议的区别(4点):

1. HTTP协议的端口号是80, HTTPS协议的端口号是443

2. HTTP协议使用的URL是以 http:// 开头,HTTPS协议使用的URL是以https://开头

3. HTTP协议和HTTPS协议最主要的区别是:

HTTP协议所生成的HTTP请求报文被TCP协议 以明文形式透明传输,同时 客户端与服务器之间无法核验对方的身份(不晓得对方是真的baidu.com 还是一个假冒钓鱼网站)

HTTPS协议则是 在 TCP协议基础上,又增加了TLS协议,即, HTTPS 是运行在 SSL/TLS 之上的 HTTP 协议,SSL/TLS 运行在 TCP 之上。(具体来说就是:先通过TCP三次握手建立可靠的通信,而后通过TLS4次握手来交换证书、秘钥等,而后再继续通信传输数据)。HTTPS上所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥 通过 CA证书 进行了非对称加密传递给 客户端。

总结来说,HTTP 安全性没有 HTTPS 高,但是 HTTPS 比 HTTP 耗费更多服务器资源。HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
 

4. 最后一点就是:对于搜索引擎来说,更偏好HTTPS 协议下的网站,因为 HTTPS 能够提供更高的安全性和用户隐私保护。使用 HTTPS 协议的网站在搜索结果中可能会被优先显示,从而对 搜索引擎的展示结果排序产生影响。

(@)HTTPS的缺点:

虽然HTTPS有很多优势,也是应用最广泛、现行最安全的协议:

他同样有缺点:
1、HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
3、SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。


(二)什么是非对称加密,什么是对称加密?

1. 非对称加密:

需要公钥和私钥2个秘钥 :在通信时,私钥仅由解密者保存,公钥由任何一个想与解密者通信的发送者(加密者)所知

 2. 对称加密:

只需要一个秘钥,通信双方可以通过这个密钥加密发送数据,解密收到的数据

(三)SSL\TLS协议采用的加密通信方式是什么?

SSL\TLS协议采用的加密通信方式是:通信过程中采用对称加密,而对称加密的秘钥通过非对称加密来传输

这样,复杂的非对称加密传输只实现了一次,交换对称加密的密钥;在之后的信息通信中,使用绝对安全的密钥,对信息进行对称加密,即可保证传输消息的保密性

(四)为啥使用非对称加密来传输对称加密的秘钥 ?SSL\TL引入CA证书的通信流程是 什么?

1. 使用非对称加密来传输对称加密的秘钥 是为了避免如下场景:

客户端 C 和服务器 S 想要使用 SSL/TLS 通信,由上述 SSL/TLS 通信原理,C 需要先知道 S 的公钥,而 S 公钥的唯一获取途径,就是把 S 公钥在网络信道中传输。

但是网络信道通信中有几个前提:

  1. 任何人都可以捕获通信包
  2. 通信包的保密性由发送者设计
  3. 保密算法设计方案默认为公开,而(解密)密钥默认是安全的

因此,假设 S 公钥不做加密,在信道中传输,那么很有可能存在一个攻击者 A,发送给 C 一个诈包,假装是 S 公钥,其实是诱饵服务器 AS 的公钥。当 C 收获了 AS 的公钥(却以为是 S 的公钥),C 后续就会使用 AS 公钥对数据进行加密,并在公开信道传输,那么 A 将捕获这些加密包,用 AS 的私钥解密,就截获了 C 本要给 S 发送的内容,而 C 和 S 二人全然不知。

同样的,S 公钥即使做加密,也难以避免这种信任性问题

2、引入CA的作用是啥?引入CA后客户端和服务器的通信流程为:

因此,需要引入第三方平台 :证书颁发机构(CA,Certificate Authority)。

CA 默认是受信任的第三方。CA 会给各个服务器颁发证书,证书存储在服务器上,并附有 CA 的电子签名电子签名可以防止证书被伪造)。

那么,现在的通信流程变为:

当客户端(浏览器)向服务器发送 HTTPS 请求时,一定要先获取目标服务器的证书,并根据证书上的信息,检验证书的合法性。一旦客户端检测到证书非法,就会发生错误。

客户端获取了服务器的证书并验证合法后,由于 证书上包含着服务器的公钥信息,客户端就可以放心的信任证书上的公钥就是目标服务器的公钥。

客户端获得公钥,于是放宽心进行 数据的对称加密解密 通信

【总结下】CA就是在提供一个 非对称的加密传输对称秘钥  和  验证服务器安全 的功能:

CA用自己的秘钥对服务器证书加密,客户端用存在自己系统中的CA发布的公钥对收到的证书进行解密,匹配客户端自己系统中存放的签名和发来的证书上的签名是否一致,一致说明访问的服务器合法,同时也获得了  能 与该合法的服务器 通信的 对称公钥

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

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

相关文章

steam搬砖项目有哪些坑,新手零基础入门之前一定要知道的

首先,先说大家最最关心的问题,就是这个Steam搬砖项目的利润。这个项目呢这并不是一个暴利项目,每次交易通常需要经历7天的饰品冷却期以及2到4天的交易时间。其次,为什么我们要分享这个赚钱项目呢?首先,这个…

使用SSM框架实现个人博客管理平台以及实现Web自动化测试

文章目录 前言1. 项目概述2. 项目需求2.1功能需求2.2 其他需求2.3 系统功能模块图 3. 开发环境4. 项目结构5. 部分功能介绍5.1 数据库密码密文存储5.2 统一数据格式返回5.3 登录拦截器 6. 项目展示7. 项目测试7.1 测试用例7.2 执行部分自动化测试用例 前言 在几个月前实现了一…

汽配企业MES管理系统有哪些特点

汽配企业是汽车产业链上至关重要的一环,其生产过程涉及到众多的零部件和半成品,因此需要一套完善的管理系统来确保生产过程的顺利进行和产品的质量。MES管理系统解决方案是一种面向制造企业的管理系统,在汽配行业中得到了广泛的应用。本文将介…

【论文精读】基于历史抽取信息的摘要抽取方法

前言 论文分享 今天分享的是来自2018ACL的长文本抽取式摘要方法论文,作者来自哈尔滨工业大学和微软,引用数369 Neural Document Summarization by Jointly Learning to Score and Select Sentences 摘要抽取通常分为两个部分,句子打分和句子…

04 编写自己的破解补丁

本章摘要: 1、提高od当中汇编可读性 当我们遇到push offset Console.dasgasuigicashi这种阅读性不高的汇编代码的时候 在od当中,点击:选项》调试设置 逆向微软提供的内核dll也会出现阅读性不高的情况出现 跳转到这个地址 2、为什么写成全局…

【暑期每日一练】 day11

目录 选择题 (1) 解析: (2) 解析: (3) 解析: (4) 解析: (5) 解析: 编程题 题一 描…

使用curl和postman调用Azure OpenAI Restful API

使用curl在cmd中调用时,注意:json大括号内的每一个双引号前需要加上\ curl https://xxxopenai.openai.azure.com/openai/deployments/Your_deployid/chat/completions?api-version2023-05-15 -H "Content-Type: application/json" -H "…

C++ 对象的生存期详解

1.局部对象 &#xff08;1&#xff09;对于局部定义的对象&#xff0c;每当程序控制流到达该对象定义处时&#xff0c;定义构造函数。当程序走出该局部域时&#xff0c;调用析构函数。 这种普通的局部对象具有动态生存期。 #include<iostream> using namespace std;cl…

学习C#编写上位机的基础知识和入门步骤:

00001. 掌握C#编程语言基础和.NET框架的使用。 00002. 学习WinForm窗体应用程序开发技术&#xff0c;包括控件的使用和事件驱动编程。 00003. 熟悉基本的数据结构和算法知识&#xff0c;如链表、栈、队列等。 00004. 理解串口通信协议和通信方法&#xff0c;用于与底层硬件设…

增强for循环原理详解

增强for循环 本质是采用了迭代器&#xff0c;并使用局部变量指向迭代器当前遍历到的元素&#xff0c;使用增强for循环时&#xff0c;无法修改集合当前索引位置的引用&#xff0c;但是如果元素是引用数据类型&#xff0c;那么是可以修改这个元素的信息的&#xff08;String除外…

PSP - HHblits 算法搜索 BFD 与 UniRef30 的结果分析 (bfd_uniref_hits.a3m)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132047940 MMseqs2 与 HHblits 的算法比较&#xff1a; 蛋白质序列搜索算法 MMseqs2 与 HHblits 的搜索结果差异HHblits 算法搜索 BFD 与 UniRef…

Vulnhub: Wayne Manor:1靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.172 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.172 根据提示修改hosts文件 访问目标80&#xff0c;在主页发现三组数字&#xff0c;结合端口扫描的结果中21端口被过滤&am…

Java 线程的多种状态

前言 在前文中详细介绍了线程的启动、中断、休眠、等待。本文详细介绍线程的多种状态。 获取线程的当前状态代码是&#xff1a; 线程对象.getState(); 目录 前言 一、NEW 二、RUNNABLE 三、BLOCKED 四、WAITNG 五、TIMED_WAITNG 六、TERMINATED 结语 一、NEW Thread 对…

Your local changes to the following files would be overwritten by checkout

Git 之 Your local changes to the following files would be overwritten by checkout 今天在切换分支时遇到了这样一个问题&#xff1a; 首先翻译下&#xff1a; Your local changes to the following files would be overwritten by checkout 大致意思就是&#xff1a; 当…

中海油集团,建设与中国特色国际一流能源公司相匹配的供应管理体系

近日&#xff0c;由中国物流与采购联合会主办、北京筑龙承办的主题为“数智赋能创新发展”的“第四届国有企业数智化采购与智慧供应链论坛”在北京盛大举行。中国海油工程与物装部供应商管理处处长张彬出席论坛并发表讲话。 张彬处长出席在国有企业数字化采购与供应链论坛&…

电子邮件模板?如何做EDM邮件营销模板?

制作EDM电子邮件推广模板的方法&#xff1f;怎么写EDM电子邮件推销模板&#xff1f; 随着数字化时代的来临&#xff0c;EDM邮件营销模板已成为企业推广和客户沟通的重要工具。在本文中&#xff0c;我将分享一些关于如何制作高效的EDM邮件营销模板的技巧和建议&#xff0c;希望…

Kafka的安装和使用(Windows中)

1.安装Kafka 1.1下载安装包 通过百度网盘分享的文件&#xff1a;复制链接打开「百度网盘APP 即可获取」 链接&#xff1a;https://pan.baidu.com/s/1vC6Di3Pml6k1KMbnK0OE1Q?pwdhuan 提取码&#xff1a;huan 也可以访问官网&#xff0c;下载kafka2.4.0的安装文件 1.2解压…

Linux:shell脚本:基础使用(1)

Shell的作用 命令解释器&#xff0c;“翻译官”&#xff0c;介于系统内核与用户之间&#xff0c;负责解释命令行 用户的登录Shell 登录后默认使用的Shell程序&#xff0c;一般为 /bin/bash 不同Shell的内部指令、运行环境等会有所区别 cat /etc/shells 编写第一个Shell脚本 …

装饰器模式(Decorator)

装饰器模式是一种结构型设计模式&#xff0c;用来动态地给一个对象增加一些额外的职责。就增加对象功能来说&#xff0c;装饰器模式比生成子类实现更为灵活。装饰器模式的别名为包装器(Wrapper)&#xff0c;与适配器模式的别名相同&#xff0c;但它们适用于不同的场合。 Decor…

P1219 [USACO1.5] 八皇后 Checker Challenge

题目 思路 非常经典的dfs题&#xff0c;需要一点点的剪枝 剪枝①&#xff1a;行、列&#xff0c;对角线的标记 剪枝②&#xff1a;记录每个皇后位置 代码 #include<bits/stdc.h> using namespace std; const int maxn105; int a[maxn];int n,ans; bool vis1[maxn],vis…