Файл: Технологии программной защиты в Интернете.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.06.2023

Просмотров: 53

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Вычисление контрольной суммы происходит по алгоритмам, например, SHA или MD Так же контрольная сумма может быть представлена на ресурсе, откуда идет непосредственно скачивание файла, в дальнейшем контрольные суммы можно сравнить.

SHA

SHA – криптографическая хэш функция, разработанная АНБ совместно с НИСТ и рекомендуемая для генерации хэш сумм

Пример контрольной суммы алгоритма SHA-1

  1. SHA-1("В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!") = 9e32295f 8225803b b6d5fdfc c0674616 a4413c1b
  2. SHA-1("The quick brown fox jumps over the lazy dog") = 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12
  3. SHA-1("Sha") = ba79baeb 9f10896a 46ae7471 5271b7f5 86e74640

Изменение любого из символов влечет за собой полное изменение хэш суммы. Это явление называется лавинным эффектом.

Параметры алгоритма

Одним из основных параметров CRC является порождающий полином.

С порождающим полиномом также связана его степень, которая определяет количество битов, используемых для вычисления значения CRC. Чаще всего используются 8, 16 и 32 битные алгоритмы.

Описание работы алгоритма

Из файла берётся первое слово — это может быть битовый (CRC-1), байтовый (CRC-8) или любой другой элемент. Если старший бит в слове «1», то слово сдвигается влево на один разряд с последующим выполнением операции XOR c порождающим полиномом.

Соответственно, если старший бит в слове «0», то после сдвига операция XOR не выполняется. После сдвига теряется старый старший бит, а младший бит освобождается — его значение устанавливается равным нулю. На место младшего бита загружается очередной бит из файла, и операция повторяется до тех пор, пока не загрузится последний бит файла. После прохождения всего файла, в слове остается остаток, который и является контрольной суммой.

Рисунок 8. Схема формирования контрольной суммы алгоритмом CRC-8

DES

DES – (Data Encryption Standard) – алгоритм использующий симметричное шифрование, разработан компанией Microsoft в 1977г. В основе алгоритма лежит сеть Фейстеля.

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


Алгоритм DES имеет длину блоков в 56 байт + 8 байт проверочных.

Рисунок 10. Схема работы шифра DES

Аналогией нашего времени является 3DES – тот же шифр, но выполняющийся 3 раза

Алгоритм шифрования AES

AES - Advanced Encryption Standard – это симметричный алгоритм блочного шифрования, размер блока 128 бит, ключ может быть от 128 до 256 бит. Стандарт был выбран на основе конкурса, проведенного NIST – (Национальный институт стандартов и технологий) в 1997 году.

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

В 2003г правительство США постановило, что может быть использован при шифровании секретной и топ-секретной информации.

Подстановочно-перестановочная сеть

SP-сеть подстановочно-перестановочная сеть — разновидность блочного шифра, разработанная Фестелем в 1971г. Представляет собой блок состоящий из двух типов слоев 1 слой – слой с блоком большой разрядности – 2 слой – слой с блоком малой разрядности. Первым криптографическим алгоритмом на основе SP-сети был алгоритм Люцифер, разработанный в 1971г.

Рисунок 11. Пример SP-сети в алгоритме “Люцифер”

1.16.1. Принцип работы SP-сети

Шифр на основе SP-сети получает на вход блок и ключ и совершает несколько чередующихся раундов, состоящих из чередующихся стадий и стадий перестановки

Для достижения безопасности достаточно одного S-блока, но такой блок будет требовать большого объёма памяти. Поэтому используются маленькие S-блоки, смешанные с P-блоками. Линейная стадия перестановки распределяет избыточность по всей структуре данных.

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

P-блок — перестановка всех бит: блок получает на вход вывод S-блока, меняет местами все биты и подает результат S-блоку следующего раунда. Важным качеством P-блока является возможность распределить вывод одного S-блока между входами как можно больших S-блоков.


Для каждого раунда используется свой, получаемый из первоначального, ключ. Подобный ключ называется раундовым. Он может быть получен как делением первоначально ключа на равные части, так и каким-либо преобразованием всего ключа.

IMS

IMS – служба мгновенных сообщений. Именно с помощью этой службы работают месенджеры, включающие в себя отправку сообщений по сети мгновенно.

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

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

У XMPP есть несколько альтернатив, разработанных сторонними производителями, тем не менее, клиентские части этих программ позволяют связываться с пользователями, клиенты которых работают через XMPP. Примером таких программ могут являться QIP и IM+. Оба этих клиента позволяют сочетать в себе несколько различных сетей, но регистрация все равно проводится на разных сайтах разработчиков этих сетей.

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

XMPP

XMPP Extensible Messaging and Presence Protocol — протокол обмена сообщениями и информацией, также известен как Jabber. Jabber - свободный для использования протокол для обмена мгновенными сообщениями в онлайн режиме.

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

Среди них есть достаточно крупные проекты, такие как Google Talk, Одноклассники, LiveJournal и др. Ранее протокол поддерживался также социальными сетями Facebook и ВКонтакте.


Преимущества и недостатки протокола XMPP

Преимущества

  • Главным преимуществом XMPP является отсутствие центрального сервера обмена информацией, это означает, что любой человек может сделать свой собственный сервер обмена мгновенными сообщениями.
  • XMPP серверы могут быть изолированы от общих сетей XMPP, используя модификацию /isolated при запуске программы, это позволит хранить профиль учетной записи на локальном компьютере. Многие реализации серверов также используют SSL-протокол при обмене между клиентом и сервером.
  • Настраиваемая функциональность может быть надстроена поверх XMPP; для поддержки возможности взаимодействия различных сетей стандартные расширения поддерживаются XMPP Software Foundation. Приложения XMPP в дополнение к функциональности клиента сетевого общения включают в себя администрирование сети, распределение ресурсов, утилиты для совместной работы, обмен файлами, игры и мониторинг удалённых систем.

Недостатки

  • Главным недостатком протокола XMPP является избыточность передаваемой информации более 70 % меж серверного трафика XMPP составляют статус-сообщения, которые оповещают о присутствии или отсутствии. Для решения этой проблемы компания – разработчик разрабатывает новые протоколы для уменьшения избыточного трафика
  1. Практическая часть

Разработка общей структуры

Для реализации плана по модернизации программной архитектуры компании ЗАО “Дятлы-77” выбрано программное средство Skype. По сравнению описанными в данной работе конкурентами выбранное программное средство имеет возможности к расширению до бизнес версии, имеет возможность хранения истории переписок.

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

  • Атаки на TLS;
  • TCP-атаки;
  • Конфигурационные настройки.

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


Обоснование задачи

Компании ЗАО Дятлы-77 понадобилось решение для быстрой коммуникации между пользователями, сотрудники IT отдела компании предложили 3 варианта программных решений

  • Skype
  • ICQ
  • What’s App

Данные мессенджеры являются наиболее распространенными в современное время и могут быть использованы для коммуникации между работниками предприятия.

Программное обеспечение для передачи мгновенных сообщений

В курсовой работе будут предложены 3 варианта мессенджеров: Skype, ICQ, What’s App. Предлагаемые решения я опишу ниже.

Skype

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

Все это возможно благодаря VoIP, VoIP – интернет телефония, которая работает по IP протоколу сетевого уровня и поддерживает двустороннее голосовое общение и видео связь.

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

Основной фишкой Skype является защищенность передачи сообщений

Защищенность передачи сообщений

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

Система авторизации пользователя на сервере авторизации Skype

Рисунок 12. Алгоритм регистрации пользователя в системе Skype

При регистрации нового пользователя Skype использует открытый ключ шифрования – RSA

После этого устанавливается соединение с сервером Skype через 256-битовый протокол AES. При помощи генератора случайных чисел создаётся ключ сеанса. Сервер проверяет логин на уникальность.

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