TL;DR — PQC migration sẽ không fail vì thiếu thuật toán. Nó sẽ fail vì không có inventory, không có abstraction layer, và cryptography bị hard-code khắp nơi.
Mục lục
- Harvest Now, Decrypt Later không còn là giả thuyết
- NIST đã chuẩn hóa Post-Quantum Cryptography
- Crypto-Agility thực sự là gì?
- Production Reality: PQC không chỉ là cryptography
- Thiết kế Crypto-Agility đúng cách
- OpenSSL 3 Provider Model
- Hybrid Cryptography: không đơn giản là "kết hợp"
- Inventory – phần khó nhất của toàn bộ migration
- Historical lesson: crypto migration luôn chậm hơn dự kiến
- Failure modes trong thực tế
- Roadmap triển khai thực tế
- Mindset quan trọng nhất
1. Harvest Now, Decrypt Later không còn là giả thuyết
Trong nhiều năm, phần lớn hệ thống Internet dựa vào RSA và Elliptic Curve Cryptography (ECC) để bảo vệ:
- TLS traffic
- VPN tunnel
- Database backup
- Cloud storage
- Certificate infrastructure
- Secure messaging
Nhưng quantum computer đang thay đổi hoàn toàn mô hình đe dọa này.
Kẻ tấn công không cần phá mã ngay hôm nay. Chúng chỉ cần thu thập dữ liệu mã hóa và lưu lại. Khi quantum đủ mạnh để chạy Shor's Algorithm ở quy mô thực tế, dữ liệu cũ có thể bị giải mã ngược lại.
Đây chính là mô hình:
⚠️ Harvest Now, Decrypt Later (HNDL)
Điểm nguy hiểm nằm ở vòng đời dữ liệu:
| Loại dữ liệu | Vòng đời |
|---|---|
| Hồ sơ y tế | 10–20 năm |
| Tài liệu tài chính | 7–10 năm |
| Bí mật thương mại | Vô thời hạn |
| Root CA / Certificate chain | 5–20 năm |
| Backup hệ thống | Nhiều năm |
Nếu bị thu thập hôm nay, dữ liệu vẫn có giá trị trong tương lai.
2. NIST đã chuẩn hóa Post-Quantum Cryptography
Từ 2024–2025, NIST đã chính thức công bố các chuẩn PQC:
| Chuẩn | Thuật toán | Vai trò |
|---|---|---|
| FIPS 203 | ML-KEM | Key Encapsulation |
| FIPS 204 | ML-DSA | Digital Signature |
| FIPS 205 | SLH-DSA | Hash-based Signature |
Điều quan trọng không còn là "có quantum hay không", mà là:
Hệ thống của bạn có thể migrate crypto trong 12–24 tháng mà không sập production không?
3. Crypto-Agility thực sự là gì?
Crypto-Agility không phải là "đổi RSA sang ML-KEM".
Nó là khả năng:
- Thay thuật toán
- Thay key format
- Thay certificate chain
- Thay crypto provider
- Thay protocol behavior
…mà không cần rewrite application và không gây downtime.
Vấn đề của hệ thống hiện tại
Rất nhiều hệ thống đang hard-code cryptography vào business logic:
// ❌ Anti-pattern: thuật toán bị gắn chết vào logic
func EncryptData(data []byte) ([]byte, error) {
return rsa.EncryptOAEP(
sha256.New(),
rand.Reader,
pubKey,
data,
nil,
)
}
Khi cần migrate, phải:
- Sửa code
- Rebuild
- Test lại toàn bộ
- Audit lại compliance
- Redeploy production
Một thay đổi crypto nhỏ có thể trở thành project kéo dài nhiều tháng hoặc nhiều năm.
4. Production Reality: PQC không chỉ là cryptography
PQC không chỉ là "thuật toán mạnh hơn". Nó còn là:
- Bandwidth problem
- Latency problem
- Infrastructure problem
- Compatibility problem
4.1 Benchmark thực tế (2025–2026)
Tổng hợp từ OQS + cloud vendor data
| Algorithm | Public Key | Ciphertext | TLS Handshake | Ghi chú |
|---|---|---|---|---|
| X25519 / P-256 | 32–65 B | ~65 B | ~2.1 ms | Baseline |
| ML-KEM-768 | 1,184 B | 1,088 B | ~2.08 ms | CPU tương đương classical |
| Hybrid (X25519 + ML-KEM-768) | ~1.2 KB | ~1.1 KB | ~2.3–2.4 ms | Production-safe |
4.2 Những vấn đề thực tế
TLS fragmentation
Payload tăng kích thước dẫn đến:
- MTU fragmentation
- Retransmission tăng
- Handshake fail trên mạng yếu
- Mobile latency tăng
Middlebox incompatibility
Legacy systems như CDN, WAF, TLS inspection appliance có thể không xử lý được packet size mới.
HSM / TPM limitation
Nhiều HSM hiện tại chưa hỗ trợ ML-KEM / ML-DSA, cần firmware upgrade hoặc thay hardware.
Mixed fleet problem
service A → classical
service B → hybrid
service C → chưa hỗ trợ PQC
↓
inconsistency khó debug
5. Thiết kế Crypto-Agility đúng cách
5.1 Crypto Facade (Abstraction Layer)
Application không được biết thuật toán cụ thể.
type CryptoService interface {
KeyExchange(ctx context.Context, peerPub []byte) ([]byte, error)
Sign(msg []byte) ([]byte, error)
Verify(msg, sig []byte) bool
Encrypt(plaintext []byte) ([]byte, error)
Decrypt(ciphertext []byte) ([]byte, error)
}
Implementation có thể thay đổi tùy nhu cầu:
| Implementation | Use case |
|---|---|
ClassicalProvider |
Legacy system |
HybridProvider |
Migration phase |
PQCProvider |
Future-ready |
HSMBackedProvider |
High-security |
KMSBackedProvider |
Cloud-native |
5.2 Policy-driven cryptography
Không hard-code algorithm.
# ❌ Sai
UseAlgorithm("RSA2048")
# ✅ Đúng — config-driven
crypto_policy:
kem: hybrid-x25519-mlkem768
signature: mldsa65
provider: oqsprovider
Điều này cho phép:
- Rollout dần theo phase
- Rollback nhanh khi có sự cố
- A/B test giữa các crypto variant
- Feature flag migration
6. OpenSSL 3 Provider Model
Một trong những thay đổi quan trọng nhất trong crypto stack hiện đại.
Application
↓
EVP API
↓
Provider Layer
├── Default Provider
├── FIPS Provider
├── OQS Provider ← Post-Quantum
└── Legacy Provider
Điểm mạnh:
- Load/unload runtime — không cần rebuild application
- Tách abstraction giữa app và implementation
- Hỗ trợ crypto agility thật sự
Ví dụ config OpenSSL
openssl_conf = openssl_init
[openssl_init]
providers = provider_sect
[provider_sect]
default = default_sect
oqsprovider = oqs_sect
[default_sect]
activate = 1
[oqs_sect]
activate = 1
module = /usr/local/lib/ossl-modules/oqsprovider.so
7. Hybrid Cryptography: không đơn giản là "kết hợp"
Hybrid không chỉ là "an toàn hơn". Vấn đề là cách combine.
7.1 Construction phổ biến
classical_ss = X25519(...)
pq_ss = ML-KEM-768(...)
concat = classical_ss || pq_ss
shared_secret = SHA3-256(concat)
Hoặc dùng HKDF theo IETF draft.
7.2 Security requirements
Hybrid phải đảm bảo:
- ✅ Không downgrade được
- ✅ Transcript binding đầy đủ
- ✅ Tránh key mismatch attack
- ✅ Đảm bảo forward secrecy
8. Inventory – phần khó nhất của toàn bộ migration
90% thời gian không nằm ở cryptography.
Mà nằm ở câu hỏi: Crypto đang nằm ở đâu trong hệ thống?
8.1 Các vị trí crypto thường bị ẩn
- TLS termination (ingress / gateway)
- Java keystore
- OpenSSL static binary
- Firmware / IoT devices
- Hardcoded certificate
- Sidecar proxy
- JNI / native bindings
8.2 Tooling thực tế
| Mục tiêu | Tool |
|---|---|
| Network scanning | TLS scanner, ZMap |
| Code scanning | Semgrep, Trivy |
| CBOM | Crypto Bill of Materials |
| Runtime inspection | eBPF tracing, syscall monitoring |
9. Historical lesson: crypto migration luôn chậm hơn dự kiến
| Công nghệ | Thực tế |
|---|---|
| SHA-1 | ~10 năm để sunset |
| TLS 1.0 | Nhiều năm vẫn còn |
| RSA-1024 | Tồn tại rất lâu trong enterprise |
| MD5 certificates | Vẫn còn trong legacy systems |
Nguyên nhân lặp đi lặp lại:
- Legacy dependency
- Vendor lock-in
- Compatibility pressure
- Thiếu inventory đầy đủ
10. Failure modes trong thực tế
10.1 Middlebox break
Packet size tăng → vượt expectation của middlebox → connection reset
10.2 Rollback khó khăn
Crypto migration là stateful:
- Session mismatch
- Certificate inconsistency
- Cache invalidation
10.3 Telemetry blind spot
Khi đổi crypto provider:
- Metric mất
- Trace broken
- SIEM parsing fail
11. Roadmap triển khai thực tế
Phase 1: Discovery
├── Inventory crypto toàn hệ thống
├── Classify dữ liệu long-lived
└── Xác định risk priority
Phase 2: Abstraction
├── Triển khai crypto facade
├── Centralized KMS
└── Policy-driven system
Phase 3: Hybrid Pilot
├── Internal service rollout
├── Đo latency thực tế
└── Test mobile / CDN / WAF
Phase 4: Gradual Rollout
├── Feature flags
├── Staged deployment
├── Rollback plan
└── Monitoring đầy đủ
12. Mindset quan trọng nhất
Crypto-agility không phải một project.
Nó là một capability dài hạn: khả năng thay đổi cryptography mà không phá hệ thống.
Hệ thống survive sau 2030 không phải vì:
dùng thuật toán mạnh nhất
Mà vì:
thay đổi thuật toán nhanh nhất — ít rủi ro nhất — ít downtime nhất
Kết luận
PQC migration sẽ không fail vì thiếu thuật toán. Nó sẽ fail vì:
| Nguyên nhân | Giải pháp |
|---|---|
| Không có inventory | Crypto discovery tooling |
| Không có abstraction layer | Crypto facade + provider model |
| Underestimate operational complexity | Phased roadmap + runbook |
| Hard-coded cryptography khắp nơi | Policy-driven config |
Crypto-Agility vì vậy không còn là lựa chọn.
Nó là điều kiện bắt buộc cho mọi hệ thống muốn tồn tại lâu dài trong kỷ nguyên hậu-quantum.
Tài liệu tham khảo: NIST FIPS 203/204/205 · Open Quantum Safe (OQS) · IETF Hybrid Key Exchange drafts · OpenSSL 3 Provider documentation