
快速演进的计算领域正被 量子计算机 所革新,它们承诺可解决传统计算机力所不能及的问题。与所有技术一样,安全性至关重要,量子计算机也不例外。作为全新的系统,它们同样带来了新的脆弱点——其中最引人注目的是利用间接信息泄露的 侧信道攻击(Side-Channel Attack, SCA)。
在这篇深度文章里,我们将探讨:
无论您是刚接触该概念的新手,还是经验丰富的硬件安全专家,都可以在本文中获得价值。
侧信道攻击 通过观察计算系统物理实现泄露的信息——例如时序、功耗、电磁辐射或声学信号——来提取秘密或破坏安全。
与直接针对算法的传统攻击不同,侧信道攻击只需监测计算过程中物理或逻辑的表现。
| 类型 | 示例 | 典型目标 |
|---|---|---|
| 物理 | 功耗、EM 辐射、时序 | 芯片、智能卡、IoT 设备 |
| 逻辑 | API 错误信息、缓存时序 | 软件系统、云平台 |
在所有物理侧信道中,功耗分析 最为著名,诞生了 DPA(差分功耗分析)与 SPA(简单功耗分析)等针对加密设备的经典攻击。
量子计算机使用 量子比特(qubit) 并通过精准的能量脉冲进行操控,其运作方式与经典计算机截然不同。科研关注点多在其计算能力,但在实际部署时,我们必须重新审视:是否存在物理泄露,可被攻击者监测并利用?
随着 IBM、Amazon Braket 等云端量子计算服务的普及,用户可远程访问这些系统。这也引出了关键问题:攻击者能否利用量子计算机的物理现象发起全新的侧信道攻击?
预印本 “Exploring Quantum Computer Power Side-Channels” 对此展开了开创性研究,提出了针对量子计算机的 五种全新功耗侧信道攻击。
这五种攻击均针对 控制脉冲信息——即操纵量子比特状态的实际信号,包括:
这些攻击可用于:
即使在远程访问场景下,云服务商有时也会暴露或记录 控制脉冲信息 用于调试或标定。研究团队展示:
研究者在 公开可访问 的量子硬件(如 IBM Quantum Experience)上评估这些攻击:
示例: 若用户运行 Grover 搜索,其特有的脉冲重复与时序轮廓可通过功耗侧信道 被检测,从而让攻击者推测算法及可能的密钥规模或结构。
德国联邦网络安全创新局的 SCA-QS 计划旨在利用 量子传感器 将侧信道分析提升到新高度。
传统侧信道攻击依赖经典测量设备。而在 SCA-QS 中,攻击者使用 量子增强传感器(如钻石 NV 色心、超导器件或单光子探测器)以:
研究聚焦:
若技术成功,将 打破 先进硬件的安全假设。例如:
后量子密码(PQC)旨在抵抗 算法层面的量子攻击,但并未必然防御 物理侧信道。工业界(如 Secure-IC)提出了多种加固方案。
无需更改硬件,目标是打破秘密与可观测泄露之间的直接关联:
噪声注入
import random
from qiskit import QuantumCircuit
def add_noise(circ, noise_gates=5):
for _ in range(noise_gates):
q = random.choice(range(circ.num_qubits))
circ.id(q) # 插入空门
恒时/恒路电路实现
max_length = 50
while len(qc.data) < max_length:
qc.id(0)
对芯片或封装进行修改:
云服务商记录 控制脉冲 供调试。内部人员或攻击者若获得这些日志,可对照已知算法模板匹配,进而:
研究者展示了 (SCA-QS) 利用量子磁力计“透视” FPGA 屏蔽,恢复经典 EM 探针无法测得的加密密钥操作。
未加保护的 PQC 实现在软件例程中出现细微缓存时序差异,攻击者多次测量并统计分析后成功还原秘密。
开始探索侧信道并非一定要百万级实验室。以下展示基础工具与示例命令,重点在 功耗迹 的收集与分析。
# 列出 Linux 系统中的能量测量设备
ls /sys/class/powercap/intel-rapl:*/energy_uj
# 读取瞬时能量消耗(微焦耳)
cat /sys/class/powercap/intel-rapl\:0/energy_uj
循环采样:
#!/bin/bash
for i in {1..1000}; do
cat /sys/class/powercap/intel-rapl:0/energy_uj >> power_log.txt
sleep 0.01 # 10ms
done
import matplotlib.pyplot as plt
import numpy as np
data = np.loadtxt('power_log.txt')
energy = data[1:] - data[:-1] # 计算每间隔能量差
plt.plot(energy)
plt.title('功耗迹示例')
plt.xlabel('样本')
plt.ylabel('ΔEnergy (μJ)')
plt.show()
from scipy.signal import find_peaks
peaks, _ = find_peaks(energy, height=200)
plt.plot(energy)
plt.plot(peaks, energy[peaks], "x")
plt.show()
from scipy.signal import correlate
template = np.array([...]) # 已知模式
corr = correlate(energy, template, mode='valid')
plt.plot(corr)
plt.title('与模板的互相关')
plt.show()
在量子硬件中,可将“模板”设为 Grover 或 Shor 算法的脉冲序列。
量子计算的曙光不仅带来计算跃迁,也带来了新的、微妙的物理安全漏洞。最新研究表明 量子计算机同样易受巧妙的侧信道攻击,其中甚至包括使用量子传感器的攻击。
云量子计算机 由于共享、远程访问模型,除非服务商采取措施隐藏或随机化可泄信道,否则尤为脆弱。后量子密码 也须确保其抗性从数学层面延伸至物理层面。
防御此类攻击需要 软件随机化、硬件屏蔽与量子感知监控 等多层结合。前沿变化迅速,实践者与研究者必须同步跟进对抗创新。
作者:[Your Name],安全研究员 & 量子计算爱好者
如有疑问或合作意向,欢迎邮件至 [yourcontact@example.com]。