
Квантовые вычисления обещают решить задачи, непосильные для классических компьютеров — криптография, моделирование химии, оптимизация и многое другое. Однако мощность квантового оборудования также влечет за собой новые риски кибербезопасности. Среди самых критичных и новых: атаки на побочные каналы, нацеленные на физическую реализацию квантовых систем. Этот технический блог предлагает всестороннее исследование уязвимостей побочных каналов квантовых компьютеров, ссылаясь на последние академические достижения и интегрируя примеры кода и практические методы защиты.
Атака на побочный канал не направлена на сами криптографические алгоритмы; вместо этого она использует косвенную информацию, утечку которой вызывает физическая реализация системы. Примеры включают время, электромагнитные излучения, акустические сигналы или вариации энергопотребления во время вычислений.
В классических системах атаки на побочные каналы позволили злоумышленникам восстановить криптографические ключи из смарт-карт, устройств интернета вещей и защищенных микросхем путем анализа физических сигналов, связанных с криптографическими операциями.
Квантовые компьютеры — хотя и принципиально отличаются — не застрахованы. Их оборудование может утекать информацию через побочные каналы, что становится более критичным, поскольку облачные квантовые компьютеры становятся доступными для злоумышленников.
Квантовые атаки угрожают как классической асимметричной (например, RSA, ECC), так и симметричной криптографии. Например:
Ссылка: theses.hal.science.
К пост-квантовым криптографическим алгоритмам стремятся создать алгоритмы, защищенные от квантовых атак. Однако, они не всегда решают угрозы побочных каналов, которые могут угрожать даже математически безопасным схемам, эксплуатируя их физическую реализацию.
Побочные каналы мощности — это атаки, которые анализируют, как энергопотребление устройства варьируется в зависимости от внутренних операций, потенциально утечка конфиденциальной информации, такой как криптографические ключи, алгоритмическое поведение или даже детализированные состояния цепи.
Рассмотрим Дифференциальный анализ мощности (DPA): Нападающий регистрирует энергетические следы, пока устройство обрабатывает различные входные данные, а затем применяет статистические методы для корреляции операций, зависящих от ключа, с наблюдаемыми вариациями мощности.
# Упрощенный пример: Python-код для парсинга следов питания
import numpy as np
from scipy.stats import pearsonr
def find_leakage(trace_files, hypothetical_values):
correlations = []
for key_guess in hypothetical_values:
traces = [np.loadtxt(f) for f in trace_files]
hypothesis = [model(input_data, key_guess) for input_data in inputs]
correlation = pearsonr(traces, hypothesis)[0]
correlations.append((key_guess, correlation))
return max(correlations, key=lambda x: abs(x[1]))
Квантовое управляющее оборудование и электроника считывания — осцилляторы, усилители и конвертеры — потребляют энергию в паттернах, которые коррелируют с операциями квантовых ворот, управлением кубитов и измерительными действиями. Эти паттерны могут утекать:
Это представляет собой уникальную поверхность атаки, поскольку квантовые компьютеры часто доступны удаленно, и облачные провайдеры открывают оборудование для произвольно созданных пользователей различных цепей.
Основываясь на Liang et al., 2023 (arxiv.org/abs/2304.03315), исследователи выявили пять новых атак на побочные каналы мощности квантовых компьютеров. Эти методы используют информацию о управляющих импульсах — точные последовательности электромагнитных импульсов, используемых для управления квантовыми воротами.
Отправляя последовательности, запрограммированные по времени, злоумышленник наблюдает за тонкими изменениями энергопотребления оборудования, что позволяет им выяснить, какие квантовые ворота выполняются и их последовательность.
Изменение амплитуды управляющих импульсов (будь то для представления логических '0' или '1' или параметров ворот) вызывает соответствующие изменения в энергетической сигнатуре. Мониторинг этих сигнатур может раскрыть обрабатываемые значения или состояния кубитов.
Различные типы ворот (например, X, Y, Z, H, CNOT) требуют различных форм управляющих импульсов. Анализируя энергетического профиля, злоумышленники могут различать, например, операции над одним кубитом и над многими кубитами.
На облачных платформах квантовых вычислений запуск множества пользователей происходит мультиплексированием. Коррелируя время и энергопотребление своих задач с глобальными паттернами, злоумышленник может определить вычисления других пользователей, потенциально извлекая информацию о "соседних" процессах.
Энергия, необходимая для инициализации состояния и измерений, может различаться в зависимости как от предполагаемой операции, так и от физического состояния оборудования, предоставляя еще один канал для вывода.
| Тип атаки | Утечка информации |
|---|---|
| Время управляющего импульса | Последовательность ворот, время ворот |
| Утечка амплитудной модуляции | Входные значения, параметры, состояния кубитов |
| Различимость между воротами | Типы операций, структура цепей |
| Перекрестный вывод | Характеристики задач других пользователей |
| Канал утечки SPAM | Начальные и измерительные состояния кубитов |
Liang et al. (2023) оценили эти атаки на основе реальных данных, собранных с облачных квантовых компьютеров (например, IBM Q, Rigetti), акцентируя внимание на информации о управляющих импульсах, к которой имеют доступ конечные пользователи.
Ключевые наблюдения:
Предположим, пользователю разрешено загружать информацию о импульсах управления для своих собственных вычислений. Злоумышленник отправляет "пробные" цепи и записывает соответствующие данные управления. Сопоставляя это с известными характеристиками оборудования, они делают вывод:
Для IBM Quantum Experience:
# Загрузка результатов экспериментов, включая данные о импульсах (вымышленная команда)
ibm_quantum_client get-experiment --id <experiment_id> --include-pulse-data
Допустим, у нас есть набор JSON журналов от квантового провайдера, описывающих последовательности импульсов:
import json
def parse_control_pulses(logfile):
with open(logfile, 'r') as f:
data = json.load(f)
pulses = data['pulse_sequence']
for pulse in pulses:
print(
f"Импульс в t={pulse['start_time']}нс, "
f"длительность={pulse['duration']}нс, "
f"амплитуда={pulse['amplitude']}, "
f"канал={pulse['channel']}"
)
Злоумышленник затем мог бы построить статистические модели по этим параметрам (амплитуда, время, канал), чтобы определить выполняющуюся цепь — даже не зная исходный код.
Риски побочных каналов можно продемонстрировать, используя простые средства (Bash, Python) для сканирования логов или мониторинга публично доступной информации о квантовых системах.
Представьте, что у вас есть каталог с множеством логов импульсов, и вы подозреваете, что определенные высокие амплитуды соответствуют чувствительным квантовым операциям.
#!/bin/bash
for logfile in ./pulse_logs/*.json; do
# Извлечение значений амплитуды, печать тех, что превышают заданный порог, например, 0.8
jq '.pulse_sequence[] | select(.amplitude > 0.8) | {time: .start_time, amp: .amplitude}' "$logfile"
done
Объяснение:
Этот скрипт проходит по всем JSONлогам импульсов. Для каждого он использует jq, чтобы печатать только те импульсы, чья амплитуда превышает 0.8 — значение, которое, как определил злоумышленник, связано с ключевыми битами или привилегированными алгоритмами операций.
import glob
import json
import numpy as np
def extract_amplitudes(directory):
amplitudes = []
for file in glob.glob(f"{directory}/*.json"):
with open(file) as f:
data = json.load(f)
amplitudes.extend([
pulse["amplitude"]
for pulse in data.get("pulse_sequence", [])
])
return np.array(amplitudes)
# Анализ распределения амплитуд для нахождения кластеров = потенциальная утечка
amps = extract_amplitudes("./pulse_logs")
import matplotlib.pyplot as plt
plt.hist(amps, bins=50)
plt.title("Амплитуды управляющих импульсов")
plt.xlabel("Амплитуда")
plt.ylabel("Количество")
plt.show()
Резкое кластеризование вокруг определенных амплитуд или повторяющиеся выбросы могут быть признаком ненаблюдаемой, зависящей от ключа, утечки.
Хотя квантовые криптографические протоколы разрабатываются с учетом математической безопасности, их физическая реализация должна быть усилена против атак на побочные каналы. Это параллели с уроками, извлеченными из классической криптографии, но с новыми вызовами, уникальными для квантового оборудования и облачных сред.
Ослепление и рандомизация
Маскирование
from qiskit import QuantumCircuit
import random
def pad_with_random_gates(circuit, n_qubits, pad_prob=0.2):
for q in range(n_qubits):
if random.random() < pad_prob:
# Вставка случайной ворот
g = random.choice([circuit.x, circuit.y, circuit.z, circuit.h])
g(q)
return circuit
qc = QuantumCircuit(5)
qc = pad_with_random_gates(qc, 5)
Объяснение:
Эта функция на Python добавляет дополнительные ворота к квантовой цепи случайным образом, делая временные и энергетические профили менее взаимосвязанными с истинными вычислениями.
«Аппаратные контрмеры... также могут включать добавление генераторов шума, источников постоянного тока и электромагнитное экранирование.»
– Secure-IC Interview
Оружейная гонка между криптографией и исследованиями атак на побочные каналы будет стремительно перемещаться в квантовую область. Поскольку всё больше компаний полагается на облачные квантовые вычисления, стойкость к побочным каналам должна стать первоклассной задачей, а не задумкой в последнюю очередь.
Квантово-устойчивый означает не только математическую безопасность от квантовых алгоритмов; это означает физически продуманную защиту от специфических утечек квантового оборудования. Нужны новые стандарты и лучшие практики с участием междисциплинарных команд из квантовых физиков, инженеров и экспертов по кибербезопасности.
Стратегические действия для специалистов по безопасности:
Атака на побочный канал в квантовых компьютерах использует косвенную информацию — такую как энергопотребление или реакция оборудования — чтобы выяснить конфиденциальные данные о квантовых вычислениях, даже если математическая криптография защищена.
Да, как показано в последних исследованиях, анализ информации о мощности управляющих импульсов может привести к утечке информации о структуре квантовых цепей, значениях ключей и многом другом.
Используйте комбинацию программных контрмер (рандомизация, маскирование, фиктивные операции) и требуйте от вашего квантового провайдера надежной изоляции оборудования, внесения шума и проведения аудита.
Нет, постквантовые (математически) безопасные алгоритмы всё еще могут утекать секреты через побочные каналы, как на классическом, так и на квантовом оборудовании.
Оставайтесь на связи для получения последних исследований по квантовой кибербезопасности и постоянно развивающейся области атак на побочные каналы.
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.