Статья опубликована в рамках: Научного журнала «Студенческий» № 16(16)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал
ПРИМЕНЕНИЕ КРИПТОГРАФИЧЕСКИХ СИСТЕМ ПРИ СОЗДАНИИ МЕССЕНДЖЕРА
В 70-ых годах американские математики М. Хеллман и У. Деффи положили начало “новой криптографии”, где использовались алгоритмы с открытым ключом. В это же время был принят и опубликован первый стандарт шифрования данных (DES). Данные события были обусловлены необходимостью защиты коммуникаций, бурно развивающихся в то время. Требовались достаточно надежные, но при этом легкодоступные криптографические алгоритмы. Долгое время востребованная в большей степени в военной среде, теперь криптография широко используется в дипломатической, коммерческой, банковской, государственной и иных сферах.
Вслед за идеями Диффи и Хеллмана, появилась шифрсистема RSA, предложенная Райвестом, Шамиром и Адлеманом, использующая принцип шифрования с открытым ключом. Это открыло возможность использования двух разных ключей для шифрования и расшифровки, что давало возможность открыто распространять ключ шифрования, не давая злоумышленнику на его основе, узнать содержание объекта.
На сегодняшний день, распространенными алгоритмами шифрования являются симметричные алгоритмы: DES, DESede, AES; ассиметричный алгоритм RSA. Также при разработке программных продуктов, в которых осуществляется криптозащита, передаваемая и хранящаяся информацией, часто используют хэширование.
При написании приложений, где предусмотрена защита информации, конечному пользователю важна не только степень защиты, но и то время, которое приложение затратит на обеспечение безопасности передаваемых данных. При выборе между двумя алгоритмами шифрования, при условии что оба обеспечат минимальную необходимую пользователю защиту, для большинства пользователей на первый план выйдет затрачиваемое время, а не криптографическая стойкость алгоритма.
Алгоритм AES является лидером среди стандартизированных симметричных алгоритмов шифрования. Существует две модификации алгоритма AES: с 128-битным и 256-битным ключом. Взлом зашифрованного обеими модификациями объекта за допустимое время, прямым перебором или перебором по словарю, являет собой практически неосуществимую задачу. Взлом данных модификаций возможен только при нахождении некоторой уязвимости самого алгоритма, при этом никак не повлияет длина ключа. Поэтому для написания приложения, где важную роль играет скорость обмена данными, например, мессенджер, лучше использовать алгоритм AES-128.
Основным стандартом ассиметричного шифрования является алгоритм RSA. Имея 2048-битный ключ, он обеспечивает передачу данных между пользователями не создавая проблемы передачи секретного ключа. Однако, данный алгоритм имеет достаточно низкую скорость шифрования и расшифровки, что может негативно сказаться на скорости работы программных продуктов использующие его для обеспечения безопасности передаваемых данных.
Для создания безопасного, но относительно быстрого, соединения можно использовать комбинацию алгоритмов RSA и AES, где основная сеансовая информация передается с использованием протокола RSA, включая сеансовый ключ для алгоритма AES, а все остальные данные уже шифруются по протоколу AES.
Для разработки мессенджера с функцией шифрования передаваемых данных был использован язык программирования JAVA. На основе проведенных исследований программный продукт, получивший название DarkCom, использует протокол RSA-AES, а также протокол Диффи-Хеллмана.
Рассмотрим структуру приложения DarkCom. Программный комплекс состоит из клиента и сервера, передача данных между которыми осуществляется с помощью API, а также базы данных, работа с которой осуществляется сервером при помощи SQL запросов.
Рассмотрим систему шифрования сообщений в приложение DarkCom. У каждого клиента имеется публичный ключ, соответствующий приватному ключу сервера. При первом запуске приложения генерируется сеансовый ключ для алгоритма AES, который шифруется с помощью публичного ключа RSA и отправляется серверу. Сервер расшифровывает ключ и создается канал связи клиент-сервер, защищенный шифрованием сообщений по алгоритму AES-128.
Рисунок 1. Принцип обмена сообщениями приложения
На рисунке 2 показано главное окно мессенджера.
Рисунок 2. Главное окно мессенджера
Однако стоит отметить, что после того как сообщения попадают на сервер, они расшифровываются и сохраняются в БД в открытом виде. Это значит, что если злоумышленник произведет успешную атаку на БД, то он получит все сообщения пользователей.
Для обеспечения полной безопасности переписки в приложении DarkCom имеется функция «Секретный диалог». Сообщения в нем не сохраняются и при закрытии диалога будут удалены. Также сообщения подвергаются дополнительному шифрованию алгоритмом AES-128, основанном на ключах, сгенерированных по протоколу Диффи-Хеллмана. Что обеспечивает безопасность сообщений даже при успешной атаке на сервер и БД.
Рисунок 3. Секретный диалог
Данные исследования могут быть использованы при разработке программных продуктов, в которых необходимо реализовать защиту информации. На основе проведенных исследований был создан программный продукт на языке программирования Java, предназначенный для передачи сообщений по зашифрованным каналам. Данный программный продукт использует протокол RSA-AES, а также протокол Диффи-Хеллмана.
Список литературы:
- Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии: Учебное пособие / под ред. А.П. Алферов — 2-е изд. — М. : Гелиос АРВ, 2014. — 480 c.
- Зегжда, Д.П., Ивашко А.М. Основы безопасности информационных систем / Д.П. Зегжда, А.М. Ивашко — М. : Горячая линия, 2010. — 452 c.
- Нечаев В.И. Элементы криптографии (Основы теории защиты информации): Учеб. Пособие для ун-тов и пед. вузов. / Под ред. В.А. Садовничьего — М. : Высш. шк., 1999. — 109 с.
Оставить комментарий