MODULE m4 · 8.0 HOURS
建立隔離的實驗環境
已完成 0%
LEARNING OBJECTIVES
本模組目標
- 理解用於後量子密碼 (PQC) 實驗的隔離式本地開發環境的結構原理及其必要工具 (liboqs, oqs-provider) 的角色。
- 分析 KEM 效能在 TLS 1.3 等協定中對交握 (Handshake) 延遲的影響。
- 利用 Docker 容器設計並建立具備固定依賴、可重現的實驗環境。
隔離 PQC 實驗環境的必要性
為了保護現有公開金鑰密碼 (RSA, ECDH 等) 免受量子電腦威脅,NIST 標準化了 ML-KEM (基於 Kyber) 與 ML-DSA (基於 Dilithium) 等後量子演算法。若要在本地環境評估這些演算法的效能與安全性,具備 密碼敏捷性 (Crypto-agility) 且可重現的環境是不可或缺的 [S2]。
1. 主要構成要素
- liboqs: 以 C 語言實作 PQC 演算法的函式庫,提供了可測試多種 KEM 與簽章演算法的基礎。
- oqs-provider: 使用 OpenSSL 3 的提供者架構,將 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 測試平台
- 1
準備實驗用 Docker 容器映像檔基礎 (Ubuntu 22.04 LTS 以上)。
- 2
複製 (clone) liboqs 與 oqs-provider 原始程式碼,並簽出特定的 commit hash 以固定版本。
- 3
使用 CMake 編譯 liboqs 時,設定最佳化層級 (例如 AVX2) 並執行建置。
- 4
設定 OpenSSL 3.x 環境並啟用 oqs-provider。
- 5
透過本地網路介面固定回送 (Loopback) 連線,測量基礎 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