Открыть сервис

FIPS 186-5

FIPS 186-5 — это федеральный стандарт обработки информации США (Federal Information Processing Standard), опубликованный Национальным институтом стандартов и технологий (NIST) 3 февраля 2023 года. Стандарт определяет алгоритмы цифровой подписи, одобренные для использования в государственных учреждениях США и их подрядчиках. FIPS 186-5 является пятой ревизией стандарта, который впервые был принят в 1994 году. Основное нововведение версии 186-5 — включение алгоритмов на основе эллиптических кривых в варианте Эдвардса (Edwards-curve Digital Signature Algorithm, EdDSA) и отказ от устаревших методов, таких как цифровая подпись на основе эллиптических кривых с детерминированным k (ECDSA) в некоторых режимах.

История

Предшественником FIPS 186-5 был стандарт FIPS 186-4, принятый в 2013 году и обновлённый в 2019 году. В 2019 году NIST начал процесс пересмотра стандарта, чтобы адаптировать его к современным требованиям криптографической стойкости и производительности. Основными причинами для обновления стали:

  • Устаревание SHA-1: алгоритм хеширования SHA-1, используемый в некоторых режимах подписи, был признан небезопасным из-за возможности коллизий.
  • Развитие постквантовой криптографии: хотя FIPS 186-5 не включает постквантовые алгоритмы, NIST учёл необходимость перехода к ним в будущем.
  • Популяризация EdDSA: алгоритм EdDSA (на основе кривой Curve25519) показал более высокую производительность и безопасность по сравнению с классическим ECDSA, особенно на встраиваемых устройствах.

Проект стандарта был опубликован для общественного обсуждения в 2021 году, а финальная версия утверждена в 2023 году. FIPS 186-5 заменил FIPS 186-4 и стал обязательным для всех федеральных агентств США с 2024 года.

Алгоритмы, включённые в стандарт

FIPS 186-5 определяет три основных алгоритма цифровой подписи:

1. DSA (Digital Signature Algorithm)

DSA — классический алгоритм, основанный на задаче дискретного логарифмирования в конечных полях. Он был включён в первую версию стандарта (FIPS 186) в 1994 году. В FIPS 186-5 DSA сохраняется, но с ограничениями:

  • Размер ключа: от 1024 до 3072 бит.
  • Используемые хеш-функции: SHA-224, SHA-256, SHA-384, SHA-512.
  • DSA с размером ключа 1024 бит считается устаревшим и не рекомендуется для новых применений.

2. ECDSA (Elliptic Curve Digital Signature Algorithm)

ECDSA — вариант DSA, использующий эллиптические кривые. Он обеспечивает более высокую безопасность при меньших размерах ключей. В FIPS 186-5 ECDSA поддерживается, но с изменениями:

  • Детерминированный вариант: в FIPS 186-4 требовалось использование случайного k для каждой подписи. В FIPS 186-5 разрешён детерминированный ECDSA, где k вычисляется как хеш от закрытого ключа и сообщения, что устраняет уязвимости, связанные с плохим генератором случайных чисел.
  • Кривые: NIST P-256, P-384, P-521 (стандартные кривые NIST), а также кривые Brainpool (RFC 5639) и Secp256k1 (используется в Bitcoin).
  • Хеш-функции: SHA-224, SHA-256, SHA-384, SHA-512.

3. EdDSA (Edwards-curve Digital Signature Algorithm)

EdDSA — новый алгоритм, впервые включённый в стандарт. Он основан на скрученных кривых Эдвардса и отличается высоким быстродействием и устойчивостью к атакам по побочным каналам. В FIPS 186-5 определены две кривые:

  • Ed25519: кривая с 256-битным ключом, обеспечивающая безопасность, эквивалентную 128-битному симметричному шифрованию. Рекомендована для большинства применений.
  • Ed448: кривая с 448-битным ключом, обеспечивающая безопасность, эквивалентную 224-битному симметричному шифрованию. Используется для высокозащищённых систем.

EdDSA использует хеш-функцию SHA-512 (для Ed25519) или SHAKE256 (для Ed448). Алгоритм не требует генерации случайных чисел при подписании, что делает его предпочтительным для устройств с ограниченными ресурсами.

Критерии выбора алгоритмов

NIST при разработке FIPS 186-5 руководствовался следующими принципами:

  • Безопасность: все алгоритмы должны быть устойчивы к известным атакам, включая атаки на основе квантовых компьютеров (хотя постквантовые алгоритмы не включены).
  • Совместимость: стандарт должен поддерживать взаимодействие с существующими системами, поэтому DSA и ECDSA сохранены.
  • Производительность: EdDSA превосходит ECDSA по скорости подписания и верификации, особенно на процессорах с поддержкой инструкций SIMD.
  • Открытость: алгоритмы основаны на открытых спецификациях (RFC 8032 для EdDSA).

Применение

FIPS 186-5 обязателен для использования в:

  • Федеральных информационных системах США (например, в системах электронного документооборота, голосования, управления доступом).
  • Продуктах, поставляемых правительству США (например, в криптографических библиотеках, аппаратных модулях безопасности).
  • Международных стандартах, где требуется совместимость с американскими системами (например, в протоколах TLS 1.3, SSH, DNSSEC).

В России и других странах FIPS 186-5 не является обязательным, но его алгоритмы (особенно EdDSA) широко используются в международных криптографических протоколах. Например, Ed25519 применяется в протоколе SSH, в системе управления версиями Git, в блокчейн-платформах.

Критика и ограничения

Несмотря на преимущества, FIPS 186-5 подвергается критике по нескольким причинам:

  • Отсутствие постквантовых алгоритмов: стандарт не включает алгоритмы, устойчивые к квантовым компьютерам (например, CRYSTALS-Dilithium или Falcon). NIST планирует включить их в будущую версию FIPS 186-6, но переходный период может затянуться.
  • Сложность поддержки устаревших алгоритмов: DSA и ECDSA с 1024-битными ключами считаются небезопасными, но их поддержка замедляет внедрение более современных решений.
  • Зависимость от NIST: использование кривых NIST (P-256, P-384, P-521) вызывает опасения из-за возможных бэкдоров, хотя доказательств этому нет. EdDSA на основе Curve25519 (разработанной Дэниелом Бернштейном) считается более прозрачной.
  • Ограниченная поддержка в России: российские стандарты (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012) несовместимы с FIPS 186-5, что создаёт сложности при интеграции с международными системами.

Влияние на криптографию

FIPS 186-5 ускорил переход к EdDSA как к стандарту де-факто для цифровых подписей. Многие крупные компании (Google, Microsoft, Cloudflare) уже внедрили Ed25519 в свои продукты. Стандарт также стимулировал развитие аппаратных ускорителей для эллиптических кривых Эдвардса.

Источники

  • National Institute of Standards and Technology. FIPS 186-5: Digital Signature Standard (DSS). — 2023.
  • Bernstein, D. J., et al. High-speed high-security signatures. — Journal of Cryptographic Engineering, 2012.
  • RFC 8032: Edwards-Curve Digital Signature Algorithm (EdDSA). — IETF, 2017.
  • NIST Special Publication 800-186: Recommendations for Discrete Logarithm-based Cryptography. — 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →