Https以及CA证书

目录

[1. 什么是 HTTPS](#1. 什么是 HTTPS)

通信机制流程

证书验证过程

CA证书

浏览器如何校验证书合法性呢?


1. 什么是 HTTPS

HTTP 加上加密处理和认证以及完整性保护后即是 HTTPS。

它是为了解决 HTTP 存在的安全性问题,而衍生的协议,那使用 HTTP 的缺点有:

1.通信使用明文可能会被窃听

2.不验证通信方的身份可能遭遇伪装

3.无法验证报文完整性,可能已遭篡改

HTTPS 并非是一种新协议,只是 HTTP 通信接口部分用 SSL 和 TLS 协议代替。通常,HTTP 是直接跟 TCP 通信,当使用了 SSL 后,则变成先和 SSL 通信,再有 SSL 和 TCP 通信。简而言之,HTTPS 是身披 SSL 协议的这层外壳的 HTTP。

SSL/TLS加密层

HTTPS在HTTP协议基础上叠加SSL/TLS加密层,通过非对称加密(如RSA、ECC)交换对称密钥,再利用对称加密(如AES)加密实际数据。这一过程确保:

数据机密性:中间人无法窃听或篡改传输内容(如密码、支付信息)。

完整性验证:通过哈希算法(如SHA-256)生成数字指纹,防止数据被篡改。

数字证书认证

服务器需向CA(证书颁发机构)申请数字证书,客户端通过验证证书的合法性(如域名匹配、有效期、吊销状态)确认服务器身份,杜绝钓鱼攻击。

HTTPS 安全可靠,为啥不一致使用 HTTPS 呢?

1.与纯文本通信相比,加密通信会消耗更多 CPU 和内存资源。

2.购买证书也是一笔不小的开销。

3.HTTPS 比 HTTP 要慢 2-100 倍。这是因为 SSL 慢,一种是通信慢,出去 TCP 连接、发送 HTTP 请求/响应外,还必须有 SSL 通信,整体上通信量增加了。 另一种是,大量消耗 CPU 和内存等资源,导致处理熟读变慢,这是因为 SSL 必须进行加密

通信机制流程

安全通信机制流程详解:

1.客户端发送 https 请求,把自身支持的秘钥算法套件(SSL 指定版本、加密组件列表)发送给服务器

2.服务器判断自身是否支持该算法套件,如果支持则返回证书信息(本质为公钥,包含了证书颁发机构,网址,过期时间等) ,否则断开连接,

3.客户端解析证书(通过 TLS 协议来完成),验证证书是否有效。如果异常,则会提示是否安装证书,常见的就是浏览器搜索栏左侧出现"X"告警按钮等。

4.如果证书有效、或者是授信安装证书后,开始传送加密信息(用证书加密后的随机值,供加解密使用)

5.服务端通过私钥解密加密信息,得到客户端发送来的随机值,然后把内容通过该值进行对称加密。这样一来,除非知道私钥,否则是无法获取加密内容的。

6.服务端返回加密后的内容

7.客户端通过前面提到的随机值对加密信息进行解密

证书验证过程

SSL 证书中包含的具体内容有证书的颁发机构、有效期、公钥、证书持有者、签名,通过第三方的校验保证了身份的合法

1.检验基本信息:首先浏览器读取证书中的证书所有者、有效期等信息进行一一校验

2.校验 CA 机构:浏览器开始查找操作系统中已内置的受信任的证书发布机构 CA,与服务器发来的证书中的颁发者 CA 比对,用于校验证书是否为合法机构颁发;如果找不到,浏览器就会报错,说明服务器发来的证书是不可信任的。

3.解密证书:如果找到,那么浏览器就会从操作系统中取出 颁发者 CA 的公钥,然后对服务器发来的证书里面的签名进行解密

4.比对 hash 值:浏览器使用相同的 hash 算法计算出服务器发来的证书的 hash 值,将这个计算的 hash 值与证书中签名做对比

5.对比结果一致,则证明服务器发来的证书合法,没有被冒充

6.此时浏览器就可以读取证书中的公钥,用于后续加密了

CA证书

CA 是证书颁发机构的简称,它会给自己签发一个根证书 Root CA ,并且 CA 会通过根证书来签发**中间证书** ,授权中间证书颁发机构签发证书的权限,最后由中间证书颁发机构向用户签发**用户证书**。之所以多一层中间证书是为了保护根证书,减少根证书被攻击或者被破解的风险。

浏览器如何校验证书合法性呢?

由于用户证书被中间证书信任,而中间证书被根证书信任,根证书又被浏览器信任,这样一个完整的证书链使得浏览器可以在根证书库内一次检索用户证书、中间证书和根证书,如果能匹配到根证书,那么这一信任链上的所有证书都是合法的。

相关推荐
衣舞晨风6 小时前
什么样的 AI 网关算是一个好网关
网络·人工智能·网关·ai·大模型·ai网关
Keepingrun6 小时前
http登录和授权
网络·网络协议·http
Sirius Wu6 小时前
OpenClaw 并发安全完整详解
网络·人工智能·安全·ai·架构·aigc
rcms152702692187 小时前
AMAT 0190-27952-04 终端服务器
网络
海外数字观察家7 小时前
品未云:博兹瓦纳华商批发零售一体化 ERP,破解本土软件适配难题|CSDN 技术分享
大数据·网络·人工智能·博兹瓦纳进销存系统·博兹瓦纳收银系统·博兹瓦纳erp系统·博兹瓦纳仓库管理系统
段一凡-华北理工大学8 小时前
AI Agent 从入门到封神:24 讲打造你的超级智能体~系列文章23:从Demo到上线:Agent应用的架构设计、性能优化与成本控制实战
运维·网络·人工智能·性能优化·高炉炼铁·工业智能体
leagsoft_10038 小时前
从“策略看不清”到“风险可收敛”:某高端精密制造企业的网络安全策略治理实践
网络·web安全·制造
paopaokaka_luck8 小时前
基于Springboot3+Vue3的宠物殡葬管理系统(webSocket实时通讯、接入腾讯地图、支付宝沙盒支付、Echarts图形化分析)
java·开发语言·网络·后端
承渊政道9 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(从退化问题到信息高速公路:ResNet残差网络实战拆解)
网络·人工智能·pytorch·深度学习·resnet·chatglm·卷积
Lhappy嘻嘻9 小时前
网络初识|基础入门:局域网广域网、IP 端口、TCP/IP 五层模型与封装解封装全过程
java·开发语言·网络·笔记·网络协议·tcp/ip