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

(一)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.rhkb.cn/news/76897.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP8的运算符-PHP8知识详解

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。 PHP8的运算符有很多,按类型分有一元运算符、二元运算符、三元运算符。 一元运算符只对一…

ruby调试

如果下载 ruby-debug-ide gem install ruby-debug-ide vscode 下载 ruby扩展 1, ruby 2,修改launch.json

FBX SDK开发快速上手指南

一段时间以来,我一直想制作一个 FBX Exporter 将 FBX 文件转换为我自己的格式。 整个过程不是很顺利,主要是FBX的官方文档不是很清楚。 另外,由于 FBX 格式被许多应用程序使用,而不仅仅是游戏引擎,因此提供的示例代码没…

什么是注意力机制?注意力机制的计算规则

我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的),是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而作出判断,而并非是从头到尾的观察一遍事物后,才能有判断结果,正是基于这样的理论&a…

广州银行信用卡中心:强化数字引擎安全,实现业务稳步增长

广州银行信用卡中心是全国城商行中仅有的两家信用卡专营机构之一,拥有从金融产品研发至销售及后期风险控制、客户服务完整业务链条,曾获“2016年度最佳创新信用卡银行”。 数字引擎驱动业务增长 安全左移降低开发风险 近年来,广州银行信用卡…

java中使用Jsoup和Itext实现将html转换为PDF

1.在build.gradle中安装所需依赖: implementation group: com.itextpdf, name: itextpdf, version: 5.5.13 implementation group: com.itextpdf.tool, name: xmlworker, version: 5.5.13 implementation group: org.jsoup, name: jsoup, version: 1.15.32.创建工具…

贝业新兄弟:企业级应用在供应链物流领域的实践

一、老板的需求 先简单介绍一下我们公司,公司全称是贝业新兄弟,是一家供应链物流企业。现在我们服务的客户中有很多世界 500 强,比如科勒、惠氏、宜家等。我们公司的信息化分为两部分,一部分是核心业务系统OTWB,它是专…

智能卡通用安全检测指南 思度文库

范围 本标准规定了智能卡类产品进行安全性检测的一般性过程和方法。 本标准适用于智能卡安全性检测评估和认证。 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,…

互联网宠物医院系统开发:数字化时代下宠物医疗的革新之路

随着人们对宠物关爱意识的提高,宠物医疗服务的需求也日益增加。传统的宠物医院存在排队等待、预约难、信息不透明等问题,给宠物主人带来了诸多不便。而互联网宠物医院系统的开发,则可以带来许多便利和好处。下面将介绍互联网宠物医院系统开发…

docker常用命令

docker常用命令 1.镜像与容器的关系2. 基本命令3. 容器操作4. 镜像操作5. 文件传输6. docker 登录与退出 1.镜像与容器的关系 镜像: 相当于一个类不可修改内容 容器: 对镜像类的实例,可以在环境中更新库容器可以保存为一个新的镜像再根据保存…

java+springboot+mysql法律咨询网

项目介绍: 使用javassmmysql开发的法律咨询网,系统包含超级管理员,系统管理员、用户角色,功能如下: 用户:主要是前台功能使用,包括注册、登录;查看法律领域;法律法规&a…

基于SpringBoot+Vue的在线考试系统设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

推荐一款老化测试软件 Monitor.Analog

1. 数据采集模块: 该模块负责与下位机设备通信,实时采集模拟量数据。支持多种通信协议,如Modbus、OPC等,以适应不同类型的设备。数据采集模块还需要具备异常数据处理功能,例如数据丢失、错误数据等。 2. 数据存储模块…

HttpServletRequest和HttpServletResponse的获取与使用

相关笔记:【JavaWeb之Servlet】 文章目录 1、Servlet复习2、HttpServletRequest的使用3、HttpServletResponse的使用4、获取HttpServletRequest和HttpServletResponse 1、Servlet复习 Servlet是JavaWeb的三大组件之一: ServletFilter 过滤器Listener 监…

【maven】构建项目前clean和不clean的区别

其实很简单,但是百度搜了一下,还是没人能简单说明白。 搬用之前做C项目时总结结论: 所以自己在IDE里一遍遍测试程序能否跑通的时候,不需要clean,因为反正还要改嘛。 但是这个项目测试好了,你要打成jar包给…

Python系统学习1-3-变量,运算符

1、变量 变量:关联一个对象的标识符 学习目标:学会画变量的内存图 命名规则:字母数字下划线,所有单词小写,单词之间下划线隔开 赋值:创建一个变量或改变一个变量关联的数据。 语法:变量名数据&#xf…

carla中lka实现(一)

前言: 对于之前项目中工作内容进行总结,使用Carla中的车辆进行lka算法调试,整体技术路线: ①在Carla中生成车辆,并在车辆上搭载camera,通过camera采集图像数据; ②使用图像处理lka算法&#…

探索Streamlit中强大而灵活的 st.write() 函数(五):构建丰富多样的应用界面

文章目录 1 前言2 显示HTML的内容3 显示Markdown内容4 显示代码块5 显示DataFrame的交互式表格6 显示音频和视频7 显示图表8 显示图片9 显示地图10 显示PDF文件11 显示文件下载链接12 结语 1 前言 在这篇博文中,我们将着重介绍Streamlit中一个核心而重要的函数&…

Docker 容器化学习

文章目录 前言Docker架构 1、 docker安装2、启动docker服务3、设置docker随机器一起启动4、docker体验5、docker常规命令5.1、容器操作docker [run|start|stop|restart|kill|rm|pause|unpause]docker [ps|inspect|exec|logs|export|import] 5.2、镜像操作docker images|rmi|tag…

数据结构--图的遍历 DFS

数据结构–图的遍历 DFS 树的深度优先遍历 //树的先根遍历 void PreOrder(TreeNode *R) {if(R ! NULL){visit(R); //访问根节点while(R还有下一个子树T)PreOrder(T);//先根遍历下一棵子树} }图的深度优先遍历 bool visited [MAX_VERTEX_NUM]; //访问标记数组 void DFS(Grap…