Linux——网络(https)

目录

一、https

1. HTTPS的核心目标

2. HTTPS vs HTTP

3. SSL/TLS协议

TLS握手流程(以RSA密钥交换为例)

4. 数字证书与CA

5. 加密技术

6. HTTPS性能优化

7. 常见问题

8. 配置最佳实践

9. 未来趋势

二、加密过程

1. 总体流程概览

2. TLS 握手阶段(密钥协商)

步骤 1:Client Hello

步骤 2:Server Hello

步骤 3:证书验证

步骤 4:密钥交换

步骤 5:生成会话密钥

步骤 6:握手完成

3. 数据传输阶段(对称加密)

4. 关键加密技术

非对称加密(握手阶段)

对称加密(传输阶段)

哈希算法

5. 前向保密(Forward Secrecy)

6. TLS 1.3 的改进

7. 加密过程示例(TLS 1.3)

8. 为什么混合使用对称和非对称加密?

9. 常见攻击与防御

三、对比http和https

1. 基础概念

2. 核心区别

3. HTTPS 如何保障安全?

4. HTTPS 工作原理(简化流程)

5. 常见问题

6. 为什么 HTTPS 是未来趋势?

四、设计安全法案

1、技术原理简介

2、安全方案设计

3、优势分析

总结


一、https

1. HTTPS的核心目标

  • 数据加密:防止第三方窃听或篡改通信内容。

  • 身份认证:通过数字证书验证服务器身份,防止中间人攻击。

  • 数据完整性:确保数据在传输过程中未被修改。


2. HTTPS vs HTTP

特性 HTTP HTTPS
协议 明文传输,无加密 加密传输(SSL/TLS)
端口 80 443
安全性 易受窃听、篡改、中间人攻击 加密、身份认证、数据完整性保护
性能 无加密开销,速度更快 因加密/解密略慢,但现代优化已大幅降低影响

3. SSL/TLS协议

HTTPS的安全基础是SSL(Secure Sockets Layer) 或 TLS(Transport Layer Security) 协议(TLS是SSL的升级版,现主要使用TLS 1.2/1.3)。

TLS握手流程(以RSA密钥交换为例)
  1. Client Hello

    • 客户端发送支持的TLS版本、加密套件列表、随机数(Client Random)。

  2. Server Hello

    • 服务端选择TLS版本、加密套件,发送随机数(Server Random)和数字证书。

  3. 证书验证

    • 客户端验证证书合法性(是否由可信CA签发,域名是否匹配,是否过期等)。

  4. 密钥交换

    • 客户端生成预主密钥(Pre-Master Secret),用证书公钥加密后发送给服务端。

  5. 生成会话密钥

    • 双方通过Client Random、Server Random和Pre-Master Secret生成对称密钥(Session Key)。

  6. 加密通信

    • 后续数据传输使用Session Key进行对称加密(如AES)。

TLS 1.3优化:简化握手流程,支持0-RTT(零往返时间),减少延迟。


4. 数字证书与CA

  • 数字证书:包含服务器公钥、域名、签发机构(CA)、有效期等信息。

  • CA(Certificate Authority):受信任的第三方机构(如Let's Encrypt、DigiCert),负责验证服务器身份并签发证书。

  • 证书链:根CA → 中间CA → 服务器证书,浏览器通过预置的根证书信任链验证合法性。

  • 自签名证书:未通过CA签发,浏览器会提示不安全,仅用于测试或内部环境。


5. 加密技术

  • 对称加密(如AES、ChaCha20):加密和解密使用同一密钥,速度快,用于传输数据。

  • 非对称加密(如RSA、ECC):公钥加密、私钥解密,用于密钥交换和身份认证。

  • 哈希算法(如SHA-256):确保数据完整性,防止篡改。


6. HTTPS性能优化

  • 会话恢复(Session Resumption):通过Session ID或Session Ticket复用之前协商的密钥,减少握手开销。

  • OCSP Stapling:服务端主动提供证书状态信息,避免客户端查询OCSP服务器。

  • TLS 1.3:减少握手步骤,支持更高效的加密算法。

  • HSTS(HTTP Strict Transport Security):强制浏览器使用HTTPS,避免降级攻击。


7. 常见问题

  • 混合内容(Mixed Content):HTTPS页面中加载HTTP资源(如图片、脚本),浏览器会阻止或警告。

  • 证书过期:需定期更新证书(自动化工具如Certbot可解决)。

  • 中间人攻击:伪造证书或CA可能被利用,需确保证书链完整可信。


8. 配置最佳实践

  1. 使用TLS 1.2/1.3,禁用不安全的协议(如SSLv3、TLS 1.0/1.1)。

  2. 选择强加密套件(如ECDHE-ECDSA-AES128-GCM-SHA256)。

  3. 启用HTTP到HTTPS的自动重定向(301/302)。

  4. 配置HSTS头(Strict-Transport-Security: max-age=31536000; includeSubDomains)。

  5. 定期更新证书,推荐自动化工具(如Let's Encrypt)。


9. 未来趋势

  • TLS 1.3普及:更安全、更高效。

  • 量子安全加密:应对量子计算机威胁的新算法(如抗量子加密算法)。

  • Certificate Transparency:增强证书签发透明度,防止恶意证书。


二、加密过程

1. 总体流程概览

HTTPS 加密分为两个阶段:

  1. TLS 握手阶段:通过非对称加密交换密钥,验证身份。

  2. 数据传输阶段:使用对称加密密钥加密通信内容。


2. TLS 握手阶段(密钥协商)

步骤 1:Client Hello
  • 客户端向服务端发送以下信息:

    • 支持的 TLS 版本(如 TLS 1.2/1.3&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃喵的鲤鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值