应用层—HTTPS详解(对称加密、非对称加密、密钥……)

这篇具有很好参考价值的文章主要介绍了应用层—HTTPS详解(对称加密、非对称加密、密钥……)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

HTTPS

什么是 HTTPS

HTTPS 也是一个应用层的协议。是在 HTTP 协议的基础上引入的一个加密层。

由来:HTTP 协议内容都是按照文本的方式明纹传输,这就导致在传输过程中出现一些被篡改的情况,因此引入 HTTPS 加密层,用于保护数据。

典型案例就是运营商劫持。由于我们通过网络传输的任何数据包,都会经过运营商的网络设备(路由器、交换机等),那么运营商的网络设备就可以解析出你传输的数据内容,并进行篡改。比如说运营商在用户请求和响应的过程中,插入自己的广告或其他内容,改变原始网页的内容。

运营商为啥要这么做呢??
应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http

不止运营商可以劫持,其他的 黑客 也可以用类似的手段进行劫持,来窃取用户隐私信息,或者篡改内容。

HTTPS 就是在 HTTP 基础上进行了加密,进一步来保证用户的信息安全。



HTTPS 如何加密

想必大家都看过抗战时期的电视剧。在战争中,指挥部向前线传达命令或者情报时,通常会用利用无线电也就是我们所说的电报进行传达。应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http

我们为什么会用电报进行信息传达呢??其中最重要的一个原因是,电报具有很高的保密性.

在电报传输的时候,需要有一个密码本(称密钥)和一段要传输的文字(称明文),通信员会按照文字在密码本上的格式来进行传输,以此来形成一段密文。当接收方收到这段密文后,可以参照密码本来进行解析。如果是敌军截获这段电报,是很难解析出来其中的含义的。HTTPS 网络传输的过程,就相当于电报通信的过程。

根据电报的例子我们不难理解,明文+密钥 = 密文(加密) 、密文+密钥 = 明文(解密).

有的场景,加密和解密,使用的是相同的密钥,称为"对称加密"

还有的场景,加密和解密,使用的是不同的密钥,称为"非对称加密"

非对称加密中的不同密钥,还可以分为“公钥”和“私钥”。公钥可以用来加密,私钥就能用来解密。反过来同样如此。



HTTPS 的工作过程

对称加密

最简单的保证安全的做法,是引入对称密钥,针对传输的数据(HTTP 的 header 和 body)进行加密。

应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http


但事情没这么简单。每个客户端,都需要有一把自己的对称密钥(不同客户端的密钥也要不同)如果客户端生成了密钥,就需要把密钥传输给服务器。应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http


这时候,就还需要想办法,把密钥安全的传输到对端。**需要对这个密钥进行加密!!**此时如果还继续使用对称加密,针对刚才的密钥进行加密,就一定是不行的!!

需要使用非对称加密,针对对称密钥进行加密。



非对称加密

非对称加密要用到两个密钥,一个叫做 “公钥”, 一个叫做 “私钥”。

公钥和私钥是配对的。最大的缺点就是运算速度非常慢,比对称加密要慢很多,因此传输中通常使用对称加密。

  • 通过 公钥 对明文加密,变成密文。
  • 通过 私钥 对密文解密,变成明文。

反过来也可以用。


针对上面对称加密产生的问题,可以使用非对称加密来解决。

首先,服务器产生一对 公钥 和 私钥 ,私钥服务器自己留着用,公钥会发给服务器。接着客户端利用公钥生成密文发送给服务器(发送对称加密的密钥给服务器),服务器利用自己的私钥解开密文。在这过程中因为黑客没有掌握私钥,所以无法破解密文。应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http



上述的过程中,还存在一个严重的问题,中间人攻击。黑客可以使用中间人攻击的方式,仍然可以拿到对称密钥。

简单来说就是,黑客可以假装自己是服务器,收到服务器发来的 公钥(pub1) 后,自己再设置一对 公钥(pub2) 和 私钥(pri2),将自己的 公钥(pub2) 发给客户端,以此骗取客户端对称加密的密钥,从而在后续过程中截取信息。应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http



如何解决中间人攻击的问题呢??

解决中间人攻击的关键,需要让客户端能够确认当前收到的公钥,确实是服务器返回的,而不是黑客伪造的!!!

因此引入了证书机制,需要有一个第三方的认证机构。通过第三方机构作保,来确认当前的 公钥 是有效的。

应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http



到了这一步,黑客仍然还有办法!!!黑客可以把自己伪装成认证机构,骗客户端安装自己的公钥。此时就可以正大光明的替换掉证书中的数字签名。(这里如何进一步进行反针对,就不再讨论)

网络安全中,“攻击”和“防御”是一个对抗的过程。这个过程,理论上是"无限升级的过程"。由此我们可以看到,网络上没有绝对的安全。

上网需谨慎,消息套路深!!!
应用层—HTTPS详解(对称加密、非对称加密、密钥……),网络,https,网络协议,http文章来源地址https://www.toymoban.com/news/detail-814112.html

到了这里,关于应用层—HTTPS详解(对称加密、非对称加密、密钥……)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络篇05 | 应用层 http/https

    HTTP协议请求报文是以字符文本的格式传输,具体包含以下四大部分: 请求行(首行):[方法]+[url]+[版本号],分别使用空格分隔; 请求头(Header):请求的属性,每个键值对独占一行,冒号+空格来分割键和值; 空行:遇到空行表示Header部分结束; 正文(Body):空行后面的

    2024年04月15日
    浏览(43)
  • 【Linux网络】网络应用层的 http 和 https协议

    在之前学习序列化和反序列化的时候,认识到主机之间传输结构数据的时候,最好是通过某种约定将结构数据序列化成一串字符串,接收方再通过反序列化将字符串转换成结构数据。以上说的这种约定,其实可以看成是用户层通信的一种协议,是由程序猿自己定的。   实际

    2024年02月02日
    浏览(43)
  • 9.3.5网络原理(应用层HTTP/HTTPS)

    一.HTTP: 1. HTTP是超文本传输协议,除了传输字符串,还可以传输图片,字体,视频,音频. 2.  3.HTTP协议报文格式:a.首行,b.请求头(header),c.空行(相当于一个分隔符,分隔了header和body),d.正文(body). 4. 5.URL:唯一资源描述符(长度不限制).  a. b.注意:查询字符串(query string)是键值对的格式.键值对

    2024年02月07日
    浏览(34)
  • 【计算机网络】应用层协议 -- 安全的HTTPS协议

    HTTPS全称为 Hyper Text Tranfer Protocol over SecureSocket Layer 。 HTTPS协议也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层。 在传统的HTTP协议中,数据以明文的形式在网络上传输,这意味着敏感信息(如密码、个人信息等)可能会在传输过程中被攻击者截获和窃取。为了解

    2024年02月15日
    浏览(26)
  • 学习网络编程No.9【应用层协议之HTTPS】

    北京时间:2023/10/29/7:34,好久没有在周末早起了,该有的困意一点不少。伴随着学习内容的深入,知识点越来越多,并且对于爱好刨根问底的我来说,需要了解的知识就像一座大山,压得我踹不过气来。在这种情形之下,我非常害怕写博客,当然本质也就是在害怕为了搞懂一

    2024年02月05日
    浏览(46)
  • 「网络编程」应用层协议_ HTTPS协议学习及原理理解

    「前言」文章内容大致是应用层协议的HTTPS协议讲解,续上篇HTTP协议。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) HTTPS(HyperText Transfer Protocol Secure) 是一种通过加密和身份验证保护网络通信安全的协议。它是基于HTTP协议的安全版本,也是工作在应用

    2024年02月16日
    浏览(33)
  • 网络协议概述:物理层、连接层、网络层、传输层、应用层详解

    信号的传输总要符合一定的 协议(protocol) 。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“ 狼烟=敌人入侵 ”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse Code),使用短信号和长信号的组合,来

    2024年02月07日
    浏览(27)
  • 应用层协议——https

    HTTP 协议内容都是按照⽂本的⽅式明⽂传输的,这就导致在传输过程中出现⼀些被篡改的情况。HTTPS 也是⼀个应⽤层协议,是在 HTTP 协议的基础上引⼊了⼀个加密层。HTTPS的端口号是443。 它是在应用层和传输层间加了一个软件层,当进行网络传输时,从上而下就是在加密,从

    2024年02月12日
    浏览(31)
  • 【Java】应用层协议HTTP和HTTPS

    HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议. HTTP 往往是基于传输层的 TCP 协议实现的. (HTTP1.0, HTTP1.1, HTTP2.0 均为TCP, HTTP3 基于 UDP 实现) 当我们在浏览器中输入一个 搜狗搜索的 “网址” (URL) 时, 浏览器就给搜狗的服务器发送了一个 HTTP 请 求, 搜狗的服

    2024年02月07日
    浏览(28)
  • 【Linux】应用层协议:HTTP和HTTPS

    每个人都可以很喜欢每个人,但喜欢治不了病,喜欢买不了东西,喜欢不能当饭吃,喜欢很廉价… 1.1 URL的组成 1. 在之前的文章中我们实现了一个网络版本的计算器,在那个计算器中揉合了协议定制以及序列化反序列化的内容,我们当时也自己定制了一套协议标准,比如请求

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包