Криптографический ключ
Криптографический ключ — это секретный параметр, используемый алгоритмом шифрования для преобразования открытого текста в шифротекст и обратно, а также для создания и проверки цифровых подписей. Ключ определяет конкретное преобразование из множества возможных, задаваемых алгоритмом, и обеспечивает конфиденциальность, целостность и аутентичность данных. В отличие от алгоритма шифрования, который может быть общеизвестным, ключ должен оставаться секретным для неавторизованных сторон.
Основные свойства
Криптографический ключ представляет собой последовательность битов фиксированной длины, обычно измеряемую в битах (например, 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-чипах. Аппаратное хранение значительно усложняет извлечение ключа злоумышленником.
Жизненный цикл ключа
Управление криптографическими ключами включает несколько этапов:
- Генерация — создание ключа с использованием стойкого источника случайности.
- Распределение — безопасная передача симметричного ключа или публикация открытого ключа.
- Хранение — обеспечение конфиденциальности и целостности ключа (например, с помощью шифрования ключа мастер-ключом).
- Использование — применение ключа для криптографических операций.
- Ротация — периодическая замена ключей для снижения риска компрометации.
- Архивирование — сохранение старых ключей для дешифрования ранее зашифрованных данных.
- Уничтожение — безвозвратное удаление ключа, когда он больше не нужен.
Нарушение любого из этапов может привести к утечке ключа и компрометации всей системы.
Длина ключа и криптостойкость
Длина ключа является одним из главных факторов, определяющих устойчивость к атакам полным перебором. Согласно рекомендациям 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 →