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

计算机网络学习----Https协议

        在互联网通信中,数据安全始终是核心需求。当用户在浏览器中输入https://访问网站时,背后隐藏着一套复杂的安全机制 ——HTTPS(Hypertext Transfer Protocol Secure)。它通过 TLS/SSL 协议对 HTTP 通信加密,而支撑这一加密体系的核心正是证书体系。本文将详细解析 HTTPS 的证书体系、加密通信流程、核心作用、优缺点,并结合代码示例说明其实现逻辑。​

        HTTPS 是什么?​HTTPS(超文本传输安全协议)是 HTTP 的安全扩展,通过TLS(Transport Layer Security,传输层安全协议,前身为 SSL) 对数据进行加密处理,实现客户端与服务器之间的机密性、完整性和身份认证。​简单来说,HTTP 是 “明文通信”,数据在传输过程中可能被窃听、篡改或伪造;而 HTTPS 通过加密让数据变成 “密文”,同时验证通信双方的身份,确保数据仅被目标接收方解读,且未被中途篡改。​

        HTTPS 的安全依赖于公钥基础设施(PKI,Public Key Infrastructure),其核心是证书体系,由以下关键组件构成:​

(1)数字证书:由权威机构(CA)颁发的电子文件,包含网站域名、公钥、CA 签名、有效期等信息,用于证明 “公钥属于该域名”。​

(2)CA(Certificate Authority,证书颁发机构):受信任的第三方机构(如 Let's Encrypt、DigiCert),负责验证网站身份并颁发证书,同时对证书进行数字签名。​

(3)公钥与私钥:非对称加密算法中的一对密钥。公钥公开存储在证书中,用于加密数据或验证签名;私钥由服务器秘密保存,用于解密数据或生成签名。​

(4)证书链:当证书由中间 CA 颁发时,需通过 “中间 CA 证书→根 CA 证书” 的链条验证,根 CA 证书是整个信任体系的起点(预装在操作系统或浏览器中)。​

        证书体系的核心是通过数字签名实现身份可信,其原理基于非对称加密和哈希算法,流程可分为 “证书颁发” 和 “证书验证” 两部分。​

(一)证书颁发过程(CA 视角)​

        当网站所有者申请证书时,CA 需完成以下步骤:​

(1)网站所有者生成一对非对称密钥(公钥 + 私钥),并将公钥、域名等信息提交给 CA。​

(2)CA 验证网站所有权(如通过 DNS 解析、文件验证等方式确认申请者确实控制该域名)。​

(3)CA 对 “公钥 + 域名 + 有效期” 等信息进行哈希计算,得到信息摘要。​

(4)CA 用自己的私钥对信息摘要加密,生成数字签名,并将签名与原始信息组合,形成数字证书。​

(5)CA 将证书颁发给网站所有者,网站将证书部署在服务器上。​

(二) 证书验证过程(客户端视角)​

        当客户端(浏览器)访问 HTTPS 网站时,需验证服务器证书的合法性:​

(1)服务器将证书发送给客户端。​

(2)客户端从证书中提取 “公钥 + 域名 + 签名” 等信息,同时获取颁发该证书的 CA 公钥(来自系统预装的根 CA 或中间 CA 证书)。​

(3)客户端用 CA 公钥解密证书上的数字签名,得到信息摘要 A。​

(4)客户端对证书中的原始信息(公钥、域名等)重新进行哈希计算,得到信息摘要 B。​

(5)对比 A 与 B:若一致,说明证书未被篡改且确实由该 CA 颁发,公钥可信;若不一致,证书无效,浏览器提示 “不安全”。​

        HTTPS 的加密通信需在 TCP 握手后完成TLS 握手,最终通过对称加密传输数据。以 TLS 1.2 为例,流程如下:​

(一)客户端问候(Client Hello)​

        客户端向服务器发送支持的 TLS 版本、加密套件(如 ECDHE-RSA-AES256-GCM-SHA384)、随机数(Client Random)等信息。​

(二)服务器回应(Server Hello)​

        服务器选择双方都支持的 TLS 版本和加密套件,返回服务器随机数(Server Random)、服务器证书(含公钥)。​

(三)客户端验证证书并生成预主密钥​

        客户端验证服务器证书(过程见上文 “证书验证”),确认合法后生成预主密钥(Pre-Master Secret),并用服务器证书中的公钥加密预主密钥,发送给服务器。​

(四)服务器解密并生成会话密钥​

        服务器用自己的私钥解密预主密钥,此时客户端和服务器均拥有三个值:Client Random、Server Random、Pre-Master Secret。双方通过相同算法(如 PRF 函数)从这三个值中生成会话密钥(Master Secret),用于后续对称加密。​

(五)握手完成,加密通信​

        客户端和服务器分别发送 “握手完成” 消息(用会话密钥加密),确认后续数据将通过对称加密传输。至此,TLS 握手结束,双方开始用会话密钥加密 HTTP 数据,实现机密通信。​

        关键逻辑:非对称加密(公钥 + 私钥)仅用于传输 “会话密钥”,而实际数据传输用对称加密(会话密钥),既保证了密钥传输的安全性,又兼顾了通信效率(对称加密速度远快于非对称加密)。​

        HTTPS 与证书体系的作用有很多:​

(1)数据机密性:通过对称加密确保数据在传输过程中无法被窃听(即使被截取,没有会话密钥也无法解密)。​

        例:用户输入的密码、支付信息在传输中不会被黑客获取。​

(2)身份认证:通过证书验证确认服务器身份,防止 “钓鱼网站” 冒充合法网站。​        

        例:用户访问https://bank.com时,浏览器通过证书确认服务器确实是银行官方,而非伪造的钓鱼页面。​

(3)数据完整性:通过哈希算法和数字签名确保数据未被篡改(篡改后哈希值会变化,验证时会失败)。​

        例:黑客无法修改传输中的订单金额,因为篡改会被客户端检测到。​

(4)信任背书:根 CA 的预装信任机制让普通用户无需手动验证,降低了安全使用门槛。​

        HTTPS 与证书体系的优缺点​有很多,其中优点有:

(1)安全性显著提升:从根本上解决 HTTP 明文传输的安全隐患,是电子商务、金融等领域的必备技术。​

(2)用户信任增强:浏览器对 HTTPS 网站显示 “锁图标”,提升用户对网站的信任度(搜索引擎也会优先收录 HTTPS 网站)。​

(3)标准化与兼容性:TLS 协议被广泛支持,几乎所有浏览器、服务器都兼容,部署成本逐渐降低(如 Let's Encrypt 提供免费证书)。​

        缺点​则如下:

(1)性能开销:TLS 握手需要额外的网络交互(约 1-2 个 RTT),且加密解密会消耗服务器 CPU 资源(尽管 TLS 1.3 已优化握手流程)。​

(2)证书管理成本:企业需定期更新证书(避免过期),大型网站还需部署证书吊销机制(如 OCSP),增加运维复杂度。​

(3)根信任风险:若根 CA 私钥泄露或被恶意使用,可能导致伪造证书无法被检测(历史上曾发生过 CA 被入侵的案例)。​

(4)部分场景冗余:对于纯静态、无敏感数据的网站,HTTPS 的安全收益可能低于性能开销。

http://www.lryc.cn/news/597385.html

相关文章:

  • 直接偏好优化(DPO):原理、演进与大模型对齐新范式
  • python-82-基于ORM操作数据库(一)简单模型CRUD
  • UniappDay01
  • JavaWeb笔记12
  • MySQL深度理解-深入理解MySQL索引底层数据结构与算法
  • 容联云携手信通院,启动“智能体服务生态共创计划”
  • 华为云ELB(弹性负载均衡)持续报异常
  • 2025年Zigbee技术白皮书:全球物联网无线通信的关键创新
  • HF86611_VC1/HF86611Q_VC1:多通道USB HiFi音频解码器固件技术解析
  • 【自动化运维神器Ansible】深入解析Ansible Host-Pattern:精准控制目标主机的艺术
  • .Net core 部署到IIS出现500.19Internal Server Error 解决方法
  • Ubuntu系统下FFmpeg源码编译安装
  • 内网穿透技术深析:从原理到工具应用的全方位解读,无公网IP本地服务器外网访问实操
  • IGM弧焊机器人气体节约
  • 【数据结构】哈希——位图与布隆过滤器
  • 彩色转灰度的核心逻辑:三种经典方法及原理对比
  • zabbix监控MySQL数据库
  • 企业选择将服务器放在IDC机房托管的优势
  • React+Three.js实现3D场景压力/温度/密度分布可视化
  • Spring Boot与Python的联动:实战案例解析
  • 【智能模型系列】Unity通过访问Ollama调用DeepSeek模型进行本地部署
  • AI产品经理面试宝典第46天:模型评估与Prompt工程核心考点解析
  • Elasticsearch整合:Repository+RestClient双模式查询优化
  • iOS加固工具有哪些?企业级团队协作视角的实战分析
  • Swing-JFrame
  • 实用的逻辑工具——文氏图和真值表,通过这两个工具,可以把复杂的逻辑关系用图形或表格的形式直观地表示出来
  • Docker 启动 PostgreSQL 主从架构:实现数据同步的高效部署指南
  • k8s:docker compose离线部署haborV2.13.1及采用外部的postgresql及redis数据库
  • Docker 应用数据备份、迁移方案
  • SQL171 零食类商品中复购率top3高的商品