Skip to content

🔒 Шифрование и защита данных

1. Что такое шифрование?

Шифрование (Encryption) — это процесс преобразования информации в нечитаемую форму для защиты от несанкционированного доступа. Зашифрованные данные могут быть прочитаны только при наличии ключа расшифровки.

💡 Цель шифрования: - Сохранить конфиденциальность данных. - Обеспечить целостность информации. - Подтвердить подлинность отправителя (в случае асимметричного шифрования).


2. Основные термины

Термин Описание
Открытый текст (Plaintext) Исходные данные, которые нужно зашифровать.
Шифротекст (Ciphertext) Зашифрованные данные.
Алгоритм шифрования Математическая функция, используемая для преобразования данных.
Ключ шифрования Секретное значение, необходимое для шифрования и/или расшифровки.
Симметричное шифрование Использует один ключ для шифрования и расшифровки.
Асимметричное шифрование Использует пару ключей: открытый и закрытый.

3. Виды шифрования

🔐 Симметричное шифрование

  • Один ключ используется и для шифрования, и для расшифровки.
  • Быстрее, чем асимметричное.
  • Примеры алгоритмов: AES, DES, 3DES, Blowfish.

Пример:

plain_text = "Hello World"
key = "secret_key"
cipher_text = encrypt(plain_text, key)

🧷 Асимметричное шифрование

  • Используется пара ключей: открытый (публичный) и закрытый (приватный).
  • Открытым ключом можно шифровать, приватным — расшифровывать.
  • Также используется для цифровой подписи.
  • Примеры: RSA, ECC (Elliptic Curve Cryptography), Diffie-Hellman.

Пример:

plain_text = "Secret Message"
public_key = "recipient_public_key"
cipher_text = encrypt(plain_text, public_key)

4. Хэширование vs Шифрование

Признак Шифрование Хэширование
Назначение Защита конфиденциальности Проверка целостности
Обратимость Да (с ключом) Нет
Результат Может быть расшифрован Не может быть восстановлен
Примеры алгоритмов AES, RSA SHA-256, MD5, SHA-1

⚠️ Хэширование не является шифрованием, но часто используется вместе с ним.


5. Современные алгоритмы шифрования

Алгоритм Тип Описание
AES (Advanced Encryption Standard) Симметричный Широко используется, поддерживает длину ключей 128, 192 и 256 бит.
RSA (Rivest–Shamir–Adleman) Асимметричный Основан на сложности факторизации больших чисел.
ECC (Elliptic Curve Cryptography) Асимметричный Более эффективен, чем RSA, особенно на мобильных устройствах.
Blowfish / Twofish Симметричный Быстрые алгоритмы, подходят для систем с ограниченными ресурсами.
ChaCha20 Симметричный Используется в TLS, менее уязвим к атакам, чем RC4.

6. Как работает SSL/TLS?

SSL/TLS — протоколы, обеспечивающие безопасную передачу данных через интернет. Они используют комбинацию симметричного и асимметричного шифрования.

🔁 Этапы работы TLS:

  1. Handshake (рукопожатие):
  2. Клиент и сервер обмениваются параметрами.
  3. Сервер предоставляет свой сертификат с публичным ключом.
  4. Устанавливается общий секретный ключ (обычно через Diffie-Hellman).

  5. Обмен данными:

  6. Все данные шифруются с использованием общего ключа (симметричное шифрование).

  7. Завершение:

  8. После завершения сессии ключ уничтожается.

✅ Пример: когда вы заходите на https://example.com, ваш браузер использует TLS для безопасного соединения.


7. Цифровые сертификаты и PKI

PKI (Public Key Infrastructure) — инфраструктура открытых ключей, которая позволяет обеспечить доверие между сторонами.

Основные элементы PKI:

Компонент Описание
Цифровой сертификат Электронный документ, связывающий открытый ключ с идентичностью владельца.
Удостоверяющий центр (CA) Организация, выпускающая и проверяющая сертификаты. Примеры: Let's Encrypt, DigiCert, Comodo.
Промежуточный CA Посредник между корневым CA и конечным пользователем.
OCSP / CRL Механизмы проверки действительности сертификатов.

8. Шифрование в повседневной жизни

Пример Использование шифрования
HTTPS-сайты TLS/SSL для безопасного соединения.
Мессенджеры (Telegram, WhatsApp) End-to-end шифрование.
Файлы и диски Шифрование дисков (BitLocker, FileVault), защищённые архивы (ZIP, RAR).
VPN Туннелирование и шифрование всего трафика.
Электронная подпись Использование асимметричного шифрования для подтверждения подлинности.

9. Полезные практики шифрования

Рекомендация Описание
Используйте AES-256 для хранения данных. Это стандарт де-факто для симметричного шифрования.
Используйте HTTPS на всех сайтах. Для защиты передачи данных.
Включайте шифрование диска. Особенно на ноутбуках и мобильных устройствах.
Не храните ключи вместе с данными. Это снижает уровень безопасности.
Используйте менеджеры паролей. Например, Bitwarden, KeePass, 1Password.
Обновляйте ПО регулярно. Чтобы избежать уязвимостей в старых версиях алгоритмов.

10. Распространённые ошибки

Ошибка Риск
Использование устаревших алгоритмов (например, DES, MD5) Высокий риск взлома.
Хранение ключей в открытом виде Злоумышленник получает доступ ко всем данным.
Использование одного ключа для множества пользователей Сложно отслеживать доступ.
Отсутствие ротации ключей Если ключ скомпрометирован, он остаётся опасным.
Использование простых паролей Можно подобрать ключ или получить доступ к системе.

11. FAQ

❓ В чём разница между шифрованием и кодированием?

  • Шифрование — защищает данные от просмотра.
  • Кодирование — изменяет формат данных (например, Base64), но не обеспечивает безопасности.

❓ Можно ли взломать AES-256?

  • Теоретически — да, но практически — нет. На сегодняшний день нет успешных атак на AES-256.

❓ Нужно ли шифровать все данные?

  • Только чувствительные данные (персональные, финансовые, медицинские). Не обязательно шифровать публичные файлы.

❓ Что такое end-to-end шифрование?

  • Это тип шифрования, при котором данные шифруются на устройстве отправителя и расшифровываются только на устройстве получателя. Даже сервер не имеет к ним доступа.

12. Полезные ссылки