Криптография и TLS
Криптография отвечает на три вопроса безопасности — конфиденциальность (никто не прочитает), целостность (никто не подменит) и подлинность (это точно тот, за кого себя выдаёт). На собеседовании по безопасности проверяют не формулы, а понимание, каким примитивом решается какая задача и почему наивные схемы ломаются.
Здесь собраны базовые кирпичи: симметричные и асимметричные шифры, пара ключей, гибридная схема (именно её использует TLS), цифровой сертификат и заверяющий его удостоверяющий центр CA, само TLS-рукопожатие и отдельная дисциплина — хранение паролей. Главные ловушки называем сразу: шифрование путают с хэшированием, «асимметрию» считают быстрой, а быстрый хэш MD5 — годным для паролей. Полная карта — в слоях ниже.
Карта темы
- Симметричное и асимметричное шифрование — один общий ключ против пары ключей, скорость против проблемы доставки ключа.
- Открытый и закрытый ключ — как связана пара, чем шифруют для конфиденциальности и чем подписывают для подлинности.
- Гибридное шифрование — почему объёмные данные шифруют симметрично, а асимметрией защищают только сам сеансовый ключ.
- Цифровой сертификат — привязка личности к открытому ключу и чем сертификат отличается от голого ключа.
- Удостоверяющий центр (CA) — кто и как заверяет сертификаты, цепочка доверия до корневого
CA. - TLS-рукопожатие — как HTTPS согласует шифры, проверяет сертификат и переходит на симметричный сеансовый ключ.
- Хранение паролей — почему
MD5/SHA-1недопустимы и как устроен медленный солёный хэш.
Частые ошибки и ловушки
| Ошибка | Последствие |
|---|---|
| Путать шифрование (обратимо) с хэшированием (необратимо) | Пароли «шифруют» с ключом и получают обратимость плюс единую точку отказа |
| Считать асимметричное шифрование быстрым и годным для больших данных | На практике оно на порядки медленнее и ограничено размером ключа |
| Думать, что сертификат содержит закрытый ключ | Утечка закрытого ключа при передаче сертификата; сертификат несёт только открытый |
| Доверять любому самоподписанному сертификату | Пропуск man-in-the-middle — доверие даёт только подпись CA |
Хранить пароли через MD5/SHA-1 с солью | Быстрый хэш перебирают миллиардами в секунду даже с солью |
| Считать, что весь HTTPS шифруется асимметрично | Асимметрия только вырабатывает сеансовый ключ, дальше — симметрия |
Значение для собеседований
Крипто-вопросы — это проверка, отличаете ли вы примитивы и понимаете ли их назначение, а не знание внутренностей AES. Кандидат, который говорит «пароли не шифруют, а солят и хэшируют медленным Argon2, потому что шифрование обратимо и держит ключ единой точкой отказа», сразу выделяется на фоне «ну, там MD5 с солью».
Что обычно проверяют:
- Разницу симметрии и асимметрии и почему в реальности их совмещают гибридно.
- Роли пары ключей — каким ключом шифруют для конфиденциальности, каким подписывают.
- Что такое сертификат, чем он отличается от ключа и откуда берётся доверие к нему.
- Ход TLS-рукопожатия и почему трафик в итоге шифруется симметрично.
- Как правильно хранить пароли и почему
MD5/SHA-1и «шифрование паролей» — неверные ответы.
Типичный неверный ответ: «пароли надёжно хранить, зашифровав их AES». Это даёт обратимость (утёк ключ — утекли все пароли) и не защищает от компрометации самого сервера; правильный ответ — необратимый медленный солёный хэш bcrypt/scrypt/Argon2.