Шифрование
Преобразование данных по секретному ключу так, что прочитать их может только тот, у кого есть ключ для расшифровки.
Шифрование — преобразование данных с помощью математического алгоритма и ключа так, что без ключа они превращаются в бессмысленный набор байт. Оно защищает переписку, платежи, базы данных и резервные копии: даже если данные перехвачены или украдены, без ключа ими нельзя воспользоваться. Надежность шифрования держится не на секретности алгоритма — алгоритмы открыты и проверены годами, — а на секретности ключа.
Симметричное шифрование
Один и тот же ключ шифрует и расшифровывает. Это быстро и подходит для больших объемов: дисков, баз данных, файлов, сетевого трафика. Мировой стандарт — AES; российские стандарты — «Кузнечик» и «Магма» (ГОСТ Р 34.12-2015). Сложность — передать ключ собеседнику так, чтобы его не перехватили.
# Командная строка Linux
openssl enc -aes-256-cbc -pbkdf2 -in report.pdf -out report.pdf.enc
Команда зашифрует файл ключом, выведенным из пароля; расшифровка — та же команда с ключом -d.
Асимметричное шифрование
Используется пара ключей: открытый можно раздавать всем, закрытый хранится у владельца. Зашифрованное открытым ключом расшифрует только владелец закрытого. На тех же принципах построена электронная подпись: подписывают закрытым ключом, проверяют открытым. Алгоритмы — RSA и эллиптические кривые; российский стандарт подписи — ГОСТ Р 34.10-2012. Асимметричное шифрование медленное, поэтому им шифруют не данные, а ключи.
Как это работает вместе
Протокол TLS, на котором держится HTTPS, сочетает оба вида: асимметричная криптография помогает безопасно договориться об общем ключе, а дальше данные шифруются быстрым симметричным алгоритмом. Так же устроены VPN и защищенные мессенджеры.
Где шифруют данные
- При передаче — HTTPS, VPN, шифрованные соединения с базой данных.
- При хранении — шифрование дисков, отдельных полей в базе (паспортные данные), резервных копий.
- Сквозное шифрование — данные расшифровывает только получатель, даже сервер-посредник их не видит.
Чем шифрование не является
- Хеширование — необратимое преобразование. Пароли не шифруют, а хешируют специальными медленными алгоритмами (bcrypt, Argon2): даже владелец системы не должен уметь их восстановить.
- Проверка целостности — задача кодов аутентификации вроде HMAC; само по себе шифрование не всегда гарантирует, что данные не подменили.
Ключи и требования
Большинство взломов происходит не через алгоритм, а через ключи: забытые в коде, лежащие рядом с данными, никогда не менявшиеся. Ключи хранят в специальных хранилищах секретов или аппаратных модулях, доступ к ним ограничивают и регулярно меняют. Для государственных информационных систем и ряда случаев обработки персональных данных в России требуются средства криптографической защиты, сертифицированные ФСБ, с алгоритмами ГОСТ. Шифрование — одна из основ подхода Zero Trust.