【面试高频】HTTPS加密传输过程
目录1 HTTPS是什么2 “加密”是什么3 HTTPS工作过程3.1 引入对称加密3.2 引入非对称加密3.2.1 中间人攻击3.3 引入证书3.3.1 理解数字签名3.3.2 通过证书解决中间人攻击1 HTTPS是什么前面的章节给大家介绍了http协议以及http请求/响应请求的报文格式。但是我们使用浏览器时常看到的网络请求的协议是https//:开头的如那么何为https协议呢https协议实际上是在http协议的基础上做了一些加密操作从而保障用户信息安全。因为http协议进行网络交互时是使用的明文传输此时会导致用户的数据会很容易地被网络黑客所截取造成一定的网络安全隐患。2 “加密”是什么⭕加密指将未加密的明文要传输的数据信息通过一系列的变换变成被加密后的密文。⭕解密指将加密后的密文通过一系列的变换变成原来的明文。在加密和解密的过程中往往需要一些数据来辅助加密/解密的变换过程这种数据我们把它称为密钥。3 HTTPS工作过程要保证数据传输过程的安全性我们就要对要传输的数据进行“加密”此时网络中就不会再传输明文了相反都是通过密文进行数据交互的。加密方式分为 “对称加密” 和 “非对称加密” 。3.1 引入对称加密所谓对称加密就是指客户端和服务器通过同一个密钥进行加密和解密此密钥称为对称密钥。举个栗子通信双方约定通信的过程都使用对称密钥 key8888 通过按位异或进行加密解密;假设客户端要传输的数据为1234 通过 1234 ^ key得到密文 9834服务器收到密文后通过 9834 ^ key 得到明文 1234当然真正的https进行数据加密的过程肯定没有按位异或这么简单这里只是举例子让大家更清楚的知道对称加密的特点。于是我们可以很清晰地得到客户端与服务器的通信过程如下引入对称加密之后网络攻击者就不能直接获取明文对用户的信息进行窃取了。❗问题1服务器通常是在同一时间针对多个客户端提供服务的但不同的客户端与服务器进行交互的对称密钥必定是不能相同的如果每个客户端密钥都相同那网络黑客直接就能获取密钥了。就好比如果每个人的银行卡密码都相同那密码也就失去了它的意义。于是服务器就需要维护与每个客户端之间的密钥映射较为繁琐和麻烦如下图❗问题2要使用对称加密前提是客户端要将生成好的对称密钥通过网络传输转发给服务器传输密钥的过程必定是要加密的就需要设定 “ 密钥的密钥 ” 以此类推不断循环那就是 “ 先有蛋还是先有鸡 ” 的问题了。于是我们引入非对称加密......3.2 引入非对称加密所谓非对称加密就是服务器提前生成两个密钥一个是私钥一个是公钥。所有客户端包括黑客都可以拿到公钥客户端要提前生成对称密钥通过公钥加密而服务器通过私钥解密。而后续客户端与服务器的交互就通过对称加密解密就可以安全可靠地传输数据了。此时网络黑客由于拿不到私钥就无法窃取对称密钥自然也就无法窃取用户信息了。同时提高了一定的网络安全性。此时客户端与服务器的交互过程如下上图过程可以防止网络黑客直接地窃取对称密钥但是狡猾的网络黑客会通过一种 “中间人攻击” 的方式在客户端与服务器都不知情的情况下间接地获取到对称密钥。3.2.1 中间人攻击所谓中间人攻击就是交互双方之间的中间人通过一系列操作达到到自己想要的目的。不少谍战片中都有相关的 “ 中间人 ” 的操作。对于网络通信的过程中间人攻击的具体过程如下服务器生成的 公钥S 私钥S中间人生成的 公钥M 私钥M服务器发送给客户端公钥S但中间人转发给客户端的公钥不是S而是M。客户端收到M后将对称密钥通过M加密发送给中间人中间人通过自己的私钥M解密后得到对称密钥。再将对称密钥通过服务器公钥S加密发送给服务器。服务器通过S解密后也得到了对称密钥。问题就出现了客户端如何才能判断收到的公钥是服务器发来的呢如果不判断就直接传输对称密钥会造成严重的网络安全那此时我们就需要引入证书来协助客户端识别收到的公钥是否被篡改......3.3 引入证书引入证书的目的是为了辅助客户端识别收到的公钥的合法性。是服务器在使用HTTPS前提前向CA机构申请一份数字证书数字证书中包含申请人信息签发机构、有效时间、域名、申请人等和数字签名。⚠️注意申请证书的时候需要在特定的平台生成同时会生成一对CA机构的公钥和私钥这对密钥就是用来在网络通信中进行明文加密和数字签名的。3.3.1 理解数字签名当服务端申请CA证书的时候CA机构会对该服务端进行审核并专门为该网站形成数字签名过程如下CA机构拥有自己的公钥A私钥ACA机构对证书中的申请人信息明文数据进行hash形成数据摘要CA机构通过私钥A 对数据摘要进行加密生成数字签名。3.3.2 通过证书解决中间人攻击✅在客户端和服务器一建立连接之后服务器就会给客户端返回一个证书此证书包含了服务器的公钥也包含了网站的相关信息。✅客户端拿到证书后首先判定证书的有效时间是否合法。✅判定发布机构是否受信任操作系统内置了已受信任的证书发布机构✅验证数字签名的合法性通过系统得到发布该证书的官方机构的公钥A通过公钥A对数字签名进行解密得到一个哈希值 hash1。再计算整个证书的哈希值得到 hash2比对hash1与hash2如果相同则证明证书没有被篡改反之则被篡改了。3.3.3 相关面试题的解答1.为什么要形成数字签名答数字签名的目的是为了让客户端可以验证服务器发来的公钥的合法性从而避免中间人攻击窃取对称密钥。2. 为什么不能直接加密而要先计算哈希值再加密答计算哈希值是为了缩小签名密文的长度加快数字签名的验证以及签名计算的速度。3. 中间人有没有可能通过篡改证书获取对称密钥答中间人篡改证书由于中间人没有CA机构的私钥无法对篡改后的计算哈希值进行加密。如果强行篡改就没办法生成证书信息与数字签名匹配的证书后续客户端通过验证还是会发现证书不合法。4. 中间人可以直接掉包证书嘛答中间人想掉包证书由于中间人没有CA机构的私钥就需要提前向CA机构申请证书。然后用自己申请的证书进行掉包这个确实能做到证书的整体掉包但是别忘记证书明文中包含了域名等服务端认证信息如果整 体掉包客户端依旧能够识别出来。永远记住中间没人有CA私钥所以对任何证书都无法进行合法修改包括自己的。

相关新闻

UE4SS脚本注入系统:从原理到实战,解锁虚幻引擎游戏Mod开发

UE4SS脚本注入系统:从原理到实战,解锁虚幻引擎游戏Mod开发

1. 项目概述:UE4SS是什么,以及为什么你需要它如果你是一个热衷于《幻兽帕鲁》、《艾尔登法环》或者任何基于虚幻引擎4/5开发的PC游戏的玩家或开发者,那么“UE4SS”这个名字你大概率已经听过。它不是一个游戏,而是一个强大的脚本注…

2026/7/18 3:47:16 阅读更多 →
模板驱动文档自动化:零代码实现业务文档工业化

模板驱动文档自动化:零代码实现业务文档工业化

1. 项目概述:当文档生产变成“填空题”,而不是“写作文”你有没有经历过这种场景:每周一早上,市场部同事准时把一份《月度客户反馈摘要》模板发到群里,要求销售、客服、产品三个部门各自填入数据,再汇总成P…

2026/7/18 3:46:16 阅读更多 →
虚幻4 HTTP服务器插件开发:实现游戏与外部系统的实时API交互

虚幻4 HTTP服务器插件开发:实现游戏与外部系统的实时API交互

1. 项目概述:为什么虚幻4项目需要一个HTTP服务器?如果你正在用虚幻引擎4开发一个项目,无论是游戏、模拟器还是数字孪生应用,你很可能遇到过这样的需求:需要从外部系统(比如一个Web管理后台、一个移动端App&…

2026/7/18 3:46:16 阅读更多 →

最新新闻

godirwalk最佳实践:内存优化、错误处理与并发控制技巧

godirwalk最佳实践:内存优化、错误处理与并发控制技巧

godirwalk最佳实践:内存优化、错误处理与并发控制技巧 【免费下载链接】godirwalk Fast directory traversal for Golang 项目地址: https://gitcode.com/gh_mirrors/go/godirwalk godirwalk是一款专为Golang打造的高性能目录遍历库,以其卓越的速…

2026/7/18 15:57:30 阅读更多 →
Llama 4 vs Qwen3 vs Grok-3:2024Q3权威基准评测(MMLU/MT-Bench/HaluEval三榜横评|附可复现测试环境镜像)

Llama 4 vs Qwen3 vs Grok-3:2024Q3权威基准评测(MMLU/MT-Bench/HaluEval三榜横评|附可复现测试环境镜像)

更多请点击: https://codechina.net 第一章:Llama 4 模型架构演进与核心特性解析 Llama 4 并非 Meta 官方发布的模型——截至 2024 年底,Meta 官方仅公开发布至 Llama 3(2024 年 4 月),Llama 4 尚未存在。…

2026/7/18 15:57:30 阅读更多 →
【AI自动化2026趋势权威预测】:基于Gartner/IDC/麦肯锡三方交叉验证的7大不可逆拐点

【AI自动化2026趋势权威预测】:基于Gartner/IDC/麦肯锡三方交叉验证的7大不可逆拐点

更多请点击: https://intelliparadigm.com 第一章:AI自动化2026趋势的底层逻辑重构 传统AI自动化依赖于“数据→模型→规则→执行”的线性范式,而2026年正在发生根本性位移:逻辑重心从静态模型推理转向动态语义契约驱动的自主协同…

2026/7/18 15:57:30 阅读更多 →
WPS AI数据透视表报错频发?5类高频故障诊断清单+官方未公开修复路径

WPS AI数据透视表报错频发?5类高频故障诊断清单+官方未公开修复路径

更多请点击: https://codechina.net 第一章:WPS AI数据透视表报错现象全景扫描 WPS AI集成的数据透视表功能在智能字段推荐、自动分组与动态汇总场景中频繁触发异常,其报错表现具有强上下文依赖性,既非纯前端渲染错误&#xff0c…

2026/7/18 15:57:30 阅读更多 →
用ChatGPT 10分钟生成《艾尔登法环》全流程图文攻略(附可复用Prompt工程框架)

用ChatGPT 10分钟生成《艾尔登法环》全流程图文攻略(附可复用Prompt工程框架)

更多请点击: https://codechina.net 第一章:ChatGPT生成游戏攻略的可行性与边界认知 大型开放世界游戏(如《塞尔达传说:王国之泪》《艾尔登法环》)的非线性叙事与高自由度机制,使传统结构化攻略难以覆盖全…

2026/7/18 15:57:30 阅读更多 →
【Bug已解决】Codex App: new task creation times out when configured MCP server is unreachable 解决方案

【Bug已解决】Codex App: new task creation times out when configured MCP server is unreachable 解决方案

【Bug已解决】Codex App: new task creation times out when configured MCP server is unreachable 解决方案原始报错线索:Codex App: new task creation times out when configured MCP server is unreachable(当用户配置的某个 MCP 服务器连不上时&am…

2026/7/18 15:55:29 阅读更多 →

日新闻

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:38 阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:38 阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:38 阅读更多 →

周新闻

月新闻