1. 课程导论:后量子密码迁移的背景与紧迫性

1.1 为什么我们坐在这里?—— 量子威胁不是科幻片

各位好,我是这门课的主讲。在安全架构这个行当里摸爬滚打了十几年,我见过太多「狼来了」的故事。但量子计算对现有密码体系的冲击,是我个人认为最真实、最迫在眉睫的一次。

说白了,我们现在用的 RSA、ECC、DSA,它们的数学安全根基——大整数分解和离散对数——在 Shor 算法面前,就像纸糊的一样。一台足够稳定的量子计算机,理论上可以在几小时内瓦解我们今天保护了数十年的公钥体系。

你可能会问:「那台机器还没造出来吧?」没错,但有两个问题让我睡不着觉:

  • 先存储,后解密(Harvest Now, Decrypt Later):攻击者现在就在大量收集加密通信数据。等量子计算机成熟,他们回头就能解密。你的机密数据,可能已经躺在别人的硬盘里了。
  • 迁移周期极长:我经历过从 3DES 到 AES 的迁移,也经历过从 MD5/SHA-1 到 SHA-2 的升级。每一次都花了 5-10 年。密码系统的替换,不是改个配置文件那么简单,它涉及协议、硬件、软件、合规、供应链……
⚠️ 核心判断: 密码迁移的窗口期,可能比量子计算机到来的时间更短。如果你现在不开始规划,等到「那一天」再动手,就晚了。

1.2 远程证明:信任链的起点

这门课聚焦在「远程证明」这个场景。什么是远程证明?我举个实际例子。

我在做 TEE(可信执行环境)项目时,经常需要向远程服务器证明:「我这边运行的确实是预期的、未被篡改的代码。」这个过程不能靠嘴说,必须靠密码学证据。

远程证明的核心流程,大致是这样的:

  1. 验证者(Verifier) 向 证明者(Prover) 发送一个随机数(Nonce)。
  2. 证明者 收集自身的度量值(如代码哈希、配置信息),结合 Nonce,用私钥签名,生成一个 证明报告(Attestation Report)。
  3. 验证者 用公钥验证签名,并检查度量值是否与预期一致。

这个过程中,签名算法和公钥基础设施(PKI)是整个信任链的基石。如果签名算法被量子计算机攻破,那整个远程证明就形同虚设。

一句话总结: 远程证明的「信任锚点」是密码学。量子计算威胁的是这个锚点本身。

1.3 课程目标:不只是「知道」,而是「能动手」

这门课不是纯理论课。我的目标是,学完之后你能:

  • 理解:为什么现有的远程证明方案(如 Intel SGX/AMD SEV 的 EPID/ECDSA)在量子时代会失效。
  • 评估:针对你的业务场景,选择合适后量子密码(PQC)算法(如 CRYSTALS-Dilithium、FALCON、SPHINCS+)。
  • 迁移:在真实的远程证明协议(如 IETF RATS 架构)中,用 PQC 算法替换传统算法,并处理性能、带宽、兼容性等工程问题。
  • 避坑:知道哪些「坑」我踩过,比如混合方案的设计、密钥轮换策略、以及合规要求。

1.4 学习路径:我们怎么走完这 30 章?

我把课程分成了四个阶段,你可以把它想象成一次「密码迁移工程」的实战推演。

课程知识体系与学习路径图 阶段一:基础与威胁 第1-5章 阶段二:算法与协议 第6-15章 阶段三:工程与迁移 第16-25章 阶段四:实战与展望 第26-30章 核心内容 量子威胁模型 远程证明基础 PQC 算法概览 核心内容 Dilithium / FALCON IETF RATS 架构 混合方案设计 核心内容 性能基准测试 密钥管理与轮换 兼容性改造 核心内容 端到端迁移案例 合规与审计 未来趋势 每个阶段都包含理论讲解 + 代码实战 + 避坑指南 最终目标:独立完成一个远程证明系统的 PQC 迁移

嗯,这张图基本就是我们这 30 章的路线图。我个人建议你按顺序学,尤其是前两个阶段,基础打不牢,后面工程实战会非常痛苦。

1.5 一个重要的提醒:关于「迁移」的认知

我曾经参与过一个大型 PKI 系统的升级项目。当时团队觉得「只是换个算法嘛,很简单」。结果呢?

  • 硬件安全模块(HSM)不支持新算法,需要固件升级,甚至换硬件。
  • 协议栈里硬编码了算法 OID,改一处要动全身。
  • 性能测试发现,新算法的签名速度慢了 10 倍,导致服务端 CPU 直接打满。

所以,这门课里我会反复强调一个观点:密码迁移,本质上是系统工程,不是密码学问题。 算法只是其中一环,协议、性能、兼容性、运维、合规,缺一不可。

💡 我的习惯: 在开始任何迁移项目前,先画一张「当前系统密码学资产地图」,列出所有使用密码学的地方(签名、加密、哈希、密钥协商),然后逐一评估量子风险。这个习惯帮我避免了很多「漏网之鱼」。

1.6 你需要准备什么?

为了跟上课程节奏,我假设你具备以下基础:

领域 具体要求
密码学基础 理解公钥密码、数字签名、哈希函数的基本原理。知道 RSA/ECC 是怎么工作的。
编程能力 能阅读和编写 Python 或 Go 代码。我们会用 OpenQuantumSafe (liboqs) 库做实验。
系统架构 了解客户端-服务器模型、TLS 协议、以及基本的 PKI 概念。
学习态度 愿意动手。只看不练,你永远学不会迁移。

如果你对某个点不太熟,别担心。我会在课程中穿插必要的背景知识,并给出参考资料。但如果你完全不懂公钥密码,建议先补一下基础。

1.7 写在开始之前

这门课是我多年在安全架构和远程证明领域摸爬滚打的经验总结。里面有很多「我曾经踩过的坑」,也有不少「我个人觉得好用的工具和思路」。我希望它能成为你进行 PQC 迁移时的一本实用手册,而不是一本枯燥的教科书。

准备好了吗?我们开始吧。