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

Криптографический ключ

Криптографический ключ — это секретный параметр, используемый алгоритмом шифрования для преобразования открытого текста в шифротекст и обратно, а также для создания и проверки цифровых подписей. Ключ определяет конкретное преобразование из множества возможных, задаваемых алгоритмом, и обеспечивает конфиденциальность, целостность и аутентичность данных. В отличие от алгоритма шифрования, который может быть общеизвестным, ключ должен оставаться секретным для неавторизованных сторон.

Основные свойства

Криптографический ключ представляет собой последовательность битов фиксированной длины, обычно измеряемую в битах (например, 128, 256, 2048 или 4096 бит). Длина ключа напрямую влияет на криптостойкость системы: чем длиннее ключ, тем больше возможных комбинаций и тем сложнее его подобрать методом полного перебора (brute-force). Однако увеличение длины ключа требует больших вычислительных ресурсов для выполнения операций шифрования и дешифрования.

Ключи генерируются с использованием криптографически стойких генераторов случайных чисел, которые обеспечивают непредсказуемость и равномерное распределение битов. Использование слабых или предсказуемых ключей делает систему уязвимой для атак, даже если алгоритм шифрования сам по себе является надёжным.

Классификация криптографических ключей

По типу алгоритма

  • Симметричные ключи — используются в алгоритмах симметричного шифрования, где один и тот же ключ применяется как для шифрования, так и для дешифрования данных. Примеры алгоритмов: AES, DES, ГОСТ 28147-89. Основная проблема симметричных ключей — необходимость безопасной передачи ключа между отправителем и получателем.
  • Асимметричные ключи — используются в алгоритмах с открытым ключом. Каждая сторона имеет пару ключей: открытый ключ (public key), который может быть опубликован, и закрытый ключ (private key), который хранится в секрете. Открытый ключ применяется для шифрования данных или проверки подписи, закрытый — для дешифрования или создания подписи. Примеры: RSA, ECDSA, ГОСТ Р 34.10-2012.

По назначению

  • Ключи шифрования — предназначены для защиты конфиденциальности данных.
  • Ключи аутентификации — используются для проверки подлинности сообщений (например, HMAC-ключи).
  • Ключи цифровой подписи — закрытый ключ для создания подписи, открытый — для её верификации.
  • Сеансовые ключи — временные ключи, генерируемые для одного сеанса связи, после которого уничтожаются. Обычно применяются в протоколах TLS/SSL.
  • Мастер-ключи — долговременные ключи, используемые для шифрования других ключей (например, в системах управления ключами).

По способу хранения

  • Программные ключи — хранятся в файлах или памяти устройства, защищены паролями или операционной системой.
  • Аппаратные ключи — хранятся в защищённых аппаратных модулях (HSM), смарт-картах, токенах (например, USB-токены Рутокен, JaCarta), TPM-чипах. Аппаратное хранение значительно усложняет извлечение ключа злоумышленником.

Жизненный цикл ключа

Управление криптографическими ключами включает несколько этапов:

  1. Генерация — создание ключа с использованием стойкого источника случайности.
  2. Распределение — безопасная передача симметричного ключа или публикация открытого ключа.
  3. Хранение — обеспечение конфиденциальности и целостности ключа (например, с помощью шифрования ключа мастер-ключом).
  4. Использование — применение ключа для криптографических операций.
  5. Ротация — периодическая замена ключей для снижения риска компрометации.
  6. Архивирование — сохранение старых ключей для дешифрования ранее зашифрованных данных.
  7. Уничтожение — безвозвратное удаление ключа, когда он больше не нужен.

Нарушение любого из этапов может привести к утечке ключа и компрометации всей системы.

Длина ключа и криптостойкость

Длина ключа является одним из главных факторов, определяющих устойчивость к атакам полным перебором. Согласно рекомендациям NIST (Национальный институт стандартов и технологий США) на 2023–2024 годы:

  • Для симметричных алгоритмов минимальная длина ключа — 128 бит (AES-128), рекомендуемая — 256 бит (AES-256).
  • Для асимметричных алгоритмов на основе факторизации (RSA) — не менее 2048 бит, рекомендуемая — 4096 бит.
  • Для асимметричных алгоритмов на основе эллиптических кривых (ECDSA, EdDSA) — не менее 256 бит.

С появлением квантовых компьютеров классические алгоритмы (RSA, ECDSA) становятся уязвимыми, что стимулирует разработку постквантовой криптографии, использующей ключи существенно большей длины или иные математические принципы.

Управление ключами в России

В Российской Федерации оборот и использование криптографических ключей регулируется рядом нормативных документов:

  • Федеральный закон № 63-ФЗ «Об электронной подписи» (2011) — определяет требования к ключам электронной подписи.
  • Приказы ФСБ России — устанавливают требования к криптографическим средствам защиты информации (СКЗИ).
  • ГОСТ 28147-89 и ГОСТ Р 34.10-2012 — национальные стандарты шифрования и электронной подписи, обязательные для использования в государственных информационных системах.

Ключевые пары для электронной подписи в России должны создаваться с использованием сертифицированных ФСБ СКЗИ. Закрытые ключи подлежат обязательному хранению на защищённых носителях (токенах), а их компрометация должна быть зафиксирована и может повлечь административную или уголовную ответственность.

Криптографический ключ в блокчейне

В технологиях блокчейн и криптовалютах криптографические ключи играют центральную роль. Пользователь владеет закрытым ключом, который даёт доступ к средствам на адресе (производном от открытого ключа). Потеря закрытого ключа означает безвозвратную потерю доступа к активам. В некоторых криптовалютах (например, Bitcoin) используется алгоритм ECDSA с ключом длиной 256 бит. В России использование криптовалют не запрещено, но их оборот регулируется законом «О цифровых финансовых активах» (2020), а операции с ними контролируются Центральным банком.

Атаки на криптографические ключи

Основные методы атак, направленных на компрометацию ключей:

  • Полный перебор — перебор всех возможных значений ключа. Эффективен только для коротких ключей.
  • Атаки по сторонним каналам — анализ времени выполнения операций, энергопотребления, электромагнитного излучения устройства.
  • Социальная инженерия — получение ключа от пользователя обманом.
  • Атаки на генераторы случайных чисел — если генератор предсказуем, злоумышленник может восстановить ключ.
  • Квантовые атаки — с помощью алгоритма Шора квантовый компьютер может взломать RSA и ECDSA, но не симметричные алгоритмы (AES устойчив при удвоении длины ключа).

Интересные факты

  • В 1999 году сообщество Distributed.net взломало 56-битный ключ DES за 22 часа методом распределённого перебора.
  • Длина ключа в 256 бит (AES-256) считается достаточной для защиты данных от атак с использованием любых современных и ближайших перспективных классических компьютеров.
  • В 2022 году NIST выбрал четыре алгоритма постквантовой криптографии, использующие ключи длиной от 4400 до 16000 бит.
  • В России с 2021 года действует ГОСТ Р 34.11-2012 «Стрибог» для хеширования, который не использует ключи, но применяется в схемах электронной подписи совместно с ГОСТ Р 34.10-2012.

Источники

  • Федеральный закон № 63-ФЗ «Об электронной подписи» (2011).
  • ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования».
  • ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
  • NIST Special Publication 800-57 «Recommendation for Key Management» (2020).
  • Menezes A., van Oorschot P., Vanstone S. «Handbook of Applied Cryptography» (1996).
  • Приказы ФСБ России о требованиях к СКЗИ (2005–2023).

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

На главную BFOmetr →