Урок 16: Шифрование в мире кибербезопасности
Интернет по умолчанию небезопасен — шифрование это 'замок' цифровой информации. В предыдущих уроках мы уже встречали шифрование как концепцию: 'при передаче' (TLS/VPN) против 'в состоянии покоя' (диск, база данных). Этот урок открывает чёрный ящик: как шифрование вообще работает? Мы познакомимся с д
Вкратце: симметричное шифрование это один быстрый ключ — но как доставить ключ, чтобы его не украли по дороге? Асимметричное решает это парой ключей (открытый+закрытый), но оно очень медленное, поэтому гибридное использует его лишь для согласования временного ключа, а затем переключается на быстрое симметричное. Хеш это односторонний отпечаток, цифровая подпись это хеш, зашифрованный закрытым ключом, а TLS собирает всё это в протокол, стоящий за каждым защищённым сайтом.
- Симметричное шифрование
- Один и тот же ключ используется как для шифрования, так и для расшифрования — очень быстро, подходит для передачи огромных объёмов данных (AES сегодня ведущий стандарт). Безопасность держится на сохранении ключа в секрете (принцип Керкгоффса), а не на сокрытии алгоритма — в отличие от исторических шифров вроде шифра Цезаря, которые полагались на сокрытие самого метода.
- Управленческий вызов: распределение симметричных ключей
- Отправка ключа по открытой сети подвергает его краже. В крупной организации управление отдельным ключом для каждой пары пользователей требует огромного количества ключей (например, ~500 000 ключей для 1 000 сотрудников, которым нужно общаться друг с другом). А раскрытие одного ключа раскрывает все данные, когда-либо зашифрованные им, — в прошлом и в будущем.
- Асимметричное шифрование (открытый ключ)
- Пара ключей: открытый ключ, видимый всем, которым любой может зашифровать сообщение для вас; и закрытый ключ, хранимый в секрете, который единственный может расшифровать то, что было зашифровано открытым. Как почтовый ящик — любой может опустить письмо в прорезь (открытый), но только владелец физического ключа (закрытого) может открыть и прочитать его. Решает проблему распределения ключей — нет нужды заранее обмениваться секретом.
- Ограничения асимметричного шифрования
- Значительно медленнее — требует в 1 000–10 000 раз больше вычислительной мощности, чем симметричное шифрование, и неэффективно для больших файлов или потокового видео. Практическое решение: использовать его только для начального этапа 'рукопожатия' для обмена симметричным ключом, а не для шифрования самих данных.
- Гибридное шифрование
- Выигрышная комбинация: использовать асимметричное шифрование (как RSA) только для безопасной передачи временного секретного ключа, затем переключиться на быстрое симметричное шифрование (как AES) для собственно передачи тяжёлых данных. Временный ключ используется только для текущей сессии и уничтожается в её конце — результат это и безопасность распределения ключей, и максимальная скорость.
- Диффи-Хеллман: общий секрет без его отправки
- Механизм, позволяющий двум сторонам создать общий секретный ключ, даже если кто-то прослушивает всю связь между ними. Каждая сторона добавляет свой собственный 'закрытый секрет', который никогда не отправляется по сети, и после обмена промежуточными результатами каждая сторона вычисляет один и тот же секретный ключ. Прослушивающий видит только открытую информацию и промежуточные результаты — а не закрытые секреты. Диффи-Хеллман не шифрует саму информацию — он лишь создаёт общий ключ, который затем используется с симметричным шифрованием.
- Хеш-функции (отпечаток)
- Легко получить хеш из данных, но невозможно восстановить исходные данные из вывода (односторонность). Изменение даже одного бита ввода полностью меняет получаемый хеш. Используется для хранения паролей (хранится только хеш, а не сам пароль) и для проверки целостности файлов, скачанных из интернета.
- Цифровая подпись
- Подпись не скрывает информацию — она доказывает, кто её отправил и что она не была изменена. Процесс: создать хеш (отпечаток) документа, зашифровать его закрытым ключом отправителя (это и есть подпись) и отправить документ вместе с подписью. Получатель проверяет открытым ключом отправителя. Изменение одного бита в документе полностью ломает подпись, и она обеспечивает неотрекаемость — отправитель не может потом утверждать, что не отправлял его.
- TLS: не алгоритм, а протокол
- TLS это не единственный алгоритм, а фреймворк, объединяющий: рукопожатие (идентификацию), согласование набора шифров, обмен ключами (асимметричный, как RSA или Диффи-Хеллман) и собственно шифрование данных (симметричное, как AES) — с хешем (как SHA-256) для проверки целостности. HTTPS это 'конверт' (объемлющий протокол); TLS это защищённый 'движок' внутри него; AES/RSA это математические инструменты, выполняющие собственно работу.
- Kerberos: организационная аутентификация на основе билетов
- Центральная система аутентификации в средах Windows/Active Directory. Пользователь получает временный 'билет' от центрального органа (KDC) после первоначальной аутентификации и использует его для доступа к ресурсам без повторного ввода пароля — сам пароль никогда не передаётся по сети в открытом виде.