
TLS 1.3 с прямой секретностью — это правильный выбор. Если завтра скомпрометируют серверный ключ — прошлые сессии не расшифруются. Эфемерные ключи уничтожены. Все продумано.
Проблема в том, что это защита от одного сценария. Не от того, о котором идет речь.
Как работает атака
HNDL — harvest now, decrypt later (собери сейчас, расшифруй потом). Перехватить зашифрованный трафик сейчас, расшифровать потом — когда появится инструмент. А если конкретнее — квантовый компьютер с достаточным числом кубитов, способный запустить алгоритм Шора.
Привлекательность атаки в асимметрии. Атакующему сейчас не нужен квантовый компьютер. Нужны только хранилище и терпение. Стоимость хранения падает каждый год. А вот терпение дешевле вычислений.
Теперь о том, почему прямая секретность здесь, собственно, не работает и это — не очевидно.
ECDHE — эфемерный обмен ключами по эллиптической кривой (Ephemeral Elliptic Curve Diffie-Hellman) устроен так. Клиент генерирует одноразовый приватный ключ a и публичный aG — точку на эллиптической кривой. Сервер генерирует b и bG. Они обмениваются публичными частями в начальном рукопожатии. Общий секрет abG — каждый вычисляет независимо. Клиент берет bG сервера и умножает на свой a, сервер берет aG клиента и умножает на b. Математика кривых гарантирует, что результат одинаковый. Сессионный ключ строится на этом секрете.
После сессии приватные ключи a и b уничтожаются. Именно здесь прямая секретность — без a или b общий секрет восстановить нельзя. Заметьте, даже если взломать сервер и получить долгосрочный ключ.
В записи перехваченного трафика остается рукопожатие с aG и bG. Приватных ключей там нет. Задача — восстановить a из aG. Это задача дискретного логарифма на эллиптической кривой. Для классического компьютера она вычислительно неразрешима, потому как перебор всех вариантов при 256-битной кривой потребует больше операций, чем атомов в наблюдаемой Вселенной.
Здесь и входит алгоритм Шора — придуман Питером Шором в 1994-м, пока тот работал в Bell Labs.
Есть распространенное заблуждение, мол, квантовый компьютер просто проверяет все варианты одновременно и выбирает правильный. Это не так — иначе он решал бы вообще любую задачу мгновенно. На самом деле квантовый перебор без умной структуры ничего не дает. Прочитать все ответы сразу нельзя, измерение разрушает суперпозицию.
Шор работает иначе. RSA держится на том, что разложить большое число на простые множители классически невозможно за разумное время. Шор не перебирает делители напрямую — он ищет период функции f(x) = aˣ mod N для случайного a. Математически это эквивалентная задача. Нашел период — получил множители через формулы НОД. Для поиска периода Шор использует квантовое преобразование Фурье — квантовый аналог классического анализа частот. Обычное преобразование Фурье находит повторяющиеся частоты в сигнале. Квантовое делает то же самое над суперпозицией состояний. Т.е., применяет функцию ко всем x одновременно, а затем через квантовую интерференцию — усиление нужных состояний и гашение лишних — вытаскивает период. На классическом компьютере это экспоненциальное время. На квантовом — полиномиальное.
Для ECDHE абсолютно та же логика — задача дискретного логарифма на кривой тоже имеет периодическую структуру, которую квантовое преобразование Фурье умеет эксплуатировать. На классическом компьютере RSA-2048 не сломать за разумное время. На квантовом (по расчетам Гидни и Экерэ) — за 8 часов.
Т.е., берем записанный aG из рукопожатия, запускаем алгоритм Шора, получаем a. Дальше вычисляем abG = a × bG — это и есть общий секрет сессии. Расшифровываем весь трафик. Серверный долгосрочный ключ не нужен вообще.
Прямая секретность создавалась под модель угрозы по типу компрометации долгосрочного ключа. Под нее она работает безупречно. HNDL с квантовым компьютером — уже другая модель. Атакующий не берет серверный ключ, он обходит математику, на которой держится эфемерный обмен.
Сколько кубитов нужно
Для RSA-2048 нужны тысячи логических кубитов. Точная оценка зависит от архитектуры, коррекции ошибок и допустимого времени работы алгоритма.
А физических — даже на порядки больше. Реальные квантовые системы подвержены декогеренции, к сожалению. Кубиты теряют квантовое состояние из-за взаимодействия с окружением. Для надежных вычислений из тысяч физических кубитов строят один логический — с помощью кодов исправления ошибок. Гидни и Экерэ в 2021-м считали около 20 миллионов физических кубитов для RSA-2048 при поверхностных кодах коррекции и 8 часах работы. В мае 2025-го Гидни уже, собственно, пересмотрел — при новых схемах коррекции ошибок RSA-2048, по его расчетам, может быть взломан менее чем за неделю с использованием менее миллиона физических кубитов. Это не значит, что такой компьютер уже близко, но оценки требуемых ресурсов заметно снижаются.
У Google Willow сейчас — 105 физических кубитов, у IBM Heron — 156. Разрыв с нужными цифрами — тысячи раз даже в самых оптимистичных оценках.
Тут, кстати, важно что именно сделал Willow. До декабря 2024-го была нерешенная проблема — при увеличении числа кубитов в сетке ошибки не снижались, а накапливались. Willow показал обратное — при масштабировании с 3×3 до 7×7 кубитов ошибки снизились экспоненциально. Это подтверждение, что теория исправления ошибок работает на реальном железе. До взлома RSA еще очень далеко — но ключевой физический барьер преодолен.
Конкретной даты Q-Day нет ни у одного агентства, понятное дело. Экспертный консенсус (не официальная позиция) — диапазон 2030–2040 годов.
Микеле Моска из Института квантовых вычислений Ватерлоо сформулировал это как задачу с тремя переменными. Т.е., срок жизни секрета + время на миграцию > время до Q-Day — значит уже опоздали начинать. Для государственных данных с горизонтом в 25 лет и миграцией инфраструктуры в 8–10 лет математика складывается не в пользу ожидания. Именно поэтому NSA в CNSA 2.0 (сентябрь 2022) установил срок перехода National Security Systems к 2035 году. CISA — федеральные агентства к 2030–2031. NCSC UK — критическая инфраструктура к 2031-му. Это не прогноз появления квантового компьютера, конечно же. Это крайний срок миграции с учетом того, что перехват уже ведется.
Что реально работает против HNDL
Ответ — гибридные схемы. Классический алгоритм плюс постквантовый. Чтобы вскрыть сессионный ключ, нужно сломать оба одновременно.
Логика не только в квантовой защите. CRYSTALS-Kyber, лежащий в основе постквантовых стандартов — относительно новый алгоритм. NIST гонял его восемь лет в конкурсе, но все же. X25519 — проверен годами и атаками. Получается, своего рода гибрид. Если Kyber окажется уязвим — классика держит. Если квантовый компьютер появится — Kyber держит. Атакующему нужно сломать оба независимо.
13 августа 2024 NIST финализировал три стандарта. FIPS 203 — ML-KEM (CRYSTALS-Kyber), механизм инкапсуляции ключей, предназначенный для замены механизмов обмена ключами на основе RSA и ECDH. Устойчивость ML-KEM строится на задаче Module Learning With Errors (Module-LWE) из решеточной криптографии. Она не сводится к факторизации чисел или дискретным логарифмам, поэтому алгоритм Шора напрямую здесь не работает. FIPS 204 — ML-DSA (Dilithium) и FIPS 205 — SLH-DSA (SPHINCS+): постквантовые подписи. SPHINCS+ строится только на хеш-функциях — математика настолько консервативная, что сломать ее квантовым компьютером примерно так же сложно, как сломать SHA-256. Это самый консервативный по предпосылкам выбор из трех.
Собственно, хеш-основанные подписи — не новость. Лесли Лэмпорт описал их в 1979-м. SPHINCS+ по сути развитие той же идеи. Алгоритму почти полвека — и это скорее плюс, чем минус.
Signal перешел на PQXDH (постквантовый расширенный протокол Диффи-Хеллмана) в сентябре 2023-го — X25519 плюс CRYSTALS-Kyber — еще до финализации NIST. Apple объявил PQ3 для iMessage в феврале 2024-го, развернул в iOS 17.4 в марте. Та же гибридная логика плюс периодическое обновление сессионного ключа: если ключ одного периода скомпрометирован, следующие сообщения восстанавливаются независимо.
Новые сообщения после включения PQ-протокола получают постквантовую защиту. Трафик до сентября 2023-го для Signal и до марта 2024-го для iMessage — нет. Те сессии строились на чистом ECDHE.
Опять же, симметричное шифрование — отдельная история. Алгоритм Гровера дает квадратичное ускорение перебора. AES-256 после него имеет квантовую стойкость 2¹²⁸ операций — это считается достаточным. AES-128 после Гровера дает уже 2⁶⁴ — ниже принятого в криптографии порога в 128 бит. Именно поэтому NSA в CNSA 2.0 явно требует AES-256, не AES-128. Если у вас AES-256 — проблем нет. Если AES-128 — это уже вопрос.
ссылка на оригинал статьи https://habr.com/ru/articles/1053538/