dbaplus社群 03月08日
第一次把 https 原理讲得那么清楚
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入浅出地讲解了HTTPS的原理,从HTTP的不安全性出发,逐步介绍了对称加密、非对称加密以及数字签名在构建安全HTTPS连接中的作用。文章通过六个维度,详细阐述了HTTPS如何解决窃听、篡改和冒充等风险,并结合流程图,清晰地展示了HTTPS的完整运行过程,帮助读者全面掌握HTTPS的核心概念和机制。

⚠️ HTTP协议明文传输存在窃听、篡改和冒充三大风险,直接威胁数据安全。

🔑 对称加密算法通过共享密钥加密数据,但密钥本身的传输又成为新的安全隐患。

🛡️ 非对称加密算法使用公钥加密、私钥解密,但速度较慢,影响用户体验。结合对称和非对称加密,兼顾安全和效率。

✔️ 引入数字签名和数字证书,防止公钥被篡改,确保通信双方身份的真实性。通过CA认证机构,为公钥盖上“信任”的章。

🌐 完整的HTTPS流程包括客户端验证服务器证书、生成对称密钥并用服务器公钥加密、服务器用私钥解密得到对称密钥、双方使用对称密钥加密通信数据等步骤,确保数据传输的安全性。

捡田螺的小男孩 2025-03-08 07:15 广东

六个维度,让你全面掌握https!


有位朋友校招面试了字节的后端岗位,问到这道面试题:https 原理。


这道题其实比较简单,我们如何更好地回答呢?我来跟大家聊聊。可以从这几个维度逐层扩展来讲



一、http为什么不安全?


我们先来看看HTTP传输:




Http 明文传输,主要有这些缺点:窃听风险、篡改风险、冒充风险


请君试想,如果HTTP请求被某个不怀好意的中间人窃听截取,并且,消息包含银行密码等敏感信息的话,造成的后果不堪设想吧。


二、对称算法加密+HTTP


既然,明文传输不安全,那我们加密是不是就可以了。比如用对称加密算法加密


对称加密算法:需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。

常见的对称加密算法有:DES、3DES、AES


看看用对称算法加密后,HTTP流程又是怎样的:




这种方式还是有问题:


一开始客户端怎么把密钥发过去呢?如果不怀好意的中间人截取到了密钥,发送的消息还是会被盗取和利用呢。


三、非对称加密+HTTP


既然对称算法加密+HTTP 还是不够安全,那我们用非对称加密+HTTP。


什么是非对称加密算法?


非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。


常用非对称加密算法:RSA、ECC


使用非对称加密算法之后,HTTP流程又是怎样的,如下图:




这种方式依然有问题:


非对称算法(如:RSA)有个弊端,它很慢。试想一下,如果你用浏览器请求,它很久才响应,你能接受吗?


四、非对称加密+对称加密+HTTP


既然非对称加密慢。对称加密会快好多。我们可以使用非对称加密+对称加密双剑合璧的流程图如下:




这种方式还是有问题,没完没了了……


如果中间人又来搞事情呢?要是中间人截取公钥,把公钥进行篡改呢? 打个比喻,把公钥比喻你自己的手机号,它是公开的,谁都可以给你打电话。假设你发消息给你朋友,告诉他你的手机号,然后消息被中间人截取修改了,改为110,然后你朋友不知情的情况下,拨通110,打电话给你……


五、数字签名,给你的公钥盖个章


为了避免公钥被篡改,引入了数字证书,如图所下:



公钥和个人信息,经过Hash算法加密,形成消息摘要;将消息摘要拿到拥有公信力的认证中心(CA),用它的私钥对消息摘要加密,形成数字签名.

公钥和个人信息、数字签名共同构成数字证书。


 证书验证




六、完整的HTTPS运行流程图




作者丨捡田螺的小男孩

来源丨公众号:捡田螺的小男孩(ID:gh_3d11c9893ca0)

dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn


阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

HTTPS 网络安全 加密算法 数字签名 数字证书
相关文章