我的编程空间,编程开发者的网络收藏夹
学习永远不晚

为什么说HTTPS比HTTP安全

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

为什么说HTTPS比HTTP安全

本篇内容介绍了“为什么说HTTPS比HTTP安全”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

HTTP 协议

HTTP(Hyper Text Transfer  Protocol)协议是超文本传输协议的缩写,它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议,位于 OSI 网络模型中的应用层

为什么说HTTPS比HTTP安全

HTTP 是一个基于TCP/IP通信协议来传递数据的协议,传输的数据类型为 HTML 文件、图片文件、查询结果等。

HTTP协议一般用于 B/S 架构。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端即 WEB 服务器发送所有请求。

为什么说HTTPS比HTTP安全

HTTP 特点

  • HTTP 协议支持客户端/服务端模式,也是一种请求/响应模式的协议

  • 简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST

  • 灵活: HTTP允许传输任意类型的数据对象。传输的类型由Content-Type加以标记。

  • 无连接:  限制每次连接只处理一个请求。服务器处理完请求,并收到客户的应答后,即断开连接,但是却不利于客户端与服务器保持会话连接,为了弥补这种不足,产生了两项记录http状态的技术,一个叫做Cookie,一个叫做Session。

  • 无状态: 无状态是指协议对于事务处理没有记忆,后续处理需要前面的信息,则必须重传。

HTTP 中间人攻击

HTTP 协议使用起来确实非常的方便,但是它存在一个致命的缺点:不安全。

我们知道 HTTP 协议中的报文都是以明文的方式进行传输,不做任何加密,这样会导致中间人攻击

例如:小明 JAVA 贴吧发帖,内容为 我爱JAVA:

为什么说HTTPS比HTTP安全

被中间人进行攻击,内容修改为 我爱PHP

为什么说HTTPS比HTTP安全

服务器接收到的就是错误的信息:我爱PHP

除此之外,请求信息也容易被窃听截取、冒充

如何防止中间人攻击

既然 HTTP 是明文传输,那我们家加密不就好了

对称加密

对称加密 很好理解,即加密和解密使用的同一个密钥,是 对称 的。只要保证了密钥的安全,那整个通信过程就可以说具有了机密性。

举个例子,你想要登录某网站,只要事先和它约定好使用一个对称密钥,通信过程中传输的全是用密钥加密后的密文,只有你和网站才能解密。黑客即使能够窃听,看到的也只是乱码,因为没有密钥无法解出明文,所以就实现了机密性。

为什么说HTTPS比HTTP安全

缺点:  这种加密方式固然很好,但是问题就在于如何让双方知道秘钥,术语叫“密钥交换”。因为传输数据都是走的网络,如果将秘钥通过网络的方式传递的话,一旦秘钥被截获就没有加密的意义的。

非对称加密

也叫公钥加密算法,它有两个密钥,一个叫 公钥(public key),一个叫 私钥(private  key)。两个密钥是不同的,不对称,公钥可以公开给任何人使用,而私钥必须严格保密。

公钥和私钥有个特别的 单向 性,虽然都可以用来加密解密,但公钥加密后只能用私钥解密,反过来,私钥加密后也只能用公钥解密。

非对称加密可以解决 密钥交换  的问题。网站秘密保管私钥,在网上任意分发公钥,你想要登录网站只要用公钥加密就行了,密文只能由私钥持有者才能解密。而黑客因为没有私钥,所以就无法破解密文。

为什么说HTTPS比HTTP安全

这种加密方式就可以完美解决对称加密存在的问题。假设现在两端需要使用对称加密,那么在这之前,可以先使用非对称加密交换秘钥。

简单流程如下:首先服务端将公钥公布出去,那么客户端也就知道公钥了。接下来客户端创建一个秘钥,然后通过公钥加密并发送给服务端,服务端接收到密文以后通过私钥解密出正确的秘钥,这时候两端就都知道秘钥是什么了。

那么这样做就是绝对安全了吗?

中间人为了对应这种加密方法又想出了一个新的破解方案,既然拿不到 私钥 ,我就把自己模拟成一个客户端和服务器端的结合体,

  • 在 用户->中间人 的过程中,中间人模拟服务器的行为 ,这样可以拿到用户请求的明文

  • 在 中间人->服务器 的过程中中间人模拟客户端行为,这样可以拿到服务器响应的明文

这一次通信再次被中间人截获,中间人自己也伪造了一对公私钥,并将公钥发送给用户以此来窃取客户端生成的 私钥 ,在拿到 私钥  之后就能轻松的进行解密了。

还是没有彻底解决中间人攻击问题,怎么办喃?接下来我们看看 HTTPS 是怎么解决通讯安全问题的。

HTTPS

为什么说HTTPS比HTTP安全

HTTPS并非是应用层的一种新协议,其实是 HTTP+SSL/TLS 的简称

HTTP 和 HTTPS 的区别:

  • HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的TLS(SSL)加密传输协议

  • HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443

  • HTTP 的连接很简单,是无状态的;HTTPS协议是由 HTTP+SSL/TLS 协议构建的可进行加密传输、身份认证的网络协议,比 HTTPS  协议安全。

SSL/TSL

SSL 即安全套接层(Secure Sockets Layer),在 OSI 模型中处于第 5 层(会话层),SSL 发展到 v3 时改名为  TLS(传输层安全,Transport Layer Security),正式标准化,版本号从 1.0 重新算起,所以 TLS1.0 实际上就是 SSL  v3.1。

到今天 TLS 已经发展出了三个版本,分别是 2006 年的 1.1、2008 年的 1.2 和去年(2018)的 1.3。1.2 版本用的最广泛

HTTPS 通过了 HTTP 来传输信息,但是信息通过 TLS 协议进行了加密

TLS 协议位于传输层之上,应用层之下。首次进行 TLS 协议传输需要两个 RTT ,接下来可以通过 Session Resumption 减少到一个  RTT

在 TLS 中使用了两种加密技术,分别为:对称加密和非对称加密,内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段:

为什么说HTTPS比HTTP安全

服务器是通过 SSL 证书来传递 公钥,客户端会对 SSL 证书进行验证,其中证书认证体系就是确保 SSL 安全的关键,接下来我们就来讲解下 CA  认证体系 ,看看它是如何防止中间人攻击的?

CA 认证体系

权威认证机构

在 CA 认证体系中,所有的证书都是由权威机构来颁发,而权威机构的 CA 证书都是已经在操作系统中内置的,我们把这些证书称之为CA根证书

签发证书

我们将服务器生成的公钥和站点相关信息发送给 CA签发机构 ,再由CA签发机构通过服务器发送的相关信息用 CA签发机构  进行加签,由此得到我们应用服务器的证书,证书会对应的生成证书内容的 签名 ,并将该 签名 使用 CA签发机构 的私钥进行加密得到 证书指纹  ,并且与上级证书生成关系链。

这里我们把百度的证书下载下来看看:

为什么说HTTPS比HTTP安全

可以看到百度是受信于 GlobalSign G2,同样的 GlobalSign G2 是受信于GlobalSign R1  ,当客户端(浏览器)做证书校验时,会一级一级的向上做检查,直到最后的 根证书 ,如果没有问题说明服务器证书是可以被信任的。

如何验证服务器证书

那么客户端(浏览器)又是如何对 服务器证书 做校验的呢,首先会通过层级关系找到上级证书,通过上级证书里的 公钥 来对服务器的 证书指纹  进行解密得到签名(sign1) ,再通过签名算法算出服务器证书的 签名(sign2) ,通过对比 sign1 和 sign2  ,如果相等就说明证书是没有被篡改也不是伪造的。

为什么说HTTPS比HTTP安全

这样通过证书的认证体系,我们就可以避免了中间人攻击从而发起拦截和修改 HTTP 通讯的报文。

使用 HTTPS 会被抓包吗?

HTTPS 的数据是加密的,常规下抓包工具代理请求后抓到的包内容是加密状态,无法直接查看。

但是,正如前文所说,浏览器只会提示安全风险,如果用户授权仍然可以继续访问网站,完成请求。因此,只要客户端是我们自己的终端,我们授权的情况下,便可以组建中间人网络,而抓包工具便是作为中间人的代理。通常  HTTPS  抓包工具的使用方法是会生成一个证书,用户需要手动把证书安装到客户端中,然后终端发起的所有请求通过该证书完成与抓包工具的交互,然后抓包工具再转发请求到服务器,最后把服务器返回的结果在控制台输出后再返回给终端,从而完成整个请求的闭环。

既然 HTTPS 不能防抓包,那 HTTPS 有什么意义?HTTPS  可以防止用户在不知情的情况下通信链路被监听,对于主动授信的抓包操作是不提供防护的,因为这个场景用户是已经对风险知情。要防止被抓包,需要采用应用级的安全防护,例如采用私有的对称加密,同时做好移动端的防反编译加固,防止本地算法被破解。

总结

我们由 HTTP 中间人攻击的来了解到 HTTP 为什么是不安全的,然后再从安全攻防谈到 HTTPS 的原理概括,最后谈一下 HTTPS  抓包问题,希望能让大家对 HTTPS 有个更深刻的了解。

“为什么说HTTPS比HTTP安全”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

为什么说HTTPS比HTTP安全

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

为什么说HTTPS比HTTP安全

本篇内容介绍了“为什么说HTTPS比HTTP安全”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!HTTP 协议HTTP(Hyper Text
2023-06-17

为什么HTTPS是安全的

这篇文章主要介绍“为什么HTTPS是安全的”,在日常操作中,相信很多人在为什么HTTPS是安全的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么HTTPS是安全的”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-15

什么是https?http升级为https需要什么?

  一、什么是https?    https是一种加密传输协议,网站使用https后可以避免敏感信息被第三方获取。https加密协议=SSL / TLS+http协议,也就是说,在传统的http协议上加上SSL成就可以实现数据传输加密。  
2023-06-04

为什么说HashMap线程不安全

本文主要介绍了为什么说HashMap线程不安全,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-18

网站https安全证书为什么会过期

网站的https安全证书会过期是因为证书有一个固定的有效期限,通常为一年或两年。一旦证书到期,网站就会失去https加密保护,用户在访问网站时可能会受到安全威胁。为了保证网站的安全,网站管理员需要定期更新证书,以延长证书的有效期限。如果网站
网站https安全证书为什么会过期
2024-05-08

Web安全的HTTP协议有什么作用

这篇文章主要讲解了“Web安全的HTTP协议有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Web安全的HTTP协议有什么作用”吧!超文本传输协议(HTTP,Hyper Text T
2023-06-17

linux比windows安全的原因是什么

这篇文章主要介绍“linux比windows安全的原因是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux比windows安全的原因是什么”文章能帮助大家解决问题。六大原因:1、Win自动
2023-06-30

http免费代理ip有什么安全隐患

本篇内容介绍了“http免费代理ip有什么安全隐患”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!伴随着因特网的发展,网站的各种限制越来越多,
2023-06-20

http代理ip的安全性指的是什么

这篇文章主要介绍http代理ip的安全性指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HTTP代理是介于浏览器和web服务器之间的一个服务器,当连接上代理之后,浏览器不再直接从web服务器获取网页,而是将r
2023-06-15

为什么说香港空间用来建站是比较好的选择

为什么说香港空间用来建站是比较好的选择?如今,互联网已经成为了人们生活的重要组成部分,而网站的建设和运营成为了许多企业和个人的关注焦点。在选择建站空间时,香港空间成为了一个备受瞩目的选项。那么,为什么说香港空间用来建站是比较好的选择呢?
为什么说香港空间用来建站是比较好的选择
2024-01-23

为什么Podman运行容器更安全?

Podman 使用传统的 fork/exec 模型(相对于客户端/服务器模型)来运行容器。在进入本文的主要主题 Podman 和容器之前,我需要了解一点 Linux 审计功能的技术。什么是审计?
2023-06-04

Java中为什么HashMap线程不安全

本篇内容主要讲解“Java中为什么HashMap线程不安全”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中为什么HashMap线程不安全”吧!01、多线程下扩容会死循环众所周知,Hash
2023-06-25

为什么win11不能关闭安全防护

Windows 11的安全防护功能是为了保护用户的计算机免受恶意软件和网络攻击的影响。关闭安全防护功能可能会导致计算机的安全性受到威胁,并增加感染恶意软件的风险。因此,微软设计了Windows 11的安全防护功能,使其默认处于启用状态,并且
2023-08-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录