SSL/TLS工作流程以及HTTP与HTTPS详解

文章目录

HTTP

HTTP(HyperText Transfer Protocol)超文本传输协议

http的作用

http是浏览器和网站服务器之间交流的规则

http定义了:

  1. 怎么请求数据
  2. 怎么返回数据
  3. 请求、响应的格式(比如GET、PUT等)

http的特点

  • 明文传输
  • 速度快,但完全不安全
  • 默认端口:80

http的缺点

  • 数据别人能偷看
  • 内容能篡改
  • 无法确认网站是不是真的(因为数据可能在传输过程中被掉包了,比如:把真网页换成假网页、把下载文件换成病毒)

SSL和TLS

  • SSL:Secure Sockets Layer 安全套接层
  • TLS:Transport Layer Security 传输层安全协议

两者关系:

  • SSL是老版本
  • TLS是SSL的升级版、更安全
  • 现在常说的SSL证书其实是TLS证书

作用

是一个独立的加密层

  • 加密: 数据变成乱码,别人拦截了也看不懂
  • 认证: 证明这个网站是真的
  • 防篡改: 数据中途不能被改

特点

  • 不关心传输的是什么内容
  • 只负责把传输通道加密

工作流程

1.客户端发起握手

客户端向服务器发送:

  • 支持的 TLS版本
  • 支持的 加密套件(加密算法列表)
  • 随机数A(客户端随机数

目的:告诉服务器"我能用什么加密方式"

2.服务器响应

服务器回复:

  • 选定的 TLS版本
  • 选定的 加密套件
  • 随机数B(服务器随机数
  • SSL证书 (含公钥、域名、CA签名(CA签名即权威机构给网站的防伪证明))

目的:告诉客户端"我们用这种方式加密,这是我的证书和公钥"

3.客户端验证证书

客户端检查:

  • 证书是否由可信CA签发
  • 域名是否匹配
  • 证书是否过期/被吊销

验证通过才继续,不通过的话浏览器直接拦截

4.客户端生成预主密钥、交换密钥

  • 客户端生成随机数C(预主密钥)
  • 服务器公钥加密随机数C,发给服务器
  • 服务器用自己的私钥解密,得到随机数C

现在:

客户端和服务器同时拥有 A、B、C 三个随机数

双方用这三个数算出相同的会话密钥。

5.双方通知切换加密,握手完成

  1. 客户端发送:
    • 以后我都用会话密钥加密通信
  2. 服务器发送:
    • 我也是,以后全部加密
  3. SSL/TLS握手完成
  4. 之后传输HTTP数据,全部加密
核心原理
  • 非对称加密(公钥+私钥): 只用来交换密钥
  • 对称加密(会话密钥): 真正用来传输数据
  • 原因:非对称加密慢,对称加密快,结合起来最安全高效

HTTPS

HTTPS = HTTP + SSL/TLS

不是新协议,是HTTP套上了SSL加密外壳

作用

在http原本功能的基础上,增加了:

  • 加密
  • 身份验证
  • 数据完整性

默认端口

https的默认端口为443

HTTP、SSL/TLS、HTTPS关系

HTTPS 就是 HTTP 运行在 SSL/TLS 之上

相关推荐
猫头_5 小时前
AI 流式传输工程指南:有了 EventSource 为何还要 Fetch?
javascript·http·llm
Chloeis Syntax5 小时前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
触底反弹20 小时前
前后端通信不是魔法,是 HTTP 协议、数据格式和浏览器安全机制共同演奏的交响曲
http·https·浏览器
山顶夕景1 天前
【MAE】音频自监督训练Masked Autoencoders that Listen
音视频·ssl·多模态·自监督·mae
froyoisle1 天前
阿里云免费 SSL 证书申请及配置
服务器·阿里云·ssl·网站
逑之1 天前
HTTP、HTTPS2
网络·网络协议·http
YYYing.1 天前
【C++大型项目之高性能服务器框架 (九) 】协议抽象与Http服务器模块
服务器·c++·http·高性能·c/c++·后端框架
_waylau1 天前
Spring Framework HTTP服务客户端详解
java·后端·网络协议·spring·http·spring cloud
Android-Flutter1 天前
Android的http和https知识点
android·http·https
爱刷碗的苏泓舒1 天前
网络通信入门之 NTRIP、HTTP、TCP 与 IP 的关系:协议分层、连接过程以及实时数据流
网络协议·tcp/ip·http·网络通信·rtcm·监控运维·ntrip