
В быстро развивающемся мире кибербезопасности постквантовая криптография (PQC) находится на передовой защиты от новых угроз. Квантовые вычисления, хотя и находятся в зачаточном состоянии, ожидается, что они разрушат сами основы текущего шифрования. Но защищены ли криптосистемы нового поколения от всех угроз, или они открывают дверь для изощренных новых атак, таких как невидимые бэкдоры, оставленные клептографическими методами?
В этой всеобъемлющей, подробной статье мы разберем что такое постквантовая криптография, как клептографические атаки эксплуатируют криптосистемы (включая реальные опасности решеточных Механизмов Инкапсуляции Ключа, или KEM), и предоставим руководство по обнаружению с практическими кодовыми примерами на Bash и Python. Будь вы новичок или опытный специалист по безопасности, это ваш вход в передовые технологии.
Постквантовая криптография (PQC) относится к криптографическим алгоритмам (особенно для шифрования с открытым ключом, цифровых подписей и обмена ключами), разработанным для защиты от возможностей квантовых компьютеров. Стандартная криптография, основанная на таких задачах, как задача факторизации целых чисел (например, RSA) и дискретные логарифмы (например, Диффи-Хеллман, ECC), легко разрушается квантовыми компьютерами, выполняющими такие алгоритмы, как алгоритм Шора.
PQC не касается квантовых компьютеров сегодня. Это страхование от завтрашних квантовых прорывов и является критическим элементом проактивной киберзащиты.
Источник: NIST—Что такое постквантовая криптография?
Квантовая угроза двойственна:
Сроки непредсказуемы, но NIST, АНБ и глобальные агентства по кибербезопасности согласны с тем, что приготовления должны начинаться сейчас, чтобы защитить конфиденциальные коммуникации в будущем.
Современное шифрование основывается на математических задачах, которые считаются сложными. Квантовые компьютеры угрожают сделать некоторые из них тривиальными, поэтому PQC фокусируется на сложных задачах для классических и квантовых машин.
Некоторые ключевые математические основы в PQC включают:
Каждая из этих задач в настоящее время устойчива к известным квантовым атакам. Наиболее широко применяемые и стандартизированные проекты — это решеточная криптография.
Решетка — это по сути сетка, расширенная в многомерное пространство, состоящая из всех целочисленных комбинаций набора генерирующих векторов. Решеточная криптография использует сложность нахождения коротких векторов или определённых отношений в этих решетках — задача, считавшаяся сложной даже для квантовых компьютеров.
Вот некоторые финалисты NIST:
Обычный рабочий процесс решеточного KEM:
Клептография, термин, введенный Адамом Л. Янгом и Моти Юнгом, представляет собой практику маскировки криптографических бэкдоров внутри в остальном сильных алгоритмов или систем. Клептографические атаки идут далеко за пределы слабых генераторов случайных чисел или очевидных ошибок. Они предназначены быть невыявляемыми даже при аудите исходного кода или инспекции бинарного кода, доступными только атакующему, имеющему секретный ключ извлечения.
«Клептография — это искусство внедрения скрытых бэкдоров в криптографические системы так, чтобы они были невидимыми для обычных пользователей.»
| Фактор | Клептография | Трояны/традиционные бэкдоры |
|---|---|---|
| Видимость | Скрыто криптографически (например, стеганография, скрытие ключей) | Часто обнаруживаемо |
| Обратная разработка | Устойчиво | Возможно |
| Эксплуатируемость | Атакующим, имеющим ловушку | Любым, кто обнаружит секрет |
| Режим работы | В производственных системах | Вредоносное ПО, аддон |
| Примеры | Dual EC DRBG, изменения в библиотеках | Руткиты, вредоносные DLL |
Один из печально известных примеров — Dual_EC_DRBG, стандартный генератор псевдослучайных чисел NIST, который, как полагают, содержит бэкдор NSA — тщательно спроектированный так, что только кто-то, зная "ловушечные" точки, мог быстро восстановить внутреннее состояние и взломать все сгенерированные ключи. Механизм был настолько изощренным, что прошел многолетние аналитические проверки.
Сложность решеточных систем и "шум параметров" делают их идеальными для подобных затемненных бэкдоров нового поколения.
Решеточные KEM по своей конструкции включают операции с использованием случайности — в генерации ключей, шифровании и расшифровке (декапсуляция). Это дает атакующим несколько мест для внедрения скрытой утечки или предвзятости.
Пути атаки:
Обычно такие атаки неотслеживаемы без знания того, что именно искать или без владения ловушечным ключом атакующего.
В отличие от обычных троянов, которые могут использовать предвзятые генераторы случайных чисел, криптографические бэкдоры устойчивы к обратному проектированию.
Недавние революционные исследования ("Клептографические бэкдоры в решеточных KEM" Д. Апон и др., ACM CCS 2024) сосредоточены на:
Возможно ли сканировать на наличие криптографических бэкдоров? Иногда — если вам повезет и вы бдительны — но часто ответ заключается в том, что не с 100% уверенностью.
Тем не менее, регулярное сканирование, анализ шаблонов и мониторинг поведения могут выявить неправильно реализованный или измененный код. Вот как начать:
Предположим, вы хотите убедиться, что ваша библиотека PQC (например, libpqcrypto.so) не была изменена и что ожидаемые параметры не были изменены.
Шаг 1: Сравнение хешей (проверяет целостность файла)
# Создание SHA256 хеша известной хорошей библиотеки Kyber KEM
sha256sum /usr/local/lib/libpqcrypto.so > known_good_hash.txt
# Сравнение текущего файла с базовым
sha256sum -c known_good_hash.txt
Шаг 2: Поиск подозрительных констант или изменений параметров
Например, Kyber использует опубликованные константы. Искать странные изменения:
# Извлечение встроенных решеточных параметров (например, KYBER_Q)
strings /usr/local/lib/libpqcrypto.so | grep 'KYBER_'
# Поиск дополнительных, недокументированных смещений/массивов
strings /usr/local/lib/libpqcrypto.so | grep -E 'trapdoor|secret|hidden'
Представьте, что вы анализируете шифртексты или обмен ключами на статистические аномалии, указывающие на скрытую утечку (например, неравномерное использование случайности).
Пример: проверка предвзятости случайности в KEM-выводе
import numpy as np
from scipy.stats import chisquare
def analyze_ciphertext_randomness(ciphertexts):
# Предположим, что каждый шифртекст является байтовым массивом — тестируем равномерность.
all_bytes = b''.join(ciphertexts)
byte_counts = np.bincount(np.frombuffer(all_bytes, dtype=np.uint8), minlength=256)
expected = [len(all_bytes) / 256] * 256
chi2, p_value = chisquare(byte_counts, f_exp=expected)
print(f"Chi2-статистика={chi2:.2f}, p-значение={p_value:.4f}")
if p_value < 0.05:
print("ВНИМАНИЕ: Обнаружена нерегулярность случайности. Возможен сдвиг или утечка!")
else:
print("Случайность кажется равномерной.")
# Сбор шифртекстов с KEM-запусков (потребуется дальнейшая интеграция)
ciphertexts = [...] # Собраны через API или анализ логов
analyze_ciphertext_randomness(ciphertexts)
Постквантовая криптография означает одновременно революцию в защите коммуникаций от завтрашних квантовых противников и новое поле битвы для клептографов и криптографических атакующих.
Решеточные KEM, такие как Kyber, могут представлять собой современное состояние, однако, как и любая мощная новая технология, они привлекают атакующих, стремящихся получить недетектируемые точки закрепления. От Dual_EC_DRBG до последних исследований на CCS 2024, риск наличия криптографических бэкдоров очень реален — он разработан так, чтобы быть неуязвимым как для любительского, так и для профессионального аудита.
Оставайтесь внимательными, оставайтесь параноидальными — поскольку в постквантовой криптографии цена единственного необнаруженного бэкдора может сохраняться навсегда.
Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.