HTTPS靠什么保障通信安全?

大多数人都听说过HTTPS,也清楚它的作用是保障通信安全,但如果没仔细研究过,大概率说不清它到底是怎么做到的。

这篇文章围绕三个核心问题展开:

1、HTTPS到底是什么?

2、它跟HTTP有哪些不同?

3、HTTPS靠什么保障通信安全,又解决了哪些隐患?

1. HTTPS到底是什么?

HTTPS本质上是一条以安全为目标的HTTP通道,在原有HTTP协议之上,叠加了传输加密和身份验证机制,从而确保整个传输环节的安全性。

从这个定义里,我们能提炼出两个关键词:传输加密、身份验证。接下来先认识一下HTTPS中会用到的加密手段和认证手段。

1)对称加密

加密数据离不开密钥对(包含加密密钥和解密密钥)。对称加密比较好懂,也就是:通信的两边各自拿着的加密密钥和解密密钥是同一把。

2)非对称加密

非对称加密顾名思义,就是:通信双方各自持有的加密密钥和解密密钥并不相同。自己私下保留的那把叫私钥,对外公开允许别人获取的那把叫公钥。实际应用中,一般是用公钥来加密通信内容,再用私钥解密,以此保障数据安全。

3)数字签名

用来确保数据在传输中没有被篡改,同时验证发送方的真实身份。数字签名其实是非对称加密和数字摘要两项技术的结合运用。通常先用hash算法对原始数据做一次数字摘要(生成一段独一无二的数据标识,这个过程不可逆),接着用私钥对这段摘要进行加密;接收方拿到数据后,用发送方提供的公钥解密,如果能成功解密,就说明数据确实来自发送方(解不开的话,说明对方是假冒的),然后再用同样的hash算法对解密出来的数据重新做一次摘要,跟之前那次对比,如果一致就代表数据没有被动过手脚,从而保障了数据的完整性。

4)数字证书

数字证书也叫数字标识,由用户主动申请,由证书颁发机构CA审核后签发,作用是对用户的公钥做背书。前面讲的几种技术,前提都是发送方本身是真实可靠的,但如果发送方本身就是冒充的,那后面所有的加密验证都白搭。而证书颁发机构通常都是权威组织,经由它签发的证书,就能确保发送方提供的公钥是值得信赖的。

上面这些理论单独看可能有些抽象,别急,跟着后面的推演过程走,会慢慢通透起来。

2. 和HTTP的区别

HTTPS跟HTTP的差异,这里不展开细讲,直接看一张图感受一下:

HTTPS靠什么保障通信安全?

从图中能很直观地看出,HTTPS就是在HTTP下面多加了一层SSL安全协议,简单理解就是HTTPS=HTTP+SSL,这层SSL协议负责保障通信全程的安全性。

具体体现在三个方面:

1)信息加密安全

2)信息完整性

3)身份认证

3. 到底怎么保障通信安全的

先回顾一下HTTP的一次完整数据通信流程。TCP建立连接和断开连接的部分就不展开了。

这里暴露出的安全隐患:

HTTPS靠什么保障通信安全?

1)图一中的步骤①和②都可能被黑客截获,用户信息直接泄露,非常危险。

HTTPS为了应对这个问题,让通信双方协商一种加解密方式,也就是对称加密,只有通信双方知道密钥,以此保障传输数据的安全;但紧接着又冒出一个新问题:双方怎么把这个密钥安全地交换给对方呢?

于是又引入非对称加密来完成密钥交换——服务端把自己的公钥发给客户端,客户端用这把公钥把密钥加密后传回服务端,服务端再用私钥解密拿到密钥,之后双方就用这把对称密钥进行后续通信。

HTTPS靠什么保障通信安全?

2)图二中的步骤②,假如被黑客拦截了会怎样?

黑客完全可以冒充服务器,把自己的公钥发给客户端,也就是说”服务器”从头到尾就是假的。这样一来,图二步骤③里客户端用公钥加密的那把密钥,黑客轻轻松松就能拿到,后续的通信全程被监听,信息彻底暴露。

HTTPS为此引入了”数字证书”。因为数字证书是权威机构颁发的,申请时要提交大量材料接受审核,正常情况下冒充者几乎不可能拿到证书,也就确保了服务端交出来的公钥是安全可信的。

HTTPS靠什么保障通信安全?

3)图三中步骤②发出的证书,要是被黑客中途截获并篡改了怎么办?

就算黑客拿到证书本身也用不了,但如果他故意把证书里的信息改了,客户端收到后根本察觉不到,照样存在安全风险。

所以,CA机构在生成证书的时候就加上了”数字签名”,用来保障证书的完整性。

原理是这样的:CA机构先用Hash算法对证书明文内容生成一段”信息摘要”,再用自己的私钥对这段摘要加密,生成数字签名,连同摘要一起放进数字证书里;客户端收到服务器发来的证书后,先用证书里指定的Hash算法对证书内容做一遍摘要得到”信息摘要”,再用CA机构的公钥去解密证书中的签名部分,如果解密出来的摘要和自己算出来的一致,就说明证书没被动过。(CA机构一般都是权威组织,所以它的公钥通常已经内置在客户端操作系统里了)

4)还有一种情况,客户端跟服务端通信的时候,黑客虽然没有”会话密钥”看不到真实内容,但他可以”篡改数据”,比如删掉一段信息,通信双方收到后并不知道数据已经被动过了。

HTTPS为了保障数据完整性,同样采用了”数字签名”机制,用的是HMAC算法来做签名,确保通信全程中信息没有被篡改。

到这里,HTTPS已经帮我们实现了通信双方之间的安全传输。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2902.html

Like (1)
Previous 2026年6月10日
Next 2026年6月11日

相关推荐

  • 什么是僵尸网络?

    僵尸网络,作为一类极具破坏性的网络攻击手段,是指攻击者借助多台联网设备,在每台设备上植入并运行特定的机器人程序,进而操控这些被感染的设备,对服务器、公司网站、其他设备或个人发起攻击…

    2026年4月28日
    0
  • DNS服务器是做什么的?

    接触过网页开发、自主搭建过网站的人群,基本都对DNS服务器十分熟悉,可从未涉足相关领域的普通人,大多对它没有清晰认知。接下来本文就通俗易懂地科普DNS服务器的基础知识,同时介绍市面…

    2026年6月24日
    0
  • Linux服务器卡顿了如何排查?

    今天分享一下Linux服务器卡顿了如何排查,这是运维新手的必修课,建议认真读完,建立整个排查思路非常重要。 生产环境验证过的 Linux 卡顿六步定位法:系统负载–》C…

    2026年5月7日
    0
  • 如何在 Arch Linux 系统上保障 SSH 服务器的安全性

    OpenSSH 是一种安全的远程登录协议,能够在不安全的网络上建立安全通道。它使系统管理员能够通过安全通道远程管理 Linux 服务器。它采用客户端-服务器架构,并允许用户远程连接…

    2026年4月3日
    0
  • 服务器常见攻击手段解析及攻击日志查看方法

    网络攻击始终是困扰众多网站运营者的一大难题,时至今日,仍有相当数量的网站处于网络攻击的潜在威胁之下。关于网络攻击可能带来的后果,相信大家心中都已有所了解。那么,攻击者常用的攻击服务…

    2026年7月29日
    0
  • Linux常用到的归档与压缩命令盘点

    在日常运维工作中,不可避免会打包压缩和解压文件,Linux上有多个类似功能的命令,如 tar、gzip、bzip2、xz、zip,今天就跟大家一起区分一下并学会如何高效实用它们。 …

    2026年5月7日
    0
  • 拒绝服务攻击 DoS 与 DDoS 解析

    在网络安全领域,DoS 和 DDoS 是两类高频且危害显著的攻击方式,二者核心目的都是让目标网络或服务器无法正常提供服务,但攻击模式、破坏力和应对难度截然不同。 DoS,即拒绝服务…

    2026年5月18日
    0
  • 如何在Ubuntu 18.04操作系统上安装Apache Tomcat?

    Apache Tomcat是一个基于Java技术的web服务器,用于管理web应用程序。在本教程中,您将学习在Linux Ubuntu 18.04上安装Tomcat的所有必要说明。…

    2026年5月12日
    0
  • 如何更新服务器CentOS版本?

    老版本系统一旦被官方”抛弃”,就再也收不到安全补丁了,如果继续使用这类过期系统,不法分子很容易利用系统漏洞发起攻击,轻则破坏服务器正常运行,重则窃取内部核心…

    2026年5月12日
    0
  • PHP网站出现500错误如何解决?

    HTTP ERROR 500 代表服务器内部发生错误,也就是代码出现了报错,但默认情况下,PHP 并不会展示具体的错误详情,本文将分析 PHP 出现 500 错误的常见原因及应对方…

    2026年7月11日
    0