Два вида шифрования
- Симметричное: один ключ и шифрует, и расшифровывает (например, AES). Быстро, но ключ нужно как-то передать собеседнику.
- Асимметричное: пара ключей — открытый и закрытый (например, RSA, эллиптические кривые).
При чём тут безопасность: на асимметричной криптографии держатся HTTPS, электронная подпись и безопасная почта.
Открытый и закрытый ключ
Открытый ключ можно раздавать всем, закрытый хранят в секрете.
- Зашифрованное открытым ключом расшифрует только владелец закрытого.
- Подписанное закрытым ключом любой проверит открытым — так доказывается авторство и целостность.
Утечка закрытого ключа обнуляет всю защиту.
PKI
Как убедиться, что открытый ключ принадлежит именно банку, а не подделке? Для этого есть PKI — инфраструктура открытых ключей.
Удостоверяющий центр (CA) проверяет владельца и подписывает сертификат: «этот ключ принадлежит bank.ru». Браузер доверяет списку корневых CA и проверяет цепочку подписей до них.
Жизнь сертификата
У сертификата есть срок действия. Если закрытый ключ скомпрометирован, сертификат отзывают раньше срока.
Ошибки настройки PKI — просроченные сертификаты, слабые ключи, доверие к лишним CA — приводят и к сбоям сервисов, и к возможности перехвата.
Обфускация — не шифрование
Обфускация — запутывание кода или данных, чтобы их было сложно понять. Например, Base64 — это кодирование, которое любой раскодирует за секунду.
Обфускация замедляет анализ, но не защищает секреты. Злоумышленники обфусцируют вредоносные скрипты, чтобы обойти антивирус. Пароли и данные защищают настоящим шифрованием.
Главное за урок
- Симметричное — один ключ, асимметричное — пара открытый/закрытый.
- PKI и удостоверяющие центры подтверждают, чей это открытый ключ.
- Обфускация и Base64 — не шифрование.