6,4K подписчиков

Шифры, коды, алгоритмы – зачем они нужны обычному пользователю?

Если вам кажется, что шифрование данных возникло с появлением компьютеров, то вы ошибаетесь. Люди со времен Древнего Египта находили способы скрывать свои секреты, используя специальные символы, техники и инструменты передачи информации.

Что такое шифрование данных в современном мире?

В эпоху развитых технологий мы чаще пониманием под шифрованием процесс кодирования и раскодирования данных с использованием математических алгоритмов. Технология работает таким образом, что данные получат только те устройства и сервисы, которые знают метод шифрования и владеют специальным ключом для раскодирования. Поэтому в случае перехвата или кражи информации все данные останутся в зашифрованном виде. Даже если кто-то сможет каким-то образом подобрать комбинацию для расшифровки, чтобы скорректировать содержание, каждый код шифрования уникален, поэтому любое изменение создаст новую комбинацию, а значит, она уже не будет принята получателем.

Это делается для защиты конфиденциальности и целостности информации, и речь идет не только о шпионских сводках под грифом «секретно».

Например, когда пользователь вводит данные своей банковской карты для осуществления платежа, он рассчитывает, что эти данные получит только банк. Это не публичная информация, и она должна оставаться в тайне.

То же можно сказать и про персональные данные, личную и деловую переписку, различные документы и фотографии, которые отправляются по электронной почте или мессенджерам.

В зависимости от того, какую информацию и где нужно зашифровать, применяются различные методы:

  • Симметричные (AES), когда используется один и тот же ключ для шифрования и расшифрования. Алгоритмы этой технологии построены на последовательности простых математических операций, часть из которых используют данные ключа. Этот способ шифрования чаще применяется для шифрования больших объемов передаваемых и сохраняемых данных, например, в почтовых сервисах и мессенджерах.
  • Ассиметричные (RSA), когда, соответственно, используются разные ключи. Здесь уже применяются более сложные алгоритмы дискретного логарифмирования и факторизации. Это более трудоемкие для вычисления алгоритмы, поэтому они, как правило, используются для шифрования ключей или обмена ключами между абонентами (например, в протоколе TLS). Или например, он применяется для создания цифровых подписей.
  • Также стоит отметить алгоритмы хеширования, которые также относятся к математическим методам кодирования данных. Тут работает принцип преобразования любого объема информации в строку фиксированной длины. Это может быть и короткий пароль и роман в четырех тома, а на выходе будет одна строчка. Фактически, каждой полученной информации происходит присвоение индивидуальной метки. Но изменение хотя бы одного знака и символа внутри приведет к замене всей комбинации. Эту технологию часто применяют для проверки паролей – когда пользователь вводит пароль при авторизации, тот автоматически хешируется, и полученную комбинацию сравнивают с сохраненной на сервере.

Помимо самих алгоритмов на стойкость шифрования данных еще влияют режимы их использования (ECB, CBC, XTS, GCM). Каждый режим имеет свои достоинства и недостатки, и это определяет области их применения: шифрование дисков, каналов связи, последовательности сообщений.

Можно ли доверять шифрованию данных?

Большинство используемых алгоритмов были разработаны и проверены многими известными сообществами криптографов. Это гарантирует отсутствие слабостей непосредственно в алгоритмах. Но стоит помнить, что даже применение надежного алгоритма шифрования от провайдера услуг не позволит сохранить данные, если сам пользователь продолжает использовать ненадежное хранение паролей, слабые генераторы ключей, не обновляет программное и аппаратное окружение, которое может быть взломано, модифицировано или работать со сбоями.

Поэтому здесь работают базовые правила кибергигиены:

  • Перейти на беспарольные методы аутентификации, например, OnePass для авторизации ВКонтакте и других сервисах VK.
  • Настроить менеджеры паролей для сервисов, где нет возможности отказаться от пароля, и всегда выбирать сложные пароли, сгенерированные теми же менеджерами паролей (а не придуманные пользователями).
  • Включать 2FA во всех сервисах, где это поддерживается.
  • Регулярно обновлять операционные системы компьютера, мобильных устройств и приложений. Обновление ПО приводит к обновлению используемых там алгоритмов.
  • Не использовать публичный Wi-Fi, особенно, если необходимо вводить пароли и персональные данные, совершать платежи и другие финансовые операции.
  • Настроить шифрование домашней сети Wi-Fi по протоколу WPA3 или WPA2.