Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам.
Эти технологии базируются на решеточной криптографии и помогут защитить данные от возможных угроз будущих квантовых компьютеров. Хотя их создание — дело не ближайших лет, разработчики уже готовятся к изменениям.
Пара новых JEP, которые появятся в Java 24 (ожидается в марте 2025 года), посвящена теме постквантовой криптографии (PQC) в Java. Это:
-
JEP 496 — Механизм инкапсуляции ключей на основе модульной решётки, устойчивый к квантовым атакам
-
JEP 497 — Алгоритм цифровой подписи на основе модульной решётки, устойчивый к квантовым атакам
Идеальная криптографическая система использует ключ, которым заранее обменялись между собой две стороны через приватный канал, однако это не работает в больших масштабах или на больших расстояниях, либо между сторонами, которые заранее не знакомы друг с другом.
Криптосистема с открытым ключом использует так называемые «односторонние функции» (также известные как «односторонняя функция с потайным входом»), чтобы позволить получателю поделиться чем-то, что отправитель может использовать для шифрования ключа (или сообщения), но что никто другой не сможет расшифровать.
Современная криптографическая защита основывается на задачах дискретной математики (например, факторизация больших чисел), которые считаются затратными с точки зрения количества вычислений. Идея о том, что умножение чисел обходится дешево, а факторизация — дорого, делает эту задачу односторонней функцией и полезной парой для криптографии.
В настоящее время все известные алгоритмы факторизации лишь немногим лучше полного перебора с точки зрения вычислительной сложности.
Это предположение позволяет криптографам надежно оценивать, сколько вычислительных мощностей требуется для взлома механизма инкапсуляции ключей (KEM) и восстановления симметричного ключа. В свою очередь, это обеспечивает уверенность в безопасности коммуникаций, даже с учётом таких технологических трендов, как закон Мура.
Однако в последние годы начали появляться компьютеры, использующие квантовую механику. Ключевое понятие — кубит, который не просто 1 или 0, а представляет собой вероятностную комбинацию обоих состояний одновременно. Квантовые вычисления оперируют кубитами, не вынуждая их принимать одно из состояний (этот процесс называется «коллапсом»).
Для получения дополнительной информации о квантовых вычислениях следует обратиться к специализированным источникам.
Будущий масштабируемый квантовый компьютер сможет использовать новые методы, такие как алгоритм Шора, способный решать задачу дискретного логарифма, чтобы скомпрометировать безопасность широко используемых алгоритмов на основе открытых ключей, таких как RSA и алгоритм Диффи-Хеллман, включая алгоритмы эллиптической кривой.
ML-KEM, напротив, разработан для защиты от будущих атак с использованием квантовых компьютеров. Для этого используется совершенно иной подход к решению «трудной задачи». ML-KEM был стандартизирован Национальным институтом стандартов и технологий США (NIST) в Федеральном стандарте обработки информации (FIPS) 203.
Он использует форму «решеточной криптографии», основанной на n-мерной решетке точек с регулярными интервалами в n-мерном пространстве. Эти точки можно представить как векторы, которые можно складывать, формируя группу трансляций.
Мощный метод использования этих математических техник для создания безопасных алгоритмов шифрования называется «обучение с ошибками» (LWE). Он основан на представлении секретной информации в виде набора уравнений с ошибками и появился в математическом сообществе относительно недавно, около 2010 года.
На данный момент масштабируемые квантовые компьютеры еще не существуют. Лучшая доступная лабораторная система впервые была успешно применена к RSA-криптографии. Однако она лишь факторизует 50-битное число с помощью квантовых методов — что намного короче длины ключей, используемых в производственных системах. Например, типичное Java-приложение использует длину ключа 2048 бит, что является разумным выбором, так как NIST считает эту длину ключа достаточной до 2030 года.
Несмотря на это, правительство США предписало, чтобы компьютерные системы, обрабатывающие конфиденциальную информацию, были обновлены в течение следующего десятилетия для использования ML-KEM и других будущих стандартов для защиты от квантовых атак. Например, АНБ намерено полностью перейти на постквантовые технологии не позднее 2033 года.
С 2024 года теоретически возможно, что атакующие государственного уровня начнут перехватывать и сохранять большие объемы зашифрованного трафика в ожидании возможности его расшифровки в будущем, когда появятся достаточно мощные квантовые компьютеры.
Иными словами, непосредственной угрозы нет — эти стандарты направлены на подготовку к будущему и минимизацию уязвимого трафика, который передается сегодня.
Путь вперед далек от ясности: с одной стороны, есть серьезные трудности, связанные с созданием более крупных квантовых компьютеров, которые могли бы угрожать современным ключам, что может привести к задержкам в создании жизнеспособных квантовых взломщиков; с другой стороны, новые техники могут ускорить их разработку.
Последний момент, который следует учитывать, — история интернет-стандартов безопасности показывает, что возможны проблемы совместимости и отсутствие четкого пути миграции, иногда называемое «окостенением протоколов». Это еще одна причина, почему важно начать работу над этим сейчас.
Недавний пост Cloudflare обсуждает как текущее состояние PQC, так и эти проблемы совместимости (на основе их опыта внедрения TLS 1.3).
В любом случае, учитывая известное долголетие и повсеместность Java, платформе необходимо начать поддержку постквантовых возможностей, даже опережая полную стандартизацию. Эти два JEP представляют первые шаги Java в мир за пределами классической криптографии на основе открытых ключей.
Обновление: Правительство Австралии объявило о схожих требованиях с правительством США, но эти рекомендации вступят в силу на 5 лет раньше — в 2030 году вместо 2035.
Присоединяйтесь к русскоязычному сообществу разработчиков на Spring Boot в телеграм — Spring АйО, чтобы быть в курсе последних новостей из мира разработки на Spring Boot и всего, что с ним связано.
ссылка на оригинал статьи https://habr.com/ru/articles/873886/
Добавить комментарий