Научная статья на тему 'СОЗДАНИЕ МЕССЕНДЖЕРА, ЗАЩИЩЁННОГО ОТ ПЕРЕХВАТА СООБЩЕНИЙ'

СОЗДАНИЕ МЕССЕНДЖЕРА, ЗАЩИЩЁННОГО ОТ ПЕРЕХВАТА СООБЩЕНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
80
13
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кирьянцев А., Авдеева Н.

В данной статье рассказывается о построении программной платформы - мессенджера, защищённого от краж паролей, кражи переписки и подделки сообщений третьей страной.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «СОЗДАНИЕ МЕССЕНДЖЕРА, ЗАЩИЩЁННОГО ОТ ПЕРЕХВАТА СООБЩЕНИЙ»

Кирьянцев А. студент, 3 курс

факультет информационных систем и технологий

Авдеева Н. студент, 3 курс

факультет информационных систем и технологий Поволжский Государственный Университет Телекоммуникаций и

Информатики Россия, г. Самара

СОЗДАНИЕ МЕССЕНДЖЕРА, ЗАЩИЩЁННОГО ОТ ПЕРЕХВАТА

СООБЩЕНИЙ

Аннотация

В данной статье рассказывается о построении программной платформы - мессенджера, защищённого от краж паролей, кражи переписки и подделки сообщений третьей страной.

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

Данная тема является весьма актуальной и подогрета заявлениями и публикациями технического специалиста, бывшего сотрудника ЦРУ Э. Сноудена, о том, что агентство национальной безопасности (АНБ) США ведёт нечестную игру в направлении прослушивания граждан по всему миру при помощи существующих информационных сетей и сетей связи.

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

В интернет мессенджерах отсутствуют следующие функции:

- Проверка наличия MITM (Men in the middle) - атаки,

- Наличие «чистого» (без данных) сервера,

- Самоуничтожение сообщения после закрытия сессии.

MITM-атака - самый распространенный способ атаки для кражи

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

Все эти проблемы решены в новом приложении - Cryp2Chat.

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

Алгоритм работы программы следующий (рис.1). Сервер получает список контактов пользователей сети. Ключ для шифрования генерируются на стороне источника - отправителя, далее публичный ключ высылается на сервер, а затем к получателю. Приватная часть ключа остается у пользователя-отправителя.

Отправка сообщения от клиента-получателя через сеть осуществляется в три этапа:

1. получение с сервера публичного ключа получателя;

2. шифрование сообщения публичным ключом;

3. отправка на сервер шифрограммы.

Шифрование происходит методом RSA (длина ключа составляет 1024 бит), но предусмотрена возможность использования и других алгоритмов шифрования.

Рис. 1. Пример работы приложения Cryp2Chat Приложение Cryp2Chat - это авторский сервис для обмена быстрыми сообщениями с поддержкой End2End шифрования.

Сервер прототипа данного приложения написан на Node.js (продвинутый JavaScript) с использованием библиотеки для веб сокетов -

Node.js - программная платформа, основанная на движке V8

••......&

Сервер

Отправитель

Получатель

Socket.IO.

(транслирующая JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Клиентская часть реализована на Html и JavaScript с использованием библиотеки Cryprico.

Для проксификации и увеличения надежности канала предлагается использование сети TOR (The Onion Router). На компьютере клиента запускается прокси-сервер, который подключается к сети TOR [1], используя многоуровневое шифрование (рис.2). Прежде чем передать пакет данных серверу, он проходит через три случайных компьютера. Перед отправлением пакет шифруется тремя ключами: для каждого из трех компьютеров соответственно. Кроме того, сеть TOR может обеспечивать анонимность для серверов.

При проектировании приложения были рассмотрены три возможные потенциальные опасности:

1. Подбор пароля. Для оценки возможности подбора паролей использовался блог Касперского[2]. Программа показала, что подбор пароля с длиной ключа примерно 50 символов, включающая в себя служебные символы, займет более, чем 100 тысяч лет. Даже на мощном ботнете Conficker пароль будет подбираться десять тысяч веков.

2. Кража ключа. Она невозможна по двум причинам:

- если это android приложение, то «песочница» - жестко контролируемый набор ресурсов для исполнения гостевой программы, не даст другому приложению доступ к файлам с паролем,

- если это web приложение, то обращение к переменной невозможно, так как удален указатель на элемент, и только внутренний код может обращаться к этой переменной.

3. Код приложения не поддается изменению, потому что:

- если это web приложение, то скачанный код сохраняется при первом запуске приложения и не скачивается при последующих запусках,

- если это нативное приложение, то изменение кода со стороны сервера не приведет к изменению кода приложения на клиенте.

Передача потенциально опасной информации (террористические акты, продажа наркотиков) предотвращена. т.к. контроль обмена данными ведется с помощью электронной подписи. При

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

Использованные источники:

1. https://ru.wikipedia.org/wiki/Tor#.D0.90. - электронный ресурс TOR.

2. http://blog.kaspersky.com/password-check - проверка криптостойкости

3. http://my-chrome.ru/2014/06/end2end-begins/^End2End шифровани

i Надоели баннеры? Вы всегда можете отключить рекламу.