Асимметричные ключи
Асимметричные ключи (также асимметричное шифрование, криптосистема с открытым ключом) — это метод шифрования данных, в котором для зашифровывания и расшифровывания используются два различных, но математически связанных ключа: открытый (публичный) и закрытый (приватный, секретный). В отличие от симметричного шифрования, где обе стороны используют один и тот же секретный ключ, асимметричные схемы решают проблему безопасной передачи ключа по незащищённым каналам. Открытый ключ может быть свободно распространён, в то время как закрытый ключ хранится в тайне и не подлежит передаче. Математическая основа асимметричного шифрования базируется на сложности решения определённых математических задач, таких как факторизация больших чисел или вычисление дискретного логарифма.
История
Концепция асимметричного шифрования была впервые публично предложена в 1976 году американскими криптографами Уитфилдом Диффи и Мартином Хеллманом в работе «Новые направления в криптографии». В этой работе они описали принцип обмена ключами, который позволял двум сторонам, не имеющим предварительно согласованного секрета, получить общий секретный ключ по открытому каналу. Однако первые практические реализации асимметричных криптосистем появились несколько раньше, но оставались засекреченными в рамках деятельности спецслужб.
В 1977 году Рональд Ривест, Ади Шамир и Леонард Адлеман (Массачусетский технологический институт) разработали алгоритм RSA, который стал первой полноценной криптосистемой с открытым ключом, пригодной как для шифрования, так и для цифровой подписи. RSA основывается на сложности разложения на множители больших целых чисел. В 1985 году Тахер Эль-Гамаль предложил алгоритм, основанный на задаче дискретного логарифмирования, который лёг в основу стандарта цифровой подписи DSA и схемы шифрования Эль-Гамаля. Позднее, в 1985 году, Нил Коблиц и Виктор Миллер независимо друг от друга предложили использовать эллиптические кривые для построения криптосистем, что привело к созданию криптографии на эллиптических кривых (ECC), которая обеспечивает сопоставимую стойкость при значительно меньшей длине ключа.
Принцип работы
Основные понятия
Асимметричная криптосистема состоит из трёх алгоритмов:
- Генерация ключей — процедура, в результате которой создаётся пара (открытый ключ, закрытый ключ). Генерация основана на случайном выборе начальных параметров и последующих математических операциях.
- Шифрование — преобразование открытого текста в шифротекст с использованием открытого ключа получателя. Выполнить это преобразование может любой, кто знает открытый ключ.
- Расшифрование — обратное преобразование шифротекста в открытый текст с использованием закрытого ключа получателя. Выполнить его может только владелец закрытого ключа.
Математическая основа
Безопасность асимметричного шифрования обеспечивается сложностью решения обратных задач. Например, в алгоритме RSA:
- Открытый ключ включает модуль \( n \) (произведение двух больших простых чисел \( p \) и \( q \)) и открытую экспоненту \( e \).
- Закрытый ключ включает те же \( p \) и \( q \), а также секретную экспоненту \( d \), которая вычисляется на основе \( e \) и функции Эйлера \( \phi(n) \).
- Шифрование: \( c = m^e \mod n \).
- Расшифрование: \( m = c^d \mod n \).
- Без знания \( p \) и \( q \) (или \( d \)) вычислить \( m \) из \( c \) практически невозможно, если \( n \) достаточно велико (обычно 2048 бит и более).
В криптографии на эллиптических кривых (ECC) безопасность основана на сложности задачи дискретного логарифма на эллиптической кривой. Для заданной точки \( G \) на кривой и точки \( Q = kG \) найти \( k \) (закрытый ключ) вычислительно трудно.
Классификация
Асимметричные криптосистемы классифицируются по математической основе:
По используемой математической задаче
- На основе факторизации — RSA (наиболее распространённый).
- На основе дискретного логарифмирования — алгоритм Эль-Гамаля, DSA, Diffie-Hellman.
- На основе эллиптических кривых — ECDSA, ECDH, EdDSA. Считаются более эффективными по соотношению стойкость/длина ключа.
- На основе решёток — криптосистемы, устойчивые к квантовым атакам (например, NTRU, Kyber, Dilithium). Активно развиваются в рамках постквантовой криптографии.
- На основе кодов, исправляющих ошибки — криптосистема Мак-Элиса, также устойчива к квантовым атакам.
По назначению
- Шифрование — RSA, Эль-Гамаль, ECIES.
- Цифровая подпись — RSA, DSA, ECDSA, EdDSA, ГОСТ Р 34.10-2012 (на основе эллиптических кривых).
- Протоколы обмена ключами — Diffie-Hellman, ECDH.
Применение
Асимметричные ключи широко используются в современных информационных системах:
Защита каналов связи
- Протокол TLS/SSL — основа защищённого соединения в интернете (HTTPS). На этапе рукопожатия (handshake) используется асимметричное шифрование для аутентификации сервера и безопасного обмена симметричным сессионным ключом.
- SSH — защищённый удалённый доступ к серверам.
- IPsec — защита IP-трафика на сетевом уровне.
Электронная подпись и аутентификация
- Электронная цифровая подпись (ЭЦП) — используется для подтверждения авторства и целостности документов. В России применяется стандарт ГОСТ Р 34.10-2012.
- Аутентификация пользователей — например, в системе PGP (Pretty Good Privacy) для электронной почты.
- Сертификаты открытых ключей — выдаются удостоверяющими центрами (CA) и подтверждают принадлежность открытого ключа конкретному лицу или организации (инфраструктура PKI).
Криптовалюты и блокчейн
- Биткойн и другие криптовалюты используют асимметричные ключи (ECDSA) для создания адресов кошельков и подписи транзакций. Закрытый ключ позволяет тратить средства, открытый ключ используется для проверки подписи.
- Смарт-контракты — в системах, таких как Ethereum, асимметричные ключи используются для управления аккаунтами.
Защита электронной почты
- PGP/GPG — позволяет шифровать и подписывать письма, используя пары открытых и закрытых ключей.
Преимущества и недостатки
Преимущества
- Решение проблемы распределения ключей — открытый ключ можно передавать по незащищённым каналам.
- Масштабируемость — в сети из \( n \) участников требуется всего \( n \) пар ключей, а не \( n(n-1)/2 \) симметричных ключей.
- Поддержка цифровой подписи — позволяет однозначно идентифицировать отправителя.
- Невозможность отказа от авторства — подпись, созданная закрытым ключом, может быть проверена любым обладателем открытого ключа.
Недостатки
- Низкая скорость — асимметричное шифрование в сотни и тысячи раз медленнее симметричного. Поэтому на практике его используют только для шифрования небольших объёмов данных (например, ключей).
- Большая длина ключа — для обеспечения стойкости, сопоставимой с симметричным шифрованием (например, AES-128), требуются ключи длиной 2048–3072 бит для RSA или 256 бит для ECC.
- Уязвимость к квантовым атакам — алгоритмы RSA и ECC могут быть взломаны с помощью квантового компьютера, использующего алгоритм Шора.
- Сложность управления ключами — необходимость верификации открытых ключей (через PKI) и защиты закрытых ключей.
Сравнение с симметричным шифрованием
| Характеристика | Симметричное шифрование | Асимметричное шифрование |
|---|---|---|
| Количество ключей | Один секретный ключ | Пара: открытый и закрытый |
| Скорость | Высокая | Низкая |
| Распределение ключей | Требуется защищённый канал | Не требуется защищённый канал |
| Цифровая подпись | Не поддерживает | Поддерживает |
| Типичная длина ключа | 128–256 бит | 2048–4096 бит (RSA), 256–521 бит (ECC) |
| Примеры | AES, ChaCha20, ГОСТ 28147-89 | RSA, ECDSA, ГОСТ Р 34.10-2012 |
На практике асимметричное и симметричное шифрование часто комбинируются: асимметричное шифрование используется для безопасной передачи симметричного ключа, который затем применяется для шифрования основного потока данных (гибридное шифрование).
Критика и уязвимости
Основные критические замечания в адрес асимметричных криптосистем связаны с их потенциальной уязвимостью перед квантовыми вычислениями. В 1994 году Питер Шор показал, что квантовый компьютер теоретически может эффективно решать задачи факторизации и дискретного логарифмирования, что сделает RSA и ECC небезопасными. В ответ на это активно развивается постквантовая криптография, в том числе в рамках конкурса NIST (Национальный институт стандартов и технологий США), который в 2024 году выбрал несколько алгоритмов для стандартизации (например, CRYSTALS-Kyber для шифрования и CRYSTALS-Dilithium для подписи).
Другие проблемы включают:
- Атаки по сторонним каналам — анализ времени выполнения, потребления энергии или электромагнитного излучения может позволить восстановить закрытый ключ.
- Уязвимости в реализации — ошибки в коде криптографических библиотек (например, уязвимость Heartbleed в OpenSSL).
- Проблемы с инфраструктурой открытых ключей (PKI) — компрометация удостоверяющих центров или подделка сертификатов.
Стандарты и регулирование в России
В Российской Федерации асимметричное шифрование регулируется рядом нормативных документов:
- ГОСТ Р 34.10-2012 — стандарт на алгоритмы цифровой подписи, использующие эллиптические кривые.
- ГОСТ Р 34.11-2012 — стандарт на хеш-функцию (Стрибог).
- ГОСТ 28147-89 — хотя это симметричный шифр, он часто используется в гибридных схемах с асимметричными ключами.
- Федеральный закон № 63-ФЗ «Об электронной подписи» — определяет правовой статус электронной подписи, в том числе на основе асимметричных ключей.
- Требования ФСБ России — устанавливают параметры криптографической стойкости для государственных информационных систем.
Источники
- Диффи У., Хеллман М. «Новые направления в криптографии» (1976).
- Ривест Р., Шамир А., Адлеман Л. «Метод получения цифровых подписей и криптосистем с открытым ключом» (1978).
- Коблиц Н. «Эллиптические кривые и криптография» (1987).
- Шор П. «Алгоритмы для квантовых компьютеров: дискретный логарифм и факторизация» (1994).
- Национальный институт стандартов и технологий (NIST). «Постквантовая криптография: стандартизация» (2024).
- ГОСТ Р 34.10-2012. «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи».
- Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →