
防御量子计算革命对数据安全的影响
量子计算不再只是一个理论上的好奇心——它代表了一种迫在眉睫的范式转变,对网络安全有重大影响。随着量子计算机的强大程度日渐增长,它们威胁着使得当今大多数的公钥密码系统——例如RSA、Diffie-Hellman和椭圆曲线加密(ECC)——过时。解决方案是后量子密码学(PQC),也称为量子抗性密码学。在本指南中,我们将探讨PQC是什么、它为何重要以及组织应如何开始他们的量子安全之旅——从基本原理到为高级专业人士准备的动手工具。
后量子密码学(PQC) 指的是那些被认为能够抵抗真实量子计算机攻击的密码学算法。尽管经典计算机需要几个世纪甚至几千年来破解今天的密码,量子计算机理论上只需几分钟或几小时。PQC包含了一种新类型的算法,专门设计来抵抗这些量子攻击。
定义:“后量子密码学旨在抵御未来量子计算机可能破解当前加密系统的攻击,确保机密信息和通信的持续保护。” — Mastercard, 什么是后量子密码学?
PQC不依赖于量子力学;它运行在当今的经典硬件上。但它的数学基础(如格或编码)与RSA/ECC的素因数分解或离散对数有根本的不同,而量子算法可以利用这些。
大多数公钥密码系统依赖于数学上的“困难问题”,这些问题容易计算,但在没有密钥的情况下几乎不可能逆转:
经典计算机没有有效的捷径来解决这些问题;暴力计算花费时间太长。
量子计算机使用量子位和量子现象,如叠加和纠缠,以极快的速度处理某些问题。特别感兴趣的有两个算法:
“量子计算威胁RSA、Diffie-Hellman和ECC背后的数学,使组织面临数据泄露、财务损失和声誉损害的风险。” — Fortinet, 量子安全
攻击者可能现在收集加密流量,打算等量子计算机可用时解密。敏感文件,如医疗记录或政府机密,通常需要保持几十年的机密性。
“量子计算立即引发对非人类身份的风险,并长期解密威胁……” — Okta, 量子计算:身份安全风险
非人类身份——如机器证书、物联网设备或API令牌——通常具有较长的操作寿命。如果不迅速升级,它们可能会变得特别脆弱。
PQC算法多种多样,但大多数属于已知量子攻击抵抗的类别:
美国国家标准与技术研究院(NIST)自2016年起就开始进行一个全球开放竞争,以建立新的密码学标准。
这些预计将成为后量子“标志日”后的新公钥标准套件。
关键的一步是清点系统中使用的脆弱加密的地方和方式。这包括:
让我们使用Bash和Python扫描和解析证书和密钥以检测脆弱的算法。
在Linux中扫描RSA/ECC证书及密钥
#!/bin/bash
search_dir="/etc/ssl/certs"
for file in "$search_dir"/*.pem; do
if openssl x509 -in "$file" -noout -text 2>/dev/null | grep -E "Public Key Algorithm"; then
echo "[+] $file"
openssl x509 -in "$file" -noout -text | grep "Public Key Algorithm"
fi
done
这段Bash脚本打印文件并突出显示它们的公钥算法(RSA/ECC)。
假设你想要在整个基础设施中汇总证书类型:
import os
from cryptography import x509
from cryptography.hazmat.backends import default_backend
cert_dir = '/etc/ssl/certs'
summary = {}
for filename in os.listdir(cert_dir):
if filename.endswith('.pem'):
with open(os.path.join(cert_dir, filename), 'rb') as f:
try:
cert = x509.load_pem_x509_certificate(f.read(), default_backend())
key_type = cert.public_key().__class__.__name__
summary[key_type] = summary.get(key_type, 0) + 1
except Exception as e:
pass # Not a certificate
print("Key type usage summary:")
for k,v in summary.items():
print(f"{k}: {v}")
输出示例:
Key type usage summary:
RSAPublicKey: 87
EllipticCurvePublicKey: 43
对于物联网设备或网络证书存储上的扫描,调整类似的脚本以统计算出所有终端的密钥使用情况。
大多数互联网连接依赖于使用RSA/ECC密钥交换的TLS/SSL。为了做好量子准备:
使用PQC支持的OpenSSL(来自开放量子安全):
# 生成Kyber密钥对用作KEM
openssl req -new -newkey kyber512: -x509 -keyout kyber.key -out kyber.crt
注意: 你需要一个支持PQC的OpenSSL构建(截至2024年初尚不标准)。
加密的电子邮件、备份、法律文件或政府记录可能需要几十年的机密性。尽快将这些存储机制升级为PQC算法,或使用混合加密重新加密。
企业身份和访问管理(IAM)越来越多地涉及自动化设备和机器身份。由于它们的证书寿命长,如果不将它们迁移到PQC,整个设备可能面临量子风险。
许多早期PQC部署使用混合加密——将经典和量子抗性算法结合在一起,消息拦截需要同时破译两者。
后量子密码学不是一个遥远或理论上的问题。量子计算机可能比许多人预期的更快地威胁到当今许多加密数据,“现在获取,将来解密”攻击正在进行中,现在开始准备至关重要。通过理解PQC,清点加密资产,以及测试迁移至抗量子方案,组织可以确保其未来并避免成为未来新闻中的数据泄露对象。采用密码灵活性、利用混合算法,并密切关注NIST的PQC标准,以确保安全性经受住时间和即将到来的量子革命的考验。