Шифрование, кодирование и хэширование – в чём разница?
Все три термина – шифрование, кодирование и хэширование – в какой-то степени синонимичны, но всё же применяются по-разному. В этой статье мы разберёмся в различиях и применении детально.
Шифрование
Шифрование (англ. encryption) употребляется, в основном, в отношении мессенджеров и шифрования сообщений. Сейчас наиболее распространён такой термин, как «сквозное шифрование» (анг. end-to-end encryption). По сути, шифрование – это такая техника кодирования данных, при которой, например, сообщение зашифровано таким алгоритмом, что только авторизированные пользователи могут получить доступ к информации. Шифрование используется, когда нужно переслать конфиденциальные данные, такие как, например, комбинацию из логина и пароля или других чувствительных данных.
В шифровании информация может быть зашифрована с помощью специальных алгоритмов – AES (англ. Advanced Encryption Standard – симметричный алгоритм блочного шифрования, принятый в качестве стандарта правительством США, является одним из самых популярных алгоритмов шифрования) и RSA (аббревиатура от англ. Rivest, Shamir, Adleman, криптографический шифровальный алгоритм с открытым ключом, первый алгоритм, пригодный как для шифрования, так и для цифровой подписи). Зашифрованная информация называется «шифротекст» (ciphertext), которая может переводиться обратно в исходник – «простой текст» (plain text), и наоборот – простой текст шифруется в шифротекст. Существует два вида шифровальных алгоритмов – симметричный и асимметричный. В симметричном информация шифруется и дешифруется с помощью одного и того же ключа, в асимметричном – с помощью двух ключей, например, один для шифрования, другой для дешифрования.
Кодирование
Кодирование (англ. encoding) применяется, чтобы трансформировать информацию из одной формы в другую, сделать её читаемой для нужных систем, удобного хранения и автоматической переработки. Кодирование не используется для защиты данных, а алгоритмы кодирования зачастую не уникальны. Кодирование используется, если, например, нужно уменьшить размер аудио или видеофайла, каждый формат аудио и видео имеет соответствующую кодирующую и декодирующую программу.
У кодирования есть несколько направлений: сжатие данных, транспортное кодирование (дополнительное кодирование для совместимости с протоколами передачи данных), криптография (преобразование информации для конфиденциальной передачи), физическое кодирование (трансформация сигналов в шкалу данных, например, амплитуду тока), обнаружение и исправление ошибок (контроль целостности данных при воспроизведении). Примерами программ кодирования можно отметить ASCII, BASE64, UNICODE и др.
Хэширование
При хэшировании (англ. hashing) информация конвертируется в хэш, используя хэш-функции. Хэш-функция осуществляет преобразование массива вводных данных в битовую строку заданной длины, выполняемое определённым алгоритмом. То есть хэширование полезно, когда нужно перевести информацию произвольного размера в информацию определённого размера.
Хэш-функции применяются при создании уникальных идентификаторов для наборов данных, при сохранении паролей в системах защиты в виде хэш-кода, при создании электронной подписи, при поиске дублирующихся данных в больших массивах информации и др. Исходные данные в хэшировании называются «ключом», а результат преобразования – «хэш-кодом».
Существует множество алгоритмов хэширования в соответствии со спецификой решаемой задачи, например, алгоритмы по разрядности, вычислительной сложности или криптостойкости.
Шифрование и хэширование для защиты конфиденциальной информации
Как мы уже объяснили, кодирование применяется не для защиты данных, а всего лишь для приведения массивов данных в удобочитаемый для системы формат и размер. Шифрование и хэширование, наоборот, отвечают за сохранность информации при передаче и хранении.
Если мы говорим о хранении и передаче информации на рабочем месте, конечно, нельзя не сказать о большом количестве данных, которые проходят через устройства сотрудников и рисках утечки конфиденциальной информации. Сотрудники, не работающие в отделе информационной безопасности компании и, соответственно, не вникающие в детали такого метода защиты, как шифрование или хэширование, нуждаются в гораздо более универсальном методе защиты данных. Комплексную защиту данных может предоставить надёжная DLP-система.
Например, DLP-система SecureTower от Falcongaze может анализировать данные по множеству параметров, в том числе и по вышеупомянутым хэш-функциям. А также:
Контентный анализ файлов и документов по содержимому:
- анализ текстовых файлов и отправляемого текста (учитываются морфологические особенности языка, анализируется текст с грамматическими ошибками либо написанный транслитом);
- анализ изображений (распознавание текста на изображениях, печатей, штампов);
- анализ голосовых сообщений и звонков, распознавание речи Анализ по добавленным шаблонам/ регулярным выражениям (распознавание пересылаемых банковских карт, фото паспорта, внутренних документов).
Статистический анализ количественный учет выполняемых действий;
Анализ общих связей между сотрудниками выявление путей распространения информации;
Анализ по цифровым отпечаткам;
Распознавание замаскированных файлов;
Анализ CAD-файлов.
После анализа перехваченных данных, если есть нарушение правила безопасности, система автоматически уведомляет об инциденте со всей информацией о нём.
Вывод: таким образом, все три термина – шифрование, кодирование и хэширование – используются для преобразования данных из одной формы в другую для безопасности передачи или удобства распознавания. Однако следует помнить, что конфиденциальные данные можно защитить шифрованием или хэшированием. Для надёжности, особенно данных организации, лучше прибегнуть к дополнительным мерам защиты в виде функциональной DLP-системы.