网络原理-HTTPS

HTTPS是什么

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

加密是什么

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

HTTPS的工作过程

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

对称加密

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

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

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

非对称加密

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

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

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

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

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

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

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

引入证书

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

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

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

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

一次通信的完整流程

相关推荐
我叫汪枫28 分钟前
《HTTP 实战:常用调试工具与抓包技巧》
网络·网络协议·http
googleccsdn1 小时前
ENSP Pro Lab笔记:配置STP/RSTP/MSTP(4)
网络·笔记·网络协议
2501_915921431 小时前
iOS 抓包工具有哪些,开发者的选型与实战指南
android·ios·小程序·https·uni-app·iphone·webview
eeeasen2 小时前
FnOS(0.9.32版本) --usb无线网卡(RTL8xxxu)调试
网络
奋斗的蛋黄2 小时前
TCP 和 UDP 的核心区别:从原理到场景的全面解析
网络协议·tcp/ip·udp
专家大圣2 小时前
5分钟启动标准化安卓环境:Docker-Android让模拟器配置不再踩坑
android·网络·docker·容器·内网穿透
国科安芯3 小时前
基于ASM1042通信接口芯片的两轮车充电机性能优化研究
服务器·网络·人工智能·单片机·嵌入式硬件·性能优化
普普通通的南瓜3 小时前
金融交易防护:国密 SSL 证书在网银与移动支付中的核心作用
网络·网络协议·安全·arcgis·gitlab·ssl·源代码管理
广然3 小时前
跨厂商(华为 & H3C)防火墙 IPSec 隧道部署
服务器·网络·华为
游戏开发爱好者84 小时前
iOS 抓包工具实战 开发者的工具矩阵与真机排查流程
android·ios·小程序·https·uni-app·iphone·webview