当前位置: 首页 > article >正文

HTTPS协议简述

HTTPS 协议简介

HTTPS 是 HTTP + Security 的组合,即在 HTTP 的基础上加入了安全性机制,主要通过加密传输、身份认证和数据完整性保护来确保通信的安全性。

为了实现这一目标,HTTPS 引入了 加密技术,包括对称加密、非对称加密和数字证书机制。


1. 对称加密

概念

对称加密是一种加密方式,服务器和客户端共用一个密钥。信息通过密钥进行加密和解密,密钥本身也需要在双方之间传递。

优点
  • 算法简单,效率高。
缺陷
  • 密钥分发问题:服务器需要将密钥发送给客户端。如果密钥以明文形式传输,可能被黑客劫持,导致通信内容被篡改或窃取。

2. 非对称加密

概念

非对称加密使用一对公钥和私钥,其中:

  • 公钥:可公开,用于加密数据。
  • 私钥:仅自己保管,用于解密数据。
工作流程
  1. 服务器生成一对公钥和私钥,并将公钥发送给客户端。
  2. 客户端随机生成一个对称加密的密钥,并用服务器的公钥对其加密。
  3. 加密后的对称加密密钥传回服务器,服务器用私钥解密,获取该密钥。
  4. 后续通信使用该对称加密密钥进行加密和解密,提升效率。
优点
  • 解决了密钥明文传输的问题,确保密钥的安全性。
缺陷
  • 中间人攻击
    如果黑客拦截了服务器的公钥,并伪造一对公钥和私钥传递给客户端,那么客户端会用伪造的公钥加密数据,黑客可以解密这些数据,窃取或篡改后再传给服务器。
    核心问题在于:客户端无法确认公钥的真实来源。

3. CA 机构与数字证书

概念

CA(Certificate Authority)是数字证书认证机构,用于解决公钥来源不明的问题。
服务器的公钥需要由 CA 进行签名,生成 数字证书,数字证书可以帮助客户端验证公钥的真实性。

工作流程
  1. 服务器生成证书申请
    • 服务器将自己的公钥和其他信息(如域名)提交给 CA 机构,申请签名。
  2. CA 签名
    • CA 使用自己的私钥对服务器提交的信息进行签名,并生成数字证书。
    • 数字证书包含服务器的公钥、域名信息、有效期,以及 CA 的签名。
  3. 客户端验证证书
    • 客户端收到服务器的数字证书后,会用 CA 的公钥验证签名是否有效。
    • 如果验证成功,则说明服务器的公钥是可信的;否则,提示用户证书异常。
优点
  • 确保公钥的来源可信,防止中间人攻击。
缺陷
  • CA 机构可能被人为控制,若 CA 对黑客签发虚假证书,也可能导致安全问题。

4. HTTPS 的完整工作流程

  1. 客户端发起 HTTPS 请求,服务器返回数字证书。
  2. 客户端验证证书:检查证书的合法性,包括签名有效性和域名匹配。
  3. 验证通过后,客户端生成对称加密密钥,用服务器公钥加密后发送给服务器。
  4. 服务器用私钥解密,获取对称加密密钥。
  5. 后续通信使用对称加密进行加密和解密。

5. 补充机制:签名服务器

签名服务器可以进一步增强安全性,避免 CA 单点故障或人为控制的问题。具体原理较复杂,常结合区块链技术,实现分布式的可信签名。


http://www.kler.cn/a/514630.html

相关文章:

  • RV1126+FFMPEG推流项目源码
  • Django 的 `Meta` 类和外键的使用
  • 备赛蓝桥杯之第十五届职业院校组省赛第二题:分享点滴
  • kotlin的协程的基础概念
  • 查看电脑或笔记本CPU的核心数方法及CPU详细信息
  • 【0x04】HCI_Connection_Request事件详解
  • Flask基础和URL映射
  • 【spring专题】编译spring5.3源码
  • 如何给自己的域名配置免费的HTTPS How to configure free HTTPS for your domain name
  • ERP系统的财务会计基础知识:财务管理
  • Kmeans与KMedoids聚类对比以及python实现
  • C语言中危险函数
  • JMeter 测试Dubbo 接口
  • Win10系统部署RabbitMQ Server
  • linux系统安装vmware workstation
  • Laravel 请求接口 调用2次
  • TS报错解决:不能将类型“string | null”分配给类型“string | undefined”
  • 2025年最新电子制造行业CRM售后管理解决方案
  • SCSS概念及使用
  • 我的2024:创作历程与成长总结
  • 【0x05】HCI_Disconnection_Complete事件详解
  • GD32L233RB 驱动数码管
  • 从工厂到桌面:3D打印制造潮玩手办
  • [MySQL]MySQL数据库的介绍和库相关操作
  • SimpleFOC STM32教程09|基于STM32F103+CubeMX,ADC采样相电流
  • PAT (Basic Level) Practice 乙级1041-1045