img

Принципы криптографии и шифрования

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

В этой статье вы узнаете о различных стандартах и алгоритмах шифрования и о том, как они используются для обеспечения конфиденциальности данных в сети. Кроме того, вы узнаете о методах, которые злоумышленники используют для получения секретного ключа и дешифрования. Кроме того, вы узнаете о различных методах хеширования, которые используются для проверки целостности данных. Затем вы изучите как симметричные, так и асимметричные алгоритмы, а также инфраструктуру открытых ключей (Public Key Infrastructure - PKI).


Понимание необходимости криптографии

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

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

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

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

Любые данные (сообщения), которые не зашифрованы, называются открытым текстом. Если кто-то получит доступ к открытому тексту, он сможет прочитать его содержимое. Чтобы зашифровать сообщение, открытый текст обрабатывается специальным алгоритмом, который преобразует сообщение с открытым текстом в нечитаемый формат. Этот алгоритм называется шифром. Шифр также использует ключ для выполнения процесса шифрования, чтобы преобразовать сообщение в зашифрованный текст. Зашифрованный текст - это зашифрованный формат открытого текста, который не может прочитать никто, кроме тех, кто имеет к нему доступ.

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

На следующем рисунке показан процесс криптографии:

Процесс шифрования данных

Шифрование данных и криптография играют важную роль в современном мире. Мы используем криптографию для защиты данных в состоянии покоя и данных в движении (при передаче). Данные в состоянии покоя - это терминология, используемая для описания данных, которые хранятся на носителе без доступа приложения или пользователя, в то время как данные в движении - это данные, которые передаются от источника к месту назначения, например, по сети.

Существует множество технологий шифрования, таких как Microsoft BitLocker, Apple FileVault и Linux Unified Key Setup (LUKS), которые встроены в их собственные операционные системы. Эти собственные технологии шифрования позволяют пользователю создать логический зашифрованный контейнер хранения в своей операционной системе. Пользователи могут помещать файлы в контейнер и шифровать их, блокируя контейнер. Этот метод позволяет пользователям защитить свои данные в состоянии покоя от любых злоумышленников, которые могут поставить под угрозу компьютер жертвы.

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

В следующем рисунке показан захват пакета, содержащего трафик Telnet внутри Wireshark:

Небезопасный сетевой протокол

Представьте, что вы являетесь злоумышленником. Вы можете использовать такой инструмент, как Wireshark, для повторной сборки всех пакетов, показанных на предыдущем рисунке, между исходным и конечным хостами. Это позволит вам увидеть весь сетевой диалог между источником (192.168.0.2) и получателем (192.168.0.1) следующим образом:

Повторная сборка пакета в Wireshark

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


Элементы криптографии

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

  • Конфиденциальность
  • Целостность
  • Аутентификация источника
  • Невозможность отказа от отвественности

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

Конфиденциальность позволяет нам отправлять защищенные сообщения (данные) между источником и получателем без необходимости беспокоиться о том, перехватывает ли кто-то наши логины и пароли во время их передачи по сети. Шифрование данных позволяет нам защитить наши данные от различных типов атак, таких как Man in the Middle (MiTM). Как только данные будут зашифрованы, злоумышленник не сможет просматривать содержимое фактических данных.

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

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

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

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


Шифр подстановки

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

Чтобы лучше понять, как работает шифр подстановки, давайте взглянем на очень известный шифр, шифр Цезаря, который существует уже довольно давно. Его методы шифрования просто сдвигают букву алфавита. Шифрование с использованием ключа k = 3. Буква «Е» «сдвигается» на три буквы вперёд и становится буквой «З». Твёрдый знак, перемещенный на три буквы вперёд, становится буквой «Э», и так далее:

Исходный алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

Шифрованный: ГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВ

Оригинальный текст:

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

Шифрованный текст получается путем замены каждой буквы оригинального текста соответствующей буквой шифрованного алфавита:

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

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


Перестановочный шифр

Другой тип шифра - перестановочный шифр. Этот шифр не сдвигает ни одной буквы сообщения. Он просто переставляет буквы в каждом слове. Один тип перестановочного шифра известен как столбчатый шифр транспонирования. Этот шифр сохраняет одни и те же буквы каждого слова на месте, но создает столбец фиксированного размера. Рассмотрим простой текст hello world, и давайте применим технику простого столбчатого преобразования, как показано ниже

Столбчатое преобразование

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

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

Шифр ограждения рельсов

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

tubnjsrldhqikrwfxupoeteayoecoomvhzg

И снова, если злоумышленник перехватит зашифрованный текст, сообщение останется в безопасности до тех пор, пока злоумышленник не узнает (получит) секретный ключ.

Ссылка
скопирована
Кибербезопасность
Скидка 10%
Основы кибербезопасности
Стань специалистом по кибербезопасности, изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
  На заре информационных технологий, у разработчиков не было никакой необходимости беспокоиться о сетях. Их главной задачей бы
img
  Open Web Application Security Project содержит список самых актуальных проблем безопасности веб-приложений, и он постоянно обн
img
Страшно секретно: чем занимается специалист по информационной безопасности, сколько зарабатывает и как им стать По данным ис
img
Все мы слышали об SSL. SSL – это то, благодаря чему процветают такие вещи, как E-commerce. SSL позволяет нам безопасно взаимодей
img
Public Key Infrastructure (PKI) - это набор различных технологий, которые используются для обеспечения аутентификации источника,
img
Есть два типа алгоритмов шифрования, которые используются для шифрования данных. Это симметричные и асимметричные алгоритмы. В э
Комментарии
ЛЕТНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59