Вопрос #1615369

В чем принципиальные различия между классической криптографией с симметричными ключами и криптографией с асимметричными ключами; опишите сценарии их совместного использования (hybrid crypto) и укажите возможные уязвимости на практике

Ответы
1


Кратко и по существу.
Принципиальные различия
- Математическая модель:
- Симметричная криптография: одна и та же секретная ключевая строка используется для шифрования и расшифровки. Обычно примеры: AES, ChaCha20.
- Асимметричная: пара ключей — открытый (public) и приватный (private). Открытый — для шифрования/проверки подписи, приватный — для расшифровки/подписания. Примеры: RSA, ECC.
- Распределение и доверие:
- Симметричная требует предварительно согласованного секретного ключа или защищённого канала для его передачи.
- Асимметричная позволяет распространять открытый ключ публично; доверие задаётся через PKI/сертификаты или веб‑of‑trust.
- Производительность и размеры:
- Симметричные алгоритмы значительно быстрее и экономнее по ресурсам (шифрование больших потоков/файлов).
- Асимметричные медленнее и требуют больших ключей для равной безопасности: например, \( \text{RSA-2048} \approx \text{AES-112} \), \( \text{ECC-256} \approx \text{AES-128} \).
- Безопасностные свойства:
- Симметричный: основная цель — конфиденциальность (плюс MAC/AEAD для целостности).
- Асимметричный: обеспечивает также удобства аутентификации, цифровой подписи, обмена ключами.
- Криптостойкость против квантовых атак:
- Асимметричные схемы (RSA, ECC) ломаются алгоритмом Шора (полиномиальное время).
- Симметричные устойчивы сильнее; Grover сокращает безопасность с \(n\) бит до приблизительно \(\frac{n}{2}\) бит (поэтому нужно удвоить длину ключа).
Сценарии совместного использования (hybrid crypto)
- Общая идея: использовать асимметрию для безопасной установки/аутентификации симметрического сессионного ключа, а симметричный ключ — для основного обмена/стримового шифрования (высокая скорость).
- Типичная схема KEM+DEM:
- KEM (Key Encapsulation Mechanism): асимметрично зашифровать/обменять случайный сессионный ключ.
- DEM (Data Encapsulation/Encryption Mechanism): симметрично зашифровать данные с этим ключом.
- Примеры:
- TLS: асимметричный обмен / ECDHE для установления сессионного ключа + AES‑GCM для трафика. ECDSA или RSA используются для аутентификации сервера/клиента.
- Защищённая электронная почта: отправитель шифрует симметрический ключ открытым ключом получателя и подписывает сообщение приватным ключом.
- Файловое шифрование: генерация случайного ключа для AES, этот ключ “заворачивается” (encrypted/wrapped) асимметричным ключом владельца.
- Усиления и практики:
- Использование AEAD (например AES‑GCM, ChaCha20‑Poly1305) для целостности + конфиденциальности.
- KDF/HKDF для деривации ключей, ephemeral ключи для PFS (forward secrecy).
Возможные уязвимости на практике
- Управление ключами:
- Утечка или компрометация приватных/секретных ключей (физически, через бэкапы, insider).
- Ненадёжное хранение — ключи в текстовых файлах, слабая защита HSM/TPM.
- Аутентификация открытых ключей / PKI:
- Компрометация CA, поддельные сертификаты, отсутствие или задержки в CRL/OCSP — MITM.
- Неправильная проверка цепочек сертификатов.
- Недостаточная случайность:
- Плохо сгенерированные ключи (слабый RNG) приводят к лёгкой атаке (например, повтор ключей в ECC/RSA).
- Известные примеры: устройства с предсказуемым RNG.
- Протокольные ошибки:
- Отсутствие аутентификации ключа — MITM при обмене.
- Повторное использование IV/nonce в режимах, где это критично (например, повтор nonce в AES‑GCM или в потоковых шифрах) — раскодирование/подмена.
- Padding oracle атаки (Bleichenbacher для RSA PKCS#1 v1.5, padding oracle для CBC).
- Слабые параметры/алгоритмы:
- Малые ключи (RSA-1024), устаревшие режимы (ECB), лёгкие кривые ECC, небезопасные хеши.
- Отсутствие алгоритмической гибкости (agility) — сложно перейти при компрометации.
- Побочные (side‑channel) и реализация:
- Тайминги, потребление энергии, электромагнитные утечки, ошибки в реализации (буферные переполнения).
- Примеры: атаки по времени на RSA, атаки на реализацию AES в HW/SW.
- Выбор‑шифра/атак на шифротекст:
- Chosen‑ciphertext атаки против незашифрованных/неаутентифицированных схем.
- Магия повторного использования ключей MAC, неправильная комбинация шифрования+MAC.
- Квантовая угроза:
- RSA/ECC уязвимы к Шору; нужно планировать переход на пост‑квантовые KEM или гибридные KEM (PQ + ECC) для долгосрочной секретности.
- Для симметричных схем достаточно увеличить длину ключа (например, перейти с \(n\) на \(\approx 2n\) против Grover'а).
Краткие рекомендации (практические меры)
- Использовать hybrid: асимметричный KEM (желательно эпхемерный для PFS) + AEAD для данных.
- Надёжный RNG, безопасное хранение ключей (HSM/TPM), регулярная ротация и управление жизненным циклом ключей.
- Проверка параметров (длины ключа, режимы), защита от side‑channel, корректная проверка сертификатов/ревокаций.
- Планирование миграции на пост‑квантовые решения для долгосрочной секретности.
Если нужно — приведу конкретную последовательность шагов протокола (KEM+DEM) с формулами/KaTeX.

Минимум 10 символов
Прямой эфир