iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >分析计算机网络HTTPS原理
  • 142
分享到

分析计算机网络HTTPS原理

2024-04-02 19:04:59 142人浏览 薄情痞子
摘要

本篇内容介绍了“分析计算机网络https原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、HTTP 的

本篇内容介绍了“分析计算机网络https原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、HTTP 的最大弊端——不安全

Http 之所以被 HTTPS 取代,最大的原因就是不安全,至于为什么不安全,看了下面这张图就一目了然了。

分析计算机网络HTTPS原理

图1. HTTP数据传输过程

由图可见,HTTP 在传输数据的过程中,所有的数据都是明文传输,自然没有安全性可言,特别是一些敏感数据,比如用户密码和信用卡信息等,一旦被第三方获取,后果不堪设想。这里可能有人会说,我在前端页面对敏感数据进行加密不就行了,比如 MD5 加盐加密。这么想就太简单了。首先 MD5 并不是加密算法,其全称是 Message Digest AlGorithm MD5,意为信息摘要算法,是一种不可逆的哈希算法,也就是说经过前端 MD5 处理过的数据在服务器端是无法复原的。这里以密码举例,前端把用户密码通过 MD5 进行处理,并把得到的哈希值发送给服务器,服务器由于无法复原密码,就会直接用这个哈希值处理用户请求。所以第三方在获取这个哈希值后,可以绕过前端登录页面直接访问服务器,造成安全问题。另外,MD5 算法本身的安全性也存在缺陷,这里就不展开谈了。

总之 MD5,SHA-1 之类的哈希算法并不能让 HTTP 变得更安全。要想让 HTTP 更安全,只能使用真正的加密算法,因为加密算法可以用密钥加密并还原数据,只要确保密钥不被第三方获取,那就能确保数据传输的安全了。而这正是 HTTPS 的解决方案,那下面就来了解一下加密算法吧。

2、加密算法

HTTPS 解决数据传输安全问题的方案就是使用加密算法,具体来说是混合加密算法,也就是对称加密和非对称加密的混合使用,这里有必要先了解一下这两种加密算法的区别和优缺点。

2.1 对称加密

对称加密,顾名思义就是加密和解密都是使用同一个密钥,常见的对称加密算法有 DES、3DES 和 AES 等,其优缺点如下:

  •  优点:算法公开、计算量小、加密速度快、加密效率高,适合加密比较大的数据。

  •  缺点:

    •   交易双方需要使用相同的密钥,也就无法避免密钥的传输,而密钥在传输过程中无法保证不被截获,因此对称加密的安全性得不到保证。

    •   每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一密钥,这会使得发收信双方所拥有的钥匙数量急剧增长,密钥管理成为双方的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。

本文不对具体的加密算法做详细介绍,有兴趣的同学可以参考 对称加密算法详解,如果直接将对称加密算法用在 HTTP 中,会是下面的效果:

分析计算机网络HTTPS原理

图2. 对称加密数据传输过程

从图中可以看出,被加密的数据在传输过程中是无规则的乱码,即便被第三方截获,在没有密钥的情况下也无法解密数据,也就保证了数据的安全。但是有一个致命的问题,那就是既然双方要使用相同的密钥,那就必然要在传输数据之前先由一方把密钥传给另一方,那么在此过程中密钥就很有可能被截获,这样一来加密的数据也会被轻松解密。那如何确保密钥在传输过程中的安全呢?这就要用到非对称加密了。

2.2 非对称加密

非对称加密,顾名思义,就是加密和解密需要使用两个不同的密钥:公钥(public key)和私钥(private key)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公钥对外公开;得到该公钥的乙方使用公钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的私钥对加密后的信息进行解密。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。常用的非对称加密算法是 RSA 算法,想详细了解的同学点这里:RSA 算法详解一、RSA 算法详解二,其优缺点如下:

  •  优点:算法公开,加密和解密使用不同的钥匙,私钥不用再网络中传输,安全性很高。

  •  缺点:计算量比较大,加密和解密速度相比对称加密慢很多。

由于非对称加密的强安全性,可以用它完美解决对称加密的密钥泄露问题,效果图如下:

分析计算机网络HTTPS原理

图3. 客户端通过非对称加密把密钥 KEY 发送给服务器

在上述过程中,客户端先是通过非对称加密把之后用于对称加密的密钥 KEY 返送给客户端,然后双方再使用 KEY 进行对称加密交互数据。在非对称加密的数据传输过程中,即便第三方获取了公钥和加密后的 KEY,在没有私钥的情况下也无法破解 KEY (私钥存在服务器,泄露风险极小),也就保证了接下来对称加密的数据安全。而上面这个流程图正是 HTTPS 的雏形,HTTPS 正好综合了这两种加密算法的优点,不仅保证了通信安全,还保证了数据传输效率。

3、HTTPS 原理详解

先看一下维基百科对 HTTPS 的定义

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, fORMerly, its predecessor, Secure Sockets Layer (SSL). The protocol is therefore also often referred to as HTTP over TLS, or HTTP over SSL.

HTTPS (Hypertext Transfer Protocol Secure) 是基于 HTTP 的扩展,用于计算机网络的安全通信,已经在互联网得到广泛应用。在 HTTPS 中,原有的 HTTP 协议会得到 TLS (安全传输层协议) 或其前辈 SSL (安全套接层) 的加密。因此 HTTPS 也常指 HTTP over TLS 或 HTTP over SSL。

可见HTTPS 并非独立的通信协议,而是对 HTTP 的扩展,保证了通信安全,二者关系如下:

分析计算机网络HTTPS原理

图4. HTTP和HTTPS的关系

也就是说 HTTPS = HTTP + SSL / TLS。

接下来就是最重要的 HTTPS 原理解析了,老规矩先上图。

分析计算机网络HTTPS原理

图5. HTTPS 加密、解密、验证及数据传输过程

看上去眼花缭乱,不要怕,且听我细细道来。HTTPS 的整个通信过程可以分为两大阶段:证书验证和数据传输阶段,数据传输阶段又可以分为非对称加密和对称加密两个阶段。具体流程按图中的序号讲解。

1.客户端请求 HTTPS 网址,然后连接到 server 的 443 端口 (HTTPS 默认端口,类似于 HTTP 的80端口)。

2.采用 HTTPS 协议的服务器必须要有一套数字 CA (Certification Authority)证书,证书是需要申请的,并由专门的数字证书认证机构(CA)通过非常严格的审核之后颁发的电子证书 ( (当然了是要钱的,安全级别越高价格越贵))。颁发证书的同时会产生一个私钥和公钥。私钥由服务端自己保存,不可泄漏。公钥则是附带在证书的信息中,可以公开的。证书本身也附带一个证书电子签名,这个签名用来验证证书的完整性和真实性,可以防止证书被篡改。

3.服务器响应客户端请求,将证书传递给客户端,证书包含公钥和大量其他信息,比如证书颁发机构信息,公司信息和证书有效期等。Chrome 浏览器点击地址栏的锁标志再点击证书就可以看到证书详细信息。

分析计算机网络HTTPS原理

图6. B站 CA 证书

4.客户端解析证书并对其进行验证。如果证书不是可信机构颁布,或者证书中的域名与实际域名不一致,或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。就像下面这样:

分析计算机网络HTTPS原理

图7. 浏览器安全警告

如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥A。然后客户端还会生成一个随机码 KEY,并使用公钥A将其加密。

5.客户端把加密后的随机码 KEY 发送给服务器,作为后面对称加密的密钥。

6.服务器在收到随机码 KEY 之后会使用私钥B将其解密。经过以上这些步骤,客户端和服务器终于建立了安全连接,完美解决了对称加密的密钥泄露问题,接下来就可以用对称加密愉快地进行通信了。

7.服务器使用密钥 (随机码 KEY)对数据进行对称加密并发送给客户端,客户端使用相同的密钥 (随机码 KEY)解密数据。

8.双方使用对称加密愉快地传输所有数据。

好了,以上就是 HTTPS 的原理详解了,如此精美的图搭配这么详细的过程解析,你再搞不懂就说不过去了吧哈哈。

“分析计算机网络HTTPS原理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 分析计算机网络HTTPS原理

本文链接: https://www.lsjlt.com/news/85233.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 分析计算机网络HTTPS原理
    本篇内容介绍了“分析计算机网络HTTPS原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、HTTP 的...
    99+
    2024-04-02
  • 计算机网络中代理ip的原理分析
    这篇文章主要介绍计算机网络中代理ip的原理分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!尽管IP代理的使用人群还不算特别普遍,但已经有很多领域如爬虫、营销推广等都采用了IP代理。那你知道代理ip的原理是什么吗?代...
    99+
    2023-06-15
  • 计算机网络中透明代理的原理分析
    这篇文章主要介绍计算机网络中透明代理的原理分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、原理透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的报文并会传送真实IP。使用代理可以看到真实IP。透...
    99+
    2023-06-15
  • 计算机网络之十三:HTTPS协议
    一:对称加密在对称加密算法中,加密和解密使用的密钥是相同的。二:非对称加密在非对称加密算法中,加密使用的密钥和解密使用的密钥是不相同的。一是作为公开的公钥,一是作为谁都不能给的私钥。三:数字证书1.数字证书简介数字证书是互联网通信中标志通信...
    99+
    2023-06-04
  • HTTPS原理分析
    这篇文章主要介绍“HTTPS原理分析”,在日常操作中,相信很多人在HTTPS原理分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTTPS原理分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!HTTPS...
    99+
    2023-06-17
  • 计算机网络基本原理是什么
    计算机网络基本原理是通过通信设备和传输媒介连接多台计算机,实现信息的传输和共享。其核心原理包括以下几个方面:1. 分组交换:数据在计...
    99+
    2023-08-24
    计算机
  • 计算机网络-计算机网络体系结构-物理层
    目录 一、通信基础 通信方式 传输方式 码元 传输率 *二 准则 2.1奈氏准则(奈奎斯特定理) 2.2香农定理 三、信号的编码和调制 *数字数据->数字信号 数字数据->模拟信号 模拟数据->数字信号 模拟数据->模拟信号 *四、数据交换...
    99+
    2023-10-07
    计算机网络 笔记
  • 图文分析详解计算机网络TCP与UDP两者区别及原理
    目录1、概念2、从是否面向连接来看2.1、UDP2.2、TCP3、从连接对象个数来看3.1、UDP3.2、TCP4、从对应用报文的处理来看4.1、UDP4.2、TCP发送方:接收方:...
    99+
    2024-04-02
  • 计算机网络通信的原理是什么
    本篇内容介绍了“计算机网络通信的原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成为"黑客"前,必须学习的&qu...
    99+
    2023-06-03
  • 网络协议分析-http/https/tcp/udp
    文章目录 TCP三次握手/TCP三次挥手TCP三次握手TCP四次挥手完整报文 实例代码HttpSampleClientHttpSampleServerHttpsSampleClientHttpsSampleServerTcpSa...
    99+
    2023-08-30
    网络协议 http https tcp upd
  • 网络作业11【计算机网络】
    网络作业11【计算机网络】 前言推荐网络作业11一. 单选题(共22题,88分)二. 填空题(共1题,10分)三. 多选题(共1题,2分) 最后 前言 2023-6-29 17:27:...
    99+
    2023-09-03
    网络 计算机网络 php
  • 计算机网络编程MQTT协议基础原理详解
    目录什么是 MQTT 协议MQTT 基础发布 - 订阅模式可拓展性消息过滤基于主题的过滤基于内容的过滤基于类型的过滤MQTT 与消息队列的区别MQTT 重要概念MQTT client...
    99+
    2024-04-02
  • 计算机网络概述
    目录 一、计算机网络的作用及互联网概述 1.1计算机网络在信息时代中的作用 1.2基本概念 1.3互联网基础架构发展三个阶段 1.4互联网的标准化工作 二、互联网的组成 2.1互联网组成 2.2互联网的边缘部分 2.3互联网的核心部分 三...
    99+
    2023-10-24
    计算机网络 网络
  • 计算机网络速成
    更好的阅读体验 \color{red}{\huge{更好的阅读体验}} 更好的阅读体验 因特网...
    99+
    2023-09-09
    计算机网络 网络
  • 计算机网络实验
    一、验证性实验 1. ipconfig 自己计算机网络配置 ipconfig /all ​ 物理地址. . . . . . . . . . . . . : 00-E0-4C-68-04-91 IPv4 地址 . . ...
    99+
    2023-10-20
    网络 网络协议 服务器 Powered by 金山文档
  • python网络-计算机网络基础(23)
    一、网络简介 网络是由节点和连线构成,表示诸多对象及其相互联系。 一个人玩:   两个人玩:   多个人玩: 说明 网络就是一种辅助双方或者多方能够连接在一起的工具 如果没有网络可想单机的世界是多么的孤单 使用网络的目的 就是...
    99+
    2023-01-31
    计算机网络 基础 网络
  • 计算机网络之一:网络架构
    一:七层架构OSI是Open System Interconnect即开放系统互连模型。二:五层架构三:四层架构TCP/IP四层模型四层协议和对应的标准七层协议的关系如下图:四:数据包五:程序是如何工作的...
    99+
    2023-06-03
  • 【计算机网络】——前言计算机网络发展的历程概述
     ========================================================================= 主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:...
    99+
    2023-10-18
    计算机网络
  • 计算机网络与技术——物理层
    😊计算机网络与技术——物理层 👻物理层的基本概念👻数据通信基础知识🚢数据通信系统的模型🚢信道的基本概念...
    99+
    2023-10-12
    计算机网络 网络 网络协议
  • 【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(上)
    前言        今天,小编我也要进入计算机网络的整个内容,虽然这个计算机网络的内容在考研部分中占比比较小,有些人不把这一部分当成重点,这种想法是错误的。我觉得考研的这四个内容都是非常重要的,我们需要进行全力以赴的对待每一个内容,以提...
    99+
    2023-09-07
    计算机网络
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作