HTTPS 协议
HTTPS = HTTP + SSL(安全套间层协议)/TLS(传输层安全协议)
- 加密算法
- PKI体系(公钥基础设施)
- 证书
- 部署HTTPS服务器
- 部署CA证书服务器
- 分析HTTPS的流量
- 分析TLS交互过程
一、HTTPS协议
- 在HTTP的通道上,增加了安全性,传输过程中,通过加密和身份认证来确保传输的安全性
1、TLS
- 传输层的安全协议,SSL和TLS其实是一个协议,SSL2.0版本,自SSL3.0版本之后,更名为TLS1.0,目前最高版本是TLS1.3,目前最为广泛的是TLS1.2版本
- 设计目标
- 保密性:所有的信息都加密传输
- 完整性:校验机制
- 认证:双方都配备证书,防止冒充
- 互操作、通用性
- 可扩展
- 高效率
- 发展历史
- SSL2.0——》SSL3.0——》TLS1.1——》TLS1.2——》TLS1.3
2、HTTP的缺陷
- 明文传输
- 只对传输数据的长度进行完整性校验,对数据是否有被篡改是不做确认的
3、HTTPS的好处
-
在传输数据之前,客户端和服务器端会协商传输过程中的加密算法,包含自己的非对称加密的密钥交换算法(RSA/DH),数据签名摘要算法(MD5/SHA),加密传输数据的对称加密算法(DES/3DES/AES)
- 非对称加密算法:公钥和私钥
- 对称加密算法:公共密钥
- 概要算法:MD5
-
过程
- 用户机(Client)首先使用公共密钥对数据进行加密,再使用服务器(Server)的公钥对公共密钥(用户机生成随机的字符串)进行加密,将加密后的数据和密钥一起发给服务器(Server),服务器(Server)收到后,首先使用自己的私钥将公共密钥进行解密,再使用公共密钥将传输的数据进行解密
- 对称加密算法比较简单,所以对于验证大型的数据来说,会比较快,因此使用对称加密算法加密数据
- 非对称加密算法比较复杂,时间消耗较长,所以只用来加密公共密钥
- 概要算法主要是用来校验,在传输数据之前,会对数据进行摘要值的计算,显示数据是否被篡改过
二、加密算法
1、对称加密算法
- 加密和解密的密钥相同(只有一个密钥,公共密钥,双方都需要使用)
- 密钥传输有问题,密钥如何安全传输
- 密钥多,难管理
- 常见的对称加密算法
- DES/3DES
- AES
- RC
- IDEA
2、非对称加密算法
- 加密和解密使用的是不同的密钥,公钥和私钥,每个用户都可以有自己的公钥和私钥,公钥是公开的,私钥是由自己保存的,使用一个密钥加密就必须使用另一个密钥解密
- 加密算法比较复杂,对于大规模的数据进行加密,比较影响效率
- 常见的算法
- DH
- Elgamal:基于DH算法来的
- RSA
- ECC
- Rabin
三、PKI体系
1、基本概念
-
公钥基础设施
- 通过使用公钥技术(非对称加密算法)和数字签名来确保信息安全
- 公钥加密技术(非对称加密算法)、数字证书、CA(证书颁发机构)、RA(证书注册机构)组成
-
实现的功能
- 身份验证
- 数据完整性
- 数据机密性
- 操作不可否认性
-
身份认证
- 数字签名是由私钥把信息算法加密之后的内容
- 发送方Alice首先将原始数据通过摘要算法(SHA)算出信息的摘要,并且用自己的私钥进行签名得到数字签名证书,将数字签名和原始数据发送给接收方bob
- 接收方bob收到Alice发来的原始数据和数字签名后,将原始数据通过相同的摘要算法(SHA)得出信息摘要,再使用Alice的公钥将数字签名解开,得出Alice的信息摘要(这里就完成了Alice的身份认证),比对两个摘要是否一致,如果一致,说明数据在传输过程中没有被修改
-
数字证书
- 保证密钥的合法性
- 证书的主体可以是用户、计算机、服务等
- 证书包含的信息
- 使用者的公钥
- 使用者的标识
- 有效期
- 颁发者的标识信息
- 颁发者的数字签名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)