HTTPS

目录

一、密钥加密

1、对称加密

2、非对称加密

二、HTTPS的工作过程

三、中间人攻击问题


HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证 保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。

HTTPS不是协议,而是通过SSL/TLS协议提供的安全连接进行的HTTP通信。

一、密钥加密

密钥是密码和明码之间的对应替代关系,分为对称密钥非对称密钥

1、对称加密

在传递信息时,信息分为明文和密文。明文是真正要表达的信息**,密文通过加密来掩盖原始信息,要得到明文就需要密钥来解析密文。**使用同一个密钥来加密和解密,就是对称加密。


2、非对称加密

非对称加密有一对两个密钥,一个为"公钥",一个为"私钥"。

用一个钥匙加密,用另一个钥匙解密。


二、HTTPS的工作过程

HTTPS加密过程,主要是对HTTP的header和body进行加密。

1、先引入对称加密

每个客户端的密钥是不同的,客户端给服务器发送信息和密钥,服务器记录每一个密钥,对信息进行解密,这种加密方式安全性不高,在通信过程中很容易被拦截,然后拿到密钥对客户端信息进行解析。

2、非对称加密

为解决对称加密安全性不高的问题,引入了非对称加密。服务器会生成一个公钥和私钥,公钥给客户端,私钥服务器自己保存,客户端再生成一个对称加密,使用服务器给的公钥对密钥进行再次加密,得到了密钥的密文。


3、既然引入了非对称加密,为什么还需要引入对称加密呢?

进行非对称加密,运算成本高,速度慢。

对称加密,运算成本低,速度块。

使用非对称加密,只是用于关键环节(传递密钥),成本可控。要是传输大量的业务数据,要使用效率高的对称密钥,如果使用非对称加密,传输效率会大幅度降低。

三、中间人攻击问题

使用对称加密和非对称加密的过程,就是HTTPS的基本盘,但是还是存在漏洞。

1、中间人攻击问题

在客户端给服务器申请公钥,服务器返回公钥的时候,黑客通过攻击中间传输信息的设备**,拿到服务器给的公钥,并自己生成一对公钥和私钥,将自己生成的公钥,返回给客户端。** 当客户端使用黑客给的公钥进行加密,传输到黑客这里,黑客就可以使用自己的私钥进行解密,再通过刚才拿到的服务器公钥加密发送给服务器,让服务器无法察觉。


2、解决中间人攻击问题(SSL协议)

关键要点: 客户端没有分辨公钥是不是中间人伪造的能力,就可以引入第三方可以被大家信任的**"公证机构"**,来证明公钥是正确的,不是伪造的。

当服务器生成公钥和私钥,就会对公证机构发出申请,申请内容包括域名、公钥等信息。公证机构就会对服务器申请的内容进行检测,通过就会完成申请,然后给服务器颁发证书,证书内容包括域名、公钥、数字签名等。

**数字签名:**公证机构颁发证书的时候,公证机构就会对证书中的各个属性进行计算,然后得 到一个校验和,并对这个校验和进行非对称加密,公证机构持有私钥,公钥发给各个客户端 设备(内置到系统中),就得到了数字签名。

客户端拿到了证书,也拿到了证书中的服务器的公钥,客户端就会验证这个公钥是否是服务器最初的公钥(是否被中间人篡改),这个过程就叫做证书的校验。

**证书的校验:**核心机制就是通过内置到系统的公钥对数字签名进行解密,得到校验和,重新计算校验和,然后和解密出的校验和进行对比。

如果校验和一致,则证书没有被修改,公钥可信,可以进行通信。


HTTPS加密的整体过程:

1、对称加密,加密业务数据

2、非对称加密,加密对称密钥

3、使用证书,校验服务器的公钥


相关推荐
钛态3 小时前
Flutter 三方库 http_mock_adapter — 赋能鸿蒙应用开发的高效率网络接口 Mock 与自动化测试注入引擎(适配鸿蒙 HarmonyOS Next ohos)
android·网络协议·flutter·http·华为·中间件·harmonyos
2501_915918415 小时前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
IT小白36 小时前
windows的VMware虚拟机上的Linux系统(CentOS)配置永久ip(关机重启ip不变)
网络·网络协议·tcp/ip
蛊明7 小时前
批量检测 IP 是否在线:CPing vs QuickPing
网络·网络协议·tcp/ip
路由侠内网穿透.8 小时前
本地部署开源书签管理工具 LinkAce 并实现外部访问( Linux 版本)
linux·运维·服务器·网络·网络协议·开源
2301_8059629310 小时前
ESP32远程OTA升级:从局域网到公网部署
网络·后端·http·esp32
爱吃生蚝的于勒13 小时前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
程序员大飞哥13 小时前
T-Box双SIM卡的"幻觉":为什么有两张卡却还在断连?
网络协议
吠品14 小时前
UniApp Vue3中实现rem自适应布局:动态基准值与设计稿适配实践
tcp/ip·https·ssl
Sean‘14 小时前
Rancher 日志无法显示?WebSocket 代理配置是罪魁祸首
websocket·网络协议·rancher