
La computación cuántica promete resolver problemas intratables para las computadoras clásicas: criptografía, simulaciones químicas, optimización y más. Sin embargo, la potencia del hardware cuántico también introduce nuevos riesgos de ciberseguridad. Entre los más críticos y emergentes: los ataques de canales laterales dirigidos a la implementación física de sistemas cuánticos. Este blog técnico ofrece una exploración comprehensiva de las vulnerabilidades de canales laterales en computadoras cuánticas, haciendo referencia a avances académicos recientes, e integrando ejemplos de código y técnicas de mitigación prácticas.
Un ataque de canal lateral no se dirige a los algoritmos criptográficos en sí; más bien, explota la información indirecta filtrada por la implementación física de un sistema. Los ejemplos incluyen variaciones de tiempo, emisiones electromagnéticas, señales acústicas o variaciones de consumo de potencia durante el cómputo.
En sistemas clásicos, los ataques de canal lateral han permitido a los adversarios recuperar claves criptográficas de tarjetas inteligentes, dispositivos IoT y chips seguros al analizar señales físicas asociadas con operaciones criptográficas.
Las computadoras cuánticas—aunque fundamentalmente diferentes—no son inmunes. Su hardware puede filtrar información a través de canales laterales, que se vuelven más críticos a medida que las computadoras cuánticas basadas en la nube están disponibles para los adversarios.
Los ataques cuánticos amenazan tanto la criptografía asimétrica clásica (e.g., RSA, ECC) como la criptografía simétrica. Por ejemplo:
Referencia: theses.hal.science.
La criptografía post-cuántica busca crear algoritmos seguros contra ataques cuánticos. Sin embargo, estos no siempre abordan las amenazas de canales laterales, que pueden comprometer incluso esquemas matemáticamente seguros al explotar su implementación física.
Los canales laterales de potencia son ataques que analizan cómo varía el consumo de potencia de un dispositivo con las operaciones internas, potencialmente filtrando información sensible como claves criptográficas, comportamiento algorítmico, o incluso estados detallados del circuito.
Considere el Análisis Diferencial de Potencia (DPA): Un atacante registra trazas de potencia mientras un dispositivo procesa diferentes entradas, luego aplica métodos estadísticos para correlacionar operaciones dependientes de la clave con variaciones observables de potencia.
# Ejemplo simplificado: Código Python para analizar trazas de potencia
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]))
El hardware de control cuántico y la electrónica de lectura—osciladores, amplificadores, y convertidores—consumen potencia en patrones que se correlacionan con operaciones de puertas cuánticas, control de qubits y actividades de medición. Estos patrones pueden filtrar:
Esto presenta una superficie de ataque única porque las computadoras cuánticas a menudo se acceden de manera remota, con proveedores de nube exponiendo hardware a circuitos dispuestos por usuarios no confiables.
Tomado de Liang et al., 2023 (arxiv.org/abs/2304.03315), los investigadores han identificado cinco nuevos ataques de canales laterales de potencia en computadoras cuánticas. Estos métodos aprovechan información de pulsos de control—las secuencias precisas de pulsos electromagnéticos utilizados para manejar las puertas cuánticas.
Al enviar secuencias de manera programada, un atacante observa variaciones sutiles en el consumo de potencia del hardware, lo que les permite deducir qué puertas cuánticas se están ejecutando y su secuencia.
Variar la amplitud de los pulsos de control (ya sea para representar ‘0’ o ‘1’ lógicos o los parámetros de las puertas) causa cambios correspondientes en la firma de potencia. Monitorear estas firmas puede revelar los valores procesados o los estados de los qubits.
Diferentes tipos de puertas (e.g., X, Y, Z, H, CNOT) requieren diferentes formas de pulsos de control. Al analizar el perfil de potencia, los atacantes pueden distinguir, por ejemplo, operaciones de un solo qubit frente a múltiples qubits.
En plataformas cuánticas basadas en la nube, la ejecución se multiplexa entre diferentes usuarios. Al correlacionar el tiempo de su propio trabajo y el uso de potencia con patrones globales, un adversario puede inferir cálculos realizados por otros usuarios—potencialmente extrayendo información sobre procesos "vecinos".
La potencia requerida para la inicialización y medición del estado puede diferir en función de la operación prevista y el estado físico subyacente del hardware, proporcionando otro canal para la inferencia.
| Tipo de Ataque | Información Filtrada |
|---|---|
| Temporización de Pulsos de Control | Secuencia de puertas, temporización de puertas |
| Fuga de Modulación de Amplitud | Valores de entrada, parámetros, estados de qubits |
| Distinguibilidad entre Puertas | Tipos de operación, estructura del circuito |
| Inferencia entre Usuarios | Características de trabajos de otros usuarios |
| Fuga de Canal SPAM | Estados iniciales y de medición de qubits |
Liang et al. (2023) evaluaron estos ataques contra datos del mundo real recopilados de computadoras cuánticas basadas en la nube (e.g., IBM Q, Rigetti), enfocándose en información de pulsos de control expuesta a los usuarios finales.
Observaciones clave:
Suponga que se permite a un usuario descargar información de pulsos de control para sus propios cálculos. Un atacante presenta circuitos "sonda" y registra los datos de control correspondientes. Al cruzar esta información con características de hardware conocidas, infieren:
Para IBM Quantum Experience:
# Descargar resultados de experimento incluyendo datos de pulsos (comando ficticio)
ibm_quantum_client get-experiment --id <experiment_id> --include-pulse-data
Digamos que tenemos un conjunto de registros JSON de un proveedor cuántico describiendo secuencias de pulsos:
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"Pulse at t={pulse['start_time']}ns, "
f"duration={pulse['duration']}ns, "
f"amplitude={pulse['amplitude']}, "
f"channel={pulse['channel']}"
)
Un atacante podría entonces construir modelos estadísticos sobre estos parámetros (amplitud, temporización, canalización) para inferir el circuito siendo ejecutado—sin siquiera conocer el código original.
Los riesgos de canales laterales pueden demostrarse usando herramientas simples (Bash, Python) para analizar registros o monitorear información de sistemas cuánticos públicamente expuesta.
Imagine que tiene un directorio con muchos archivos de registro de pulsos, y sospecha que ciertas altas amplitudes corresponden a operaciones cuánticas sensibles.
#!/bin/bash
for logfile in ./pulse_logs/*.json; do
# Extrae valores de amplitud, imprime los que están por encima de un umbral de fuga (e.g., 0.8)
jq '.pulse_sequence[] | select(.amplitude > 0.8) | {time: .start_time, amp: .amplitude}' "$logfile"
done
Explicación:
Esto buclea sobre todos los registros de pulsos JSON. Para cada uno, utiliza jq para imprimir solo aquellos pulsos cuya amplitud excede 0.8—un valor que un adversario ha determinado está asociado con bits clave o operaciones algorítmicas privilegiadas.
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)
# Analiza la distribución de amplitudes para encontrar agrupamientos = potencial fuga
amps = extract_amplitudes("./pulse_logs")
import matplotlib.pyplot as plt
plt.hist(amps, bins=50)
plt.title("Amplitudes de Pulsos de Control")
plt.xlabel("Amplitud")
plt.ylabel("Recuento")
plt.show()
Una agrupación aguda alrededor de ciertas amplitudes o valores atípicos repetidos puede ser un signo de fuga no aleatoria, dependiente de claves.
Mientras que los protocolos criptográficos cuánticos están diseñados para ser matemáticamente seguros, sus implementaciones físicas deben endurecerse contra los ataques de canales laterales. Esto se relaciona con lecciones aprendidas en criptografía clásica, pero con nuevos desafíos únicos para el hardware cuántico y los entornos de nube.
Enmascaramiento y Aleatorización
Enmascaramiento
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:
# Insertar una puerta aleatoria
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)
Explicación:
Esta función de Python rellena un circuito cuántico con puertas adicionales al azar, haciendo que los perfiles de temporización y potencia sean menos directamente correlacionados con el cálculo real.
“Las contramedidas basadas en hardware... también pueden incluir la adición de generadores de ruido, fuentes de corriente constante y blindaje electromagnético.”
– Entrevista en Secure-IC
La carrera armamentista entre la criptografía y la investigación de ataques de canal lateral se moverá rápidamente hacia el ámbito cuántico. A medida que más organizaciones se basan en la computación cuántica en la nube, la resistencia a los canales laterales debe convertirse en una preocupación de primera clase, no en una ocurrencia posterior.
Resiliente al Cuántico no solo significa matemáticamente seguro contra los algoritmos cuánticos; significa físicamente diseñado para resistir las filtraciones específicas del hardware cuántico. Se necesitan nuevos estándares y mejores prácticas, con equipos interdisciplinarios de físicos cuánticos, ingenieros, y expertos en ciberseguridad.
Puntos de Acción para Profesionales de Seguridad:
Un ataque de canal lateral en una computadora cuántica explota información indirecta—como el consumo de potencia o la respuesta del hardware—para inferir datos sensibles sobre cálculos cuánticos, incluso si la criptografía matemática es segura.
Sí, como se mostró en investigaciones recientes, analizar la información de potencia de pulsos de control puede filtrar información sobre la estructura del circuito cuántico, valores de claves, y más.
Use una combinación de contramedidas de software (aleatorización, enmascaramiento, operaciones ficticias) y exija un fuerte aislamiento de hardware, ruido, y auditorías de su proveedor cuántico.
No—los algoritmos post-cuánticos (matemáticamente) seguros aún pueden filtrar secretos mediante canales laterales, tanto en hardware clásico como cuántico.
Mantente actualizado sobre la última investigación en ciberseguridad cuántica y el campo en constante evolución de los ataques de canales laterales.
Si encontraste este contenido valioso, imagina lo que podrías lograr con nuestro programa de capacitación élite integral de 47 semanas. Únete a más de 1.200 estudiantes que han transformado sus carreras con las técnicas de la Unidad 8200.