网络原理-HTTPS

HTTPS是什么

HTTPS也是一个应用层协议,在HTTP的基础上引入了加密.HTTP的传输是明文传输的,这就导致了在传输过程中可能会被人恶意篡改.在互联网上,明文传输是比较危险的事.HTTPS进行了加密,进⼀步的来保证⽤⼾的信息安全.

加密是什么

加密就是把明文通过一系列的转变,变成密文.解密就是把密文通过一系列的转变,变成明文.在这个过程中,往往需要一个或者多个中间数据辅助一个过程,这个数据称为密钥.

HTTPS的工作过程

在网络传输中,不再传输明文,而是传输加密后的密文.加密的方法大体分为两类:对称加密与非对称加密.

对称加密

对称加密是通过使用同一个密钥进行加密和解密.能通过密钥把明文加密成密文,也能使用密钥把密文解密成明文.

引入对称加密后,即使黑客拦截了数据,但是不知道密钥是什么,就无法对数据解密,这样就保证了安全.但是,服务器一次会和多个客户端进行通信,这些客户端和服务器之间使用的密钥肯定是不相同的(如果相同,那么密钥就形同虚设了).这样,就需要在一开始沟通,这次通信的密钥是什么,这一次通信是没有加密的.如果,黑客拦截到这次通信,那么黑客就知道密钥是多少,就能对后续的通信进行解密.

如果是这种情况,就要对密钥的密钥进行加密,这样就变成了一个套娃问题,密钥的密钥也可能会被拦截,此时对称加密就无法解决这样的问题.

非对称加密

由于对称加密无法解决,密钥传输过程是明文的问题,于是就引入了非对称加密.

非对称加密是什么?非对称加密中会有两个密钥,一个叫"公钥"一个叫"私钥".

如果使用公钥对数据加密,那么就只能使用私钥对数据进行解密.

如果使用私钥对数据加密,那么就只能使用公钥对数据进行解密.

但是非对称加密是非常消耗性能的,如果通信过程全程使用非对称加密,很可能导致服务器崩溃,在HTTPS的通信中,只对对称密钥加密即可.如果对称密钥是安全的,那么对称加密就是安全的.公钥需要先从服务器获取.

这种情况,客户端无法得知获取到的公钥是否是伪造的.黑客使用中间人攻击,让客户端以为在和服务器通信,实际是客户端在和黑客通信.

像这样,黑客设备在中间充当一个转发服务器,就可以知道通信过程中的所有信息.

引入证书

为了防止出现上述的中间人攻击,就引入了证书.证书是服务器在运营前,向公证机构申请的一份标识.证书中包含:证书发布机构,有效期,证书持有者,公钥,Host,签名等待信息.客户端在访问服务器时先获取证书,就能获取到公钥.那么,证书是如何防止篡改的呢?

证书中有一个重要的信息:签名,签名是基于非对称算法的,是一个经过加密的校验和.签名的加密是公证机构使用私钥进行的加密,而公钥一般是内置在操作系统中的.

在中间人攻击中,黑客如果篡改了证书的信息,如公钥,那么在客户端收到证书后,使用签名中的校验和对证书进行判断真伪,就能发现证书被篡改.黑客修改签名来篡改证书呢?显然是不行的,因为签名是由公证机构的私钥加密的,当黑客修改签名后,只能通过其他方法对签名加密.客户端收到后,无法使用公钥正确解密签名,也能知晓证书被篡改.

如果中间人选择调包证书,也是行不通的.因为证书中包含Host,当客户端发现证书中的Host与目标Host不同时,也能知晓服务器证书被调包.

一次通信的完整流程

相关推荐
爱吃苹果的梨叔2 小时前
训练集群网络中断怎么办?智算机房的 Console 串口排障方案
网络·python·智能路由器·php
xiaohaiAIgeo6 小时前
【2026年】医药研发实验室GLP的通风设计要求:稳定性可验证性与合规性
网络·人工智能·科普知识
翼龙云_cloud7 小时前
亚马逊云渠道代理商:VPC 教程 利用 EC2 自建 NAT 实例降低私有子网出网成本
网络·云计算·aws
xiaoye-duck7 小时前
《Linux网络编程》UDP Socket 编程实战:从 Echo 回显、通用字典服务到套接字封装全流程
linux·网络·udp
酒神dnspup7 小时前
CDN 回源检测怎么做?用 DNSPup 验证节点命中、源站暴露与多地可用性
运维·服务器·网络·网络协议·tcp/ip
江南风月8 小时前
3分钟快速上手日志审计系统 WGLOG v2.2 更新了什么
运维·服务器·网络
Dawn-bit9 小时前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
TheBestRucy9 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
酒神dnspup9 小时前
Tcping 端口连通性检测教程:用 DNSPup 判断防火墙、监听与线路故障
网络·网络协议·tcp/ip·ip·dnspup