MODULE m4 · 8.0 HOURS
构建隔离实验环境
已完成 0%
LEARNING OBJECTIVES
本模块目标
- 理解用于后量子密码 (PQC) 实验的隔离本地开发环境的构成原理,以及必要工具(liboqs, oqs-provider)的作用。
- 分析在 TLS 1.3 等协议中 KEM 性能对握手延迟的影响。
- 使用 Docker 容器设计并构建依赖项固定、可重现的实验环境。
隔离 PQC 实验环境的必要性
为了保护现有公钥密码(RSA, ECDH 等)免受量子计算机威胁,NIST 标准化了如 ML-KEM(基于 Kyber)及 ML-DSA(基于 Dilithium)等后量子算法。要在本地环境评估这些算法的性能与安全性,具备“密码敏捷性 (Crypto-agility)”且可重现的环境至关重要 [S2]。
1. 主要构成要素
- liboqs: 以 C 语言实现 PQC 算法的库,为测试各种 KEM 及签名算法提供基础。
- oqs-provider: 利用 OpenSSL 3 的 Provider 架构,将 PQC 算法集成至现有 TLS 基础设施的接口。
- 混合模式 (Hybrid mode): 结合现有传统密码 (ECDH) 与 PQC 算法,作为一种转换期策略,即使在 PQC 库存在潜在缺陷时也能维持现有的安全水平 [S2]。
2. 实验环境核心:隔离与可重现性
实验必须完全脱离生产环境。利用 Docker 等容器技术固定 (Locking) 依赖项版本,可以减少研究人员之间的执行结果差异,从而精确测量算法优化(如利用 AVX-512)的效果 [S2]。在进行握手性能评估时,应使用固定的硬件和隔离的网络,以最小化延迟的不确定性。
WORKED EXAMPLES
讲解示例
- 示例 1:利用 Dockerfile 构建基于 oqs-provider 的环境。说明通过明确各库版本来确保构建可重现性的方式。
- 示例 2:使用 OpenSSL CLI 进行混合 TLS 握手测试。说明使用 'openssl s_server' 和 's_client' 模拟连接支持 ML-KEM-768 的混合 TLS 1.3 的方法。
LAB PROTOCOL
构建隔离的 PQC 测试台 (Testbed)
- 1
准备实验用 Docker 容器镜像基础 (Ubuntu 22.04 LTS 及以上)。
- 2
克隆 (clone) liboqs 及 oqs-provider 源代码,并检出特定提交哈希以固定版本。
- 3
使用 CMake 编译 liboqs 时,设置优化等级(如 AVX2)并执行构建。
- 4
配置 OpenSSL 3.x 环境并激活 oqs-provider。
- 5
通过本地网络接口的固定回环连接,测量基础 TLS 1.3 握手性能指标。
安全检查
- 实验环境必须仅在本地隔离的容器内执行。
- 严禁将生产环境的证书、真实私钥及客户数据带入容器内。
- 注意编译与执行过程中生成的测量值仅视为公开测试数据,与实际安全策略无关。
- 在监控实际硬件或功率时,请遵守制造商明确规定的额定电流及电压范围。
实验提交物
- 固定依赖版本的 Dockerfile 及构建日志。
- 终端截图,展示已成功从 OpenSSL 中调用 PQC 算法列表。
- 已完成环境配置的隔离开发环境校验和 (SHA-256)。
ASSIGNMENT
PQC 测试台文档化与评估
提交物
评分标准
- 依赖项版本固定及构建可重现性 (30%)
- 在隔离实验环境中进行混合 TLS 握手的成功率 (40%)
- 算法配置与测量程序的清晰度及安全性合规 (30%)
KNOWLEDGE CHECK
理解检查
FIELD CHECK
完成标准
- 成功构成基于 Docker 的隔离构建环境。
- 完成通过 oqs-provider 进行 ML-KEM 混合模式演示。
- 提交包含实验数据测量及安全策略的报告。
MODULE SOURCES
本模块参考资料
- Faster Post-Quantum TLS 1.3 Based on ML-KEM: Implementation ...arxiv.org · paper