1. 课程导论:后量子密码迁移的背景与紧迫性
1.1 为什么我们坐在这里?—— 量子威胁不是科幻片
各位好,我是这门课的主讲。在安全架构这个行当里摸爬滚打了十几年,我见过太多「狼来了」的故事。但量子计算对现有密码体系的冲击,是我个人认为最真实、最迫在眉睫的一次。
说白了,我们现在用的 RSA、ECC、DSA,它们的数学安全根基——大整数分解和离散对数——在 Shor 算法面前,就像纸糊的一样。一台足够稳定的量子计算机,理论上可以在几小时内瓦解我们今天保护了数十年的公钥体系。
你可能会问:「那台机器还没造出来吧?」没错,但有两个问题让我睡不着觉:
- 先存储,后解密(Harvest Now, Decrypt Later):攻击者现在就在大量收集加密通信数据。等量子计算机成熟,他们回头就能解密。你的机密数据,可能已经躺在别人的硬盘里了。
- 迁移周期极长:我经历过从 3DES 到 AES 的迁移,也经历过从 MD5/SHA-1 到 SHA-2 的升级。每一次都花了 5-10 年。密码系统的替换,不是改个配置文件那么简单,它涉及协议、硬件、软件、合规、供应链……
1.2 远程证明:信任链的起点
这门课聚焦在「远程证明」这个场景。什么是远程证明?我举个实际例子。
我在做 TEE(可信执行环境)项目时,经常需要向远程服务器证明:「我这边运行的确实是预期的、未被篡改的代码。」这个过程不能靠嘴说,必须靠密码学证据。
远程证明的核心流程,大致是这样的:
- 验证者(Verifier) 向 证明者(Prover) 发送一个随机数(Nonce)。
- 证明者 收集自身的度量值(如代码哈希、配置信息),结合 Nonce,用私钥签名,生成一个 证明报告(Attestation Report)。
- 验证者 用公钥验证签名,并检查度量值是否与预期一致。
这个过程中,签名算法和公钥基础设施(PKI)是整个信任链的基石。如果签名算法被量子计算机攻破,那整个远程证明就形同虚设。
1.3 课程目标:不只是「知道」,而是「能动手」
这门课不是纯理论课。我的目标是,学完之后你能:
- 理解:为什么现有的远程证明方案(如 Intel SGX/AMD SEV 的 EPID/ECDSA)在量子时代会失效。
- 评估:针对你的业务场景,选择合适后量子密码(PQC)算法(如 CRYSTALS-Dilithium、FALCON、SPHINCS+)。
- 迁移:在真实的远程证明协议(如 IETF RATS 架构)中,用 PQC 算法替换传统算法,并处理性能、带宽、兼容性等工程问题。
- 避坑:知道哪些「坑」我踩过,比如混合方案的设计、密钥轮换策略、以及合规要求。
1.4 学习路径:我们怎么走完这 30 章?
我把课程分成了四个阶段,你可以把它想象成一次「密码迁移工程」的实战推演。
嗯,这张图基本就是我们这 30 章的路线图。我个人建议你按顺序学,尤其是前两个阶段,基础打不牢,后面工程实战会非常痛苦。
1.5 一个重要的提醒:关于「迁移」的认知
我曾经参与过一个大型 PKI 系统的升级项目。当时团队觉得「只是换个算法嘛,很简单」。结果呢?
- 硬件安全模块(HSM)不支持新算法,需要固件升级,甚至换硬件。
- 协议栈里硬编码了算法 OID,改一处要动全身。
- 性能测试发现,新算法的签名速度慢了 10 倍,导致服务端 CPU 直接打满。
所以,这门课里我会反复强调一个观点:密码迁移,本质上是系统工程,不是密码学问题。 算法只是其中一环,协议、性能、兼容性、运维、合规,缺一不可。
1.6 你需要准备什么?
为了跟上课程节奏,我假设你具备以下基础:
| 领域 | 具体要求 |
|---|---|
| 密码学基础 | 理解公钥密码、数字签名、哈希函数的基本原理。知道 RSA/ECC 是怎么工作的。 |
| 编程能力 | 能阅读和编写 Python 或 Go 代码。我们会用 OpenQuantumSafe (liboqs) 库做实验。 |
| 系统架构 | 了解客户端-服务器模型、TLS 协议、以及基本的 PKI 概念。 |
| 学习态度 | 愿意动手。只看不练,你永远学不会迁移。 |
如果你对某个点不太熟,别担心。我会在课程中穿插必要的背景知识,并给出参考资料。但如果你完全不懂公钥密码,建议先补一下基础。
1.7 写在开始之前
这门课是我多年在安全架构和远程证明领域摸爬滚打的经验总结。里面有很多「我曾经踩过的坑」,也有不少「我个人觉得好用的工具和思路」。我希望它能成为你进行 PQC 迁移时的一本实用手册,而不是一本枯燥的教科书。
准备好了吗?我们开始吧。