
Сфера квантовых вычислений стремительно развивается, превращая ранее неразрешимые задачи в вполне осуществимые. Однако, как и любая прорывная технология, квантовые вычисления порождают новые проблемы безопасности. Одной из таких проблем являются атаки через побочные каналы (side-channel), которые извлекают информацию, утёкшую в процессе вычислений, а не взламывают математические или криптографические уязвимости напрямую.
В этой статье мы подробно рассмотрим передовую область исследований — атаки на побочные каналы питания квантовых компьютеров — основанные на реальных импульсных данных, доступных через облачные квантовые платформы (arXiv:2304.03315). Мы разберёмся, как эти атаки работают, представим пять новых типов атак, обнаруженных в 2023 году, оценим их последствия и обсудим меры защиты — от физических до протокольных. Материал охватывает как базовые понятия, так и практические техники, включая реальные сценарии и примеры кода для сканирования, парсинга и анализа низкоуровневых данных.
Независимо от того, новичок ли вы в квантовых вычислениях, опытный специалист по кибербезопасности или просто интересуетесь пересечением кванта и криптографии, это руководство даст вам комплексный, оптимизированный для поиска обзор одной из самых горячих тем в кибербезопасности.
Атака через побочный канал (Side-Channel Attack, SCA) — это способ компрометации, использующий особенности реализации вычислительной системы, а не уязвимости алгоритмов. SCA извлекают конфиденциальные данные (например, криптографические ключи), наблюдая физические явления, такие как:
Такие атаки хорошо известны для смарт-карт и встроенных систем, но теперь они угрожают и передовому квантовому «железу».
Квантовые компьютеры основаны на принципах квантовой механики, оперируя квантовыми битами (кубитами) в состояниях суперпозиции и запутанности, что даёт экспоненциальный выигрыш для определённых задач (факторизация больших чисел, квантовое моделирование и т. д.). Существуют разные архитектуры (сверхпроводниковые, ионные ловушки и др.), а доступ к «железу» часто осуществляется через облачные платформы (IBM Quantum Experience, Amazon Braket и др.).
Процесс вычислений включает:
Эти импульсы физически манипулируют кубитами и содержат детальную информацию о последовательности операций.
SCА впервые изучались в классическом контексте (Kocher, 1996), чаще всего против смарт-карт:
Этими методами удавалось взламывать реализации DES/AES и другие схемы.
Хотя квантовые устройства фундаментально иные, ими также управляют электронные или лазерные импульсы. Работа arXiv:2304.03315 показывает: информация о квантовом вычислении может утекать через побочные каналы, наблюдаемые в импульсах управления.
Согласно Pandey et al., 2023 показано пять новых атак, использующих данные облачных квантовых сервисов:
Многие платформы (напр., Qiskit IBM) позволяют скачивать расписания импульсов для заданной схемы. Пример получения:
from qiskit import IBMQ, transpile
from qiskit.providers.aer import PulseSimulator
provider = IBMQ.load_account()
backend = provider.get_backend('ibmq_armonk')
circuit = ... # ваша QuantumCircuit здесь
transpiled = transpile(circuit, backend)
schedule = transpiled.qobj().to_instruction_schedule_map()
Исследователи создают различные схемы, исполняют их и извлекают расписания импульсов.
Шаги:
Пример: загрузка и парсинг JSON-файла расписания импульсов.
# Скачиваем все файлы импульсов из каталога эксперимента
scp user@quantum.cloud:/results/experiment_*/pulse_data.json ./pulses/
# Список скачанных файлов
ls ./pulses/*.json
import json
def parse_pulse_schedule(file_path):
with open(file_path, 'r') as f:
schedule_data = json.load(f)
for entry in schedule_data['instructions']:
print(f"КАНАЛ: {entry['ch']}\tВРЕМЯ: {entry['t0']}\tИМПУЛЬС: {entry['pulse']}")
# Дополнительный анализ (амплитуда, длительность, вывод типа вентиля)
parse_pulse_schedule('./pulses/pulse_data.json')
Далее вычисляются сходства сигналов (например, евклидово расстояние, dynamic time warping) для сопоставления импульсов и схем.
Компания запускает проприетарный квантовый алгоритм в общедоступном облаке. Атакующий, имея доступ к журналам импульсов (внутренний инсайдер или из-за слабой изоляции арендаторов), может восстановить исполняемый алгоритм, что ведёт к:
Некоторые квантовые протоколы кодируют классические секреты (ключи) в состояния кубитов. Если реализация чувствительна к вводу, анализ силовых трасс позволяет:
Допустим, участники запускают BB84. Если импульсы подготовки базисов различимы, атакующий, слушая питание, узнаёт, какой базис выбран, не нарушая физический канал фотонов.
Квантовые компьютеры угрожают асимметричным (RSA, ECC) и, частично, симметричным шифрам (алг. Шора и Гровера). Побочные каналы добавляют ортогональную поверхность атаки, актуальную уже сейчас, пока полно-масштабный квантовый криптоанализ ещё не реализован.
Проект NIST по стандартизации PQ-криптографии фокусируется на математике, но в реальном внедрении важны и побочные каналы. Даже математически стойкая схема может «провалиться», если её реализация утечёт секреты через питание, пластик или фотонику.
Для исследований, пентеста или валидации аппаратуры необходим практический опыт. Ниже — базовые приёмы работы с импульсными данными.
Регулярная проверка изменений в расписаниях импульсов:
# Список YAML/JSON-файлов расписаний
ls /quantum_results/pulse_logs/*.json
# Поиск импульсов с высокой амплитудой
for file in /quantum_results/pulse_logs/*.json; do
echo "Проверяем $file"
grep "amplitude" "$file" | awk -F ':' '{ if($2 > 0.9) print $0; }'
done
Скачиваем данные и используем Python для расширенного анализа.
import glob
import json
def extract_high_amplitude(file_path, threshold=0.9):
with open(file_path, 'r') as f:
data = json.load(f)
for inst in data.get('instructions', []):
pulse = inst.get('pulse', {})
amplitude = pulse.get('amplitude', 0)
if amplitude > threshold:
print(f"Файл: {file_path} -- Амплитуда: {amplitude} канал: {inst.get('ch')} t={inst.get('t0')}")
# Обрабатываем все логи
for file_path in glob.glob('/quantum_results/pulse_logs/*.json'):
extract_high_amplitude(file_path)
Сравнение «отпечатков» расписаний:
import numpy as np
from scipy.spatial.distance import euclidean
# signal1 и signal2 — numpy-массивы амплитуд
distance = euclidean(signal1, signal2)
print(f"Сходство сигналов: {1/(1+distance)}")
Квантовые компьютеры обещают переворот в криптографии, но также вносят новые тонкие уязвимости через побочные каналы, уже доступные в современных облаках. Показано, что атакующие способны извлечь не только высокоуровневые алгоритмы, но и, в ряде случаев, чувствительные входы и ключи, анализируя питание и импульсы.
Полноценная защита требует совместных усилий:
По мере интеграции кванта в госструктуры, финансы, медицину, понимание и минимизация утечек станет критически важным как в исследованиях, так и в операционной безопасности.
Pandey, A., Chang, C. N., Karalekas, P. J., Krishnamurthy, D., & Kesidis, G. (2023). «Exploration of Quantum Computer Power Side-Channels.»
arXiv:2304.03315
SAAB CHARTOUNI, H. (2025). «Quantum and side-channel attacks.»
HAL thesis
Secure-IC. «Mitigating Side-Channel Attacks in Post Quantum ... - Secure-IC.»
Статья Secure-IC
Документация Qiskit: Pulse Schedules
IBM Qiskit Pulse
Проект NIST по пост-квантовой криптографии
NIST PQC
Broadbent, Fitzsimons & Kashefi. «Universal Blind Quantum Computation.» (2009)
arXiv:0807.4154
Заинтересованным читателям рекомендуется ознакомиться с первоисточниками и следить за новыми исследованиями в области квантовой и реализационно-устойчивой криптографии. Подписывайтесь, чтобы не пропустить прорывы в квантовой кибербезопасности!
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.