2025-03-14

非对称加密:SSL/TLS握手的数学基石


1. 密钥交换的密码学困局

在未加密的HTTP通信中,攻击者可通过中间人攻击(MITM)窃听或篡改数据。SSL/TLS协议的核心挑战在于:如何在不安全的信道上建立安全通信?这本质上是一个“密钥分发问题”——若使用对称加密(如AES),双方需要共享同一密钥,但密钥本身如何安全传递?


非对称加密的突破性在于**公钥与私钥的分离**。以RSA算法为例,其数学基础是大质数分解难题:选择两个大质数p和q(通常≥2048位),计算n=p×q,公钥为(n,e),私钥为(n,d)。加密过程为 $c = m^e \mod n$,解密为 $m = c^d \mod n$,其中e与d满足 $e×d ≡ 1 \mod φ(n)$。攻击者即使截获公钥,也无法在多项式时间内分解n得到私钥。


2. TLS握手:从非对称到对称的密钥传递

在TLS 1.2握手流程中(以RSA密钥交换为例):

1. ClientHello:客户端发送支持的密码套件列表和随机数(Client Random)

2. ServerHello:服务器选择密码套件,发送证书和随机数(Server Random)

3. 密钥交换:客户端生成Pre-Master Secret(46字节随机数),用服务器公钥加密后发送

4. 密钥派生:双方通过PRF函数将Client Random、Server Random和Pre-Master Secret生成Master Secret,最终导出对称密钥(如AES-256-GCM)


此过程的安全性依赖两个层级:

-短期安全性:Pre-Master Secret的加密强度(RSA-2048破解需数千年)

长期安全性:证书私钥的存储安全(HSM硬件模块防护)



3. ECC:更高效的量子前哨站

椭圆曲线密码(ECC)在相同安全强度下,密钥长度仅为RSA的1/6:

| 安全级别 | RSA密钥长度 | ECC密钥长度 |

|----------|-------------|-------------|

| 128-bit  | 3072-bit    | 256-bit     |

| 256-bit  | 15360-bit   | 512-bit     |


以ECDHE密钥交换为例:

- 服务器生成临时椭圆曲线参数(如secp256r1)和私钥$d_S$

- 计算公钥$Q_S = d_S×G$(G为基点),发送给客户端

- 客户端生成私钥$d_C$,计算$Q_C = d_C×G$,共享密钥为$d_C×Q_S = d_S×Q_C$

Cloudflare实测显示,ECC使TLS握手速度提升15%,移动设备能耗降低22%。

4. 前向保密(PFS):会话密钥的“阅后即焚”

传统RSA密钥交换的隐患:若服务器私钥泄露,所有历史通信均可被解密。PFS通过临时密钥(Ephemeral Key)解决此问题:

DHE_RSA:每次会话生成新Diffie-Hellman参数

ECDHE_RSA:结合ECC的高效性与临时密钥特性


TLS 1.3已强制要求PFS,并废除静态RSA密钥交换。某银行在2017年升级至ECDHE后,即使遭遇APT攻击,历史交易数据仍未被破解。


5. 实战中的风险与防御  

-Logjam攻击(2015):攻击者降级TLS至512位出口级DH参数,通过预计算破解。防御措施:禁用DHE导出级密码套件,使用≥2048位DH参数

ROBOT攻击(2017):RSA填充漏洞导致选择明文攻击。解决方案:启用RSA-PSS填充模式,禁用PKCS#1 v1.5

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一 TTP和HTTPS发展历史 1.1 什么是 HTTP? 全称是Hypertext Transfer Proto...
    路飞_Luck阅读 5,334评论 1 16
  • 一、HTTPS风险 1.1 风险一: 网络嗅探与监听 用wireshark抓包时发现,途径终端ip的所有http报...
    tsteam阅读 3,459评论 0 0
  • 1 公钥私钥 2 公钥加密 别人用A的公钥加密传输的信息,只有A的私钥可以解密。保证了传输的信息的安全性。 2 私...
    skykira阅读 4,489评论 0 1
  • 本篇主要介绍笔者在iOS开发工作中用到的加解密算法的使用,主要包括:1)对称加密算法:AES、DES、3DES2)...
    江山风雨阅读 10,508评论 1 5
  • 前言 最近看了一篇关于逆向实战的文章:来谈谈iOS逆向工程之App脱壳[https://juejin.cn/pos...
    秃头少女_阅读 4,202评论 0 1