HTTPS之加密解密学习

本文探讨了面试中关于网络基础知识的问题,特别是遇到抓包工具无法解析HTTPS的问题。通过深入理解HTTP与HTTPS的工作机制,包括加密与解密过程,非对称加密与对称加密的区别,以及中间人攻击和CA证书的作用,揭示了HTTPS在保障通信安全的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

1、一直不太明白面试为什么要问那么多八股,实际工作之后才慢慢发现那些都是基础,工具的使用都是基于计网基础的,而最近我的抓包工具一直用不了,出现如“SSL握手失败”“HTTPS响应已加密”“启用SSL代理查看内容”等问题。

提示信息为HTTPS响应已加密,就牵扯出一系列问题:HTTP的工作机制,为什么会有HTTPS,怎么加密?如何解密?HTTPS的工作机制是什么?

针对抓包问题搜索之后无果,解决方案几乎没有,于是挖了HPPTS的文章,跟着作者的思路看完之后收获颇多。

二、HTTPS

先写结论:

HTTP协议为明文传输,因此抓包工具可以直接获取到请求和响应结果,这也让更改与窃取通信双方的通信内容变得更加容易,于是就有了HTTPS 的存在,可以理解为是在HTTP传输工程中增加了加密解密过程的协议,也就是利用ssl加密协议进行加密,抓包得到的内容没有密钥也无法解密,加强了通讯的安全性

冲突域:共享同一个带宽的域,假设一条高速通道,四辆车想同时通过,如果一次只能过一辆,那么四辆车都想通过的这个条件就发生了冲突,如果按顺序一辆一辆地通过,那么该高速则是他们共享的通道,若将四个车最初到收费站的高速路线看作线缆,车看作主机设备,收费站看作集线器,他们与集线器的这一区域就形成了冲突域。

三、非对称加密和对称加密

假设客户端和服务端需要通信

1、对称加密

服务端和客户端传输时发送密钥加密后的密文和密钥,通过相同的密钥对其解密

 2、非对称加密

加密和解密的密钥不相同,即公钥和私钥,公钥public为公开的,可以被任何人拿到,而私钥private不公开,用于解密

1、 非对称加密的过程

1、服务端生成一对公钥和私钥,公钥公开,客户端以及任何人都可拿到,私钥只有服务端有

2、客户端用公钥对对自己的对称密钥进行加密,将加密后的密钥传给服务器

3、服务器通过私钥对该请求的秘文解密,得到对称密钥

4、双方传输文件时发送对称加密后的秘文,并对其用对称密钥解密(不用非对称加密,是为了节省成本,)以此提高安全性

黑客攻击:中间人生成private2和public2,拦截服务端发给客户端的public1,将public2发给客户端,客户端用public2对其密钥加密,被拦截,并用private2对密文解密,得到密钥,再次用public1对密文加密,发送给服务端,服务端用private1对其解密,得到密钥,后续继续传输信息,都被黑客解密

证书:公钥+身份识别

CA证书:防止黑客篡改公钥,用于身份认证,以确保公钥的真实性

服务端申请证书后,第三方机构会返回包含公钥和身份标识的证书,黑客申请不到,服务器公开申请的证书所有人都能拿到,此时黑客拿到证书后无法篡改其中的公钥,若篡改,客户端用改后的证书去第三方验证,返回不合法的结果,识破黑客篡改;

客户端拿到服务端返回的证书去第三方机构验证是否合法,若合法则其中的公钥匙正确的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值