автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.19, диссертация на тему:Алгоритмы повышения уровня конфиденциальности данных при передаче в сомет-приложениях

кандидата технических наук
Тюлькин, Михаил Валерьевич
город
Уфа
год
2013
специальность ВАК РФ
05.13.19
Автореферат по информатике, вычислительной технике и управлению на тему «Алгоритмы повышения уровня конфиденциальности данных при передаче в сомет-приложениях»

Автореферат диссертации по теме "Алгоритмы повышения уровня конфиденциальности данных при передаче в сомет-приложениях"

На правах рукописи

005534385

ТЮЛЬКИН Михаил Валерьевич

АЛГОРИТМЫ ПОВЫШЕНИЯ УРОВНЯ КОНФИДЕНЦИАЛЬНОСТИ ДАННЫХ ПРИ ПЕРЕДАЧЕ В СОМЕТ-ПРИЛОЖЕНИЯХ

Специальность 05.13.19 -Методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

1 О ОКТ 2013

Уфа-2013

005534385

Работа выполнена на кафедре прикладной физики ФГБОУ ВПО «Пермский национальный исследовательский политехнический

университет»

Научный руководитель д-р ф.-м. наук, доцент,

Кротов Лев Николаевич,

Официальные оппоненты д-р.техн. наук, профессор,

Фрид Аркадий Исаакович,

ФГБОУ ВПО «Уфимский государственный

авиационный технический университет»

канд.ф.-м.наук, доцент Ермаков Дмитрий Германович, ФГБУН Институт математики и механики им. Н.Н. Красовского УрО РАН, старший научный сотрудник

Ведущее предприятие ФГБОУ ВПО «Пермский

государственный национальный исследовательский университет»

Защита состоится 01 ноября 2013 г. в 10:00 часов на заседании диссертационного совета Д 212.288.07 при Уфимском государственном авиационном техническом университете в актовом зале 1-го корпуса по адресу: 450000, г. Уфа, ул. К. Маркса, 12

С диссертацией можно ознакомиться в библиотеке Уфимского государственного авиационного технического университета.

Автореферат разослан ЦЩ'пЛ>р1$1--2013 г.

Ученый секретарь диссертационного совета д-р.техн. наук, доцент

И.Л. Виноградова

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы исследования.Впервые термин Comet в 2006 ввел AlexRussell, инженер компании Google, для обозначения нового класса веб-приложений,позволяющих передачу информации от сервера к клиенту по инициативе первого. Клиентом в Comet-приложении, как и в веб-приложении, является браузер конечного пользователя, который передает веб-серверу информацию по HTTP протоколу. Однако, сервер в Соиге^-приложении, в отличие от классическо-говеб-приложения, может передавать данные клиенту как по своему синхронному каналу передачи информации через HTTP протокол, так и, через третий элемент Сошег'-приложеиия - Comet-сервер, по асинхронному каналу связи через протокол WebSocket. В Соиге/-приложении клиент устанавливает связь с Ссше/-сервером после получения первого ответа от веб-сервера, в котором содержатся данные для подключения.

Стандарт протокола WebSocket, предложенного I. Fette и A. Melnikov, был принят относительно недавно, в декабре 2011 года, однако, уже в течение года данный стандарт был реализован во всех наиболее популярных браузерах (Firefox, Chrome, Safari, Opera, InternetExplorer), которые охватывают около 95% аудитории всех пользователей Internet. Компания Microsoft реализовала данный протокол в десятой версии браузера InternetExplorer, в феврале 2013 г.

Данный факт подтверждает, что развитие Comet-приложений является актуальной темой востребованной в мировом веб-сообществе.

Степень разработанности темы.Различные решения асинхронного взаимодействия в веб-приложениях, с предложением новых технологий были предложены в работах таких ученых D. Crane, P. McCarthy, А. Russell, I. Fette, А. Melnikov, G. Wilkins, D. Davis, M. Nesbitt.

Однако, несмотря на стремительность внедрения и развития,Comet-приложения обладают рядом существенных недостатков с точки зрения защиты информации. А именно, протокол WebSocketHe предусматривает какой-либо системы разграничения доступа к пересылаемым через Comet-сервер данным, т.е. все данные, пересылаемые через Comet-сервер, получают все подключенные клиенты. Дополнительно протокол ^еМос&ефегламентирует и защищает передачу данных в канале связи только между клиентом и Сооте/-сервером, но не предусматривает защиты идентификационных данных клиента передаваемых от вебсервера к Comet-серверу через клиента, т.к. Сотий-сервер не может доподлинно определить какой подключившийся к нему клиент является клиентом веб-сервера. Отсутствие защиты идентификационных данных позволяет подменить их злонамеренному клиенту или враждебному программному обеспечению (далее ПО) на компьютере пользователя, и тем самым получить доступ к информации,передаваемой через Comet-сервер предназначенной для другого клиента. Данные аспекты не позволяют передавать веб-серверу через Comet-сервер конфиденциальную информацию, т.к. всегда существует вероятность несанкционированного ознакомления с ней.

Другая уязвимость информационного обмена в Со»ге/-пршюжении заключается в том, что при компрометации Comet-сервера будет скомпрометирован

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

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

Объектом исследований является совокупность процессов в Comet-приложении.

Предметом исследованийявляютсяспособы обеспечения защиты информации в Со/иеГ-приложении.

Цельюработы являетсяразработка алгоритмов повышения уровня конфиденциальности данных при передаче в Com ei-приложении.

Задачи исследования

1. Адаптация алгоритма избирательного разграничения доступа применительно к Сотие/-припожениям.

2. Разработка алгоритма защиты от несанкционированной модификации идентификационных данных клиента в Сотяе/-приложении с применением криптографических преобразований;

3. Создание алгоритма повышения конфиденциальности и целостности передаваемых через Comet-сервер данныхна основе криптографических методов защиты информации;

4. Разработка архитектуры Соте?-сервера с применением теории многопоточного программирования повышающей защищенность Соше^-приложения перед классом атак «отказ в обслуживании», а также с целью реализации предложенных алгоритмов.

Научная новизна работы состоит в следующем:

1. Новизна адаптированного алгоритма избирательного разграничения доступа, позволяющего в рамках протокола WebSocket впервые реализовать разграничение доступа клиентов к данным пересылаемым в Сот ^-приложении через Comet-сервер, алгоритм отличается тем, что реализует внутри одного канала связи по протоколу WebSocket несколько каналов для различных категорий данных, вводя новый формат сообщений для обмена защищаемыми данными в Comet-приложении, предусматривающий указание категории пересылаемых данных DK Ch, списка идентификаторов клиентов Dkjd, которым эти данные предназначены, и метки времени сообщения DKT, для оценки его актуальности.

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

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

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

4. Разработан и описан ряд новых математических моделей архитектуры Cowei-cepBepoB под различные классы задач, решаемые Со/ие?-сервером, для реализации предложенных алгоритмов. Данные модели отличаются тем, что реализуют выполнение задач Comet-cepeepa в различных потоках исполнения, что поз-воляетСоиге?-серверу, при реализации атаки типа «отказ в обслуживании», потерять лишь часть функционала, реализуемого атакованным потоком исполнения, но не выйти полностью из строя, и, тем самым, сохранить работоспособность Сотое/-приложения в целом.

Теоретическая и практическая ценностьполученных результатов состоит в возможности комплексно защитить передаваемые данные в Comet-приложении, что, в свою очередь, позволяет применять Comet-irp иложения для обработки и передачи конфиденциальных данных. Предложенный алгоритм разграничения доступа позволяет поддерживать принятую в организации политику разграничения доступа пользователей на уровне Со/и^-приложения и Comet-сервера, без модификации последнего. Предложенный алгоритм защиты идентификационных данных клиента Сотое/-приложения исключает возможность выдачи злоумышленником себя за легального пользователя, а также, исключает возможность модификации или перехвата идентификационных данных клиента враждебным программным окружением, если клиент Соше/-приложения выполняется не в защищенной программно-аппаратной среде. Предложенный алгоритм защиты данных передаваемых через Соиге^-сервер позволяет сохранить конфиденциальность данных при компрометации Сотое/-сервера. Предложенные архитектуры Сотое/-серверов позволяют снизить ущерб от реализации атак типа «отказ в обслуживании».

Методология и методы исследования.Результаты работы получены с использованием фундаментальных положений теории информации, методов аналитического и имитационного моделирования, методов системного анализа. При решении конкретных практических задач использовались методы объектно-ориентированного программирования, основные положения и методы теории потокового программирования, теории планирования параллельных вычислительных процессов. В качестве инструментария для решения практических задач использовались такие языки программирования как С++, PHP, JavaScript.

Положения, выносимые на защиту:

1. Адаптированный к Сооте/-приложениям алгоритм избирательного доступа к данным, пересылаемым в Cornet-щшюжетт через Comet-сервер.

2. Алгоритм защиты от несанкционированной модификации идентификационных данных клиента Соиге?-приложения пересылаемых Сотое/-серверу.

3. Алгоритмы повышения конфиденциальности и целостности передавае-

мых данных через Comet-сервер.

4. Ряд архитектурСоте^серверов, спроектированных под различные типы Comet-приложений и основанных на предложенных алгоритмах.

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

Апробация результатов. Основные результаты докладывались и обсуждались на УП международной конференции «Dnyvedy. Modemi informacni technologie», Чехия, 2012 г.; IX международной научно-практической конференции «Технические науки - от теории к практике», г. Новосибирск, 2012 г.; I международной научно-практической конференции «Технические науки - основа современной инновационной системы», г. Йошкар-Ола, 2012 г.; краевой научно-технической конференции «Автоматизированные системы управления и информационные технологии», г. Пермь, 2012 г.

Результаты работы, в частности, программные реализации Comet-серверов были успешно применены ООО «Ныо Солюшнс» в ряде интернет-порталов провайдеров Дом.га и U-tel.

Публикации.Основные результаты диссертации опубликованы в 12 научных изданиях, в том числе 8 работ - в рецензируемых журналах из списка ВАК, получено 2 свидетельсва о государственной регистрации программ для ЭВМ.

Структура и объем диссертации. Диссертация работа состоит из введения, четырех глав, заключения, библиографического списка и приложений. Содержит 177 стр. машинописного текста, из которых основной текст составляет 125 стр.,22 рисунка, библиографический список из 87 наименований, приложения на 57 стр.

СОДЕРЖАНИЕ ДИССЕРТАЦИИ

Во введении обоснована актуальность работы, сформулированы цель и основные задачи исследования, показаны научная новизна и практическая ценность работы, изложены основные положения, выносимые на защиту.

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

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

Рассмотрены проблемы Соте!-приложения, связанные с обеспечением конфиденциальности информации при передаче, а именно, проблемы протокола \¥еЬ8оске1, регламентирующего передачу информации в Со/яе/-приложении, заключающиеся в том, что данный протокол не предусматривает какого-либо механизма разграничения доступа к пересылаемым данным, поскольку не имеет механизмов защиты идентификационных данных клиента, а также, не реализует защиты пересылаемых данных через Со/ие/-сервер. Эти два фактора в сумме не позволяют пересылать веб-серверу конфиденциальную информацию через СопШ-сервер, поскольку доступ к такой информации будут иметь все клиенты приложения. А последний фактор дополнительно не позволяет клиенту доверять пересылаемой информации, поскольку если будет скомпрометирован Соте^сервер, то конфиденциальность всех, пересылаемых через него, данных будет нарушена.

На основе этих положений сформулирован перечень задач, имеющих необходимость в решении.

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

Предлагаемый алгоритм охватывает трехсторонний обмен информацией в Со/я<?/-приложении и предполагает наличие двух логических каналов связи у Соте^сервера: серверного и клиентского. Пересылаемые данные разделяются на категории доступа, которые называются каналами, с целью исключения передачи клиенту данных той категории, к которой он не имеет доступа. Работа приложения рассмотренапо стадиям.На стадии подготовки к работемежду сервером и Соте?-сервером происходит синхронизация времени.На стадии подключения клиента, в ответ на первый запрос, сервер включает в ответ идентификационные дан-

ные клиента, а именно:

- DKjD - уникальный идентификатор клиента;

- DK Ch- множество категорий данных;

- DK T - метка времени подключения клиента к серверу.

На этапе инициализации клиент подключается к Comet-серверу и пересылает своих идентификационные данные в сообщениях M!D,Mch,MT, которые составляются по формуле:

Mt = Sit + Dh (1)

где Sil " сигнатура типа передаваемого сообщения, следовательно:

+ - операция конкатенации;

Di - передаваемые данные. Таким образом,

Mw=Si1D + Dm (2)

Men = Sich + Dcll (3)

Мт = SiT + DT (4)

По готовности клиент передает, MR = SiR - сообщение готовности. Пока Comet-сервер не получит данное сообщение впервые, никакие данные не будут отправлены клиенту.Когда веб-сервер передает информацию для клиента, генерируется сообщение Ms, по следующей формуле:

Ms = Sis + DSjd + Ds,ch + Ds, (5)

где Sis - сигнатура серверного сообщения;

Ds id - множество идентификаторов клиентов, для которых предназначено сообщение;

Ds ch - множество категорий данных, к которым относится это сообщение;

Ds - текст сообщения. Comet-сервер при получении сообщения М5преобразует его в индивидуальное для каждого клиента сообщение Мс по формуле:

Мс = Sic + Dc,ch + Ds, (6)

где Sic - сигнатура сообщения от Comet-сервера;

Dc ch - множество категорий отдельного клиента, к которым он имеет

доступ.

Таким образом,Со/яе/-сервер берет на себя роль ретранслятора сообщений и является наилучшим местом информационного обмена в Comet-сообщении для внедрения системы разграничения доступа. Предлагаемый алгоритм разграничения доступа основан на адаптации метода избирательного разграничения доступа,реализуется на стороне Comet-сервера и состоит из следующей последовательности действий, выполняемыхСо»ге/-сервером, при генерации сообщения Мс:

1. Проверка условия согласно формуле (7), которое означает, что идентификатор клиента был получен, и он принадлежит множеству идентификаторов, полученных от веб-сервера, или, сообщение от веб-сервера имеет сигнатуру широковещательного сообщения Siaii :

«DKJB S DsjD)a(DKjD * 0))v(DWb = Siau) (7)

2. Вычисление множества категорий доступа, к которым допущен данный клиент и для которых предназначено полученное сообщение, при этом проверяется условие, что полученное множество не является пустым:

Аул = П * 0 (8)

3. Проверка условия, что метка времени подключения клиента к приложению старше метки времени получения сообщения от сервера^:

ТК<Т5 (9)

4. Проверка условия, что метка готовности была получена:

3 Мд (10)

Проанализированы возможные модели поведения злоумышленников по отношению к Со/яе^-приложению, возможные реализуемые ими информацион-ныеугрозы, как активные, так и пассивные,а также,их последствия для работы Сотяе/-приложения. По результатам анализа наиболее уязвимым местом Сотеи приложения является линия связи между Соте!-сервером и веб-сервером, поскольку её контроль или блокировка могут отразиться наиболее пагубно на работе приложения.

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

1. До начала сеанса работы веб-сервер генерирует ключ К и передает Сот-е/-серверу;

2. Веб-сервер, при подключении клиента, генерирует сообщение с данными идентифицирующими клиента, по формуле:

= + Аг,с/1 + Як,?- (П)

Затем подвергает полученное сообщение криптопреобразованию, получая зашифрованное сообщениеМЕ^еаС^, по формуле:

МЕ&мш = Е(М5Шив,К) (12)

где Е(х,у) - функция шифрования пакета данных х с ключом у;

3. Веб-сервер передает клиенту МЕМагиз в составе ответа;

4. Клиент передает МЕ^а1ивСоте!-серверу при подключении;

5. Сотие/-сервер восстанавливает М51аЫз и идентифицирует клиента.

Таким образом, скрытие оригинально текста сообщения содержащего

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

Со»2£/-приложения рекомендуется применять проверенные средства защиты информации, например, защищенные сертифицированные протоколы стека IPSec.

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

1. В ответ сервера включается сеансовый ключ К;

2. Клиент передает Comet-серверу свои идентифицирующие данные в сообщении MEtStatus;

3. Веб-сервер генерирует сообщение MSE по формуле:

Щ.Е = Sis + Dsjd + Ds,ch + DSJS (13)

где Dse - преобразованный текст сообщения по формуле:

MDf=f(Ps,K) (14)

где / - функция преобразования.

При этом для открытых данных, требующих только обеспечения целостности, функция преобразования имеет вид:

f(Ps,K) = Ds + H(Ps.K) (15)

где H - функция хеширования.

Для конфиденциальных данных, дополнительно требующих сокрытие оригинально текста сообщения, функция преобразования принимает вид:

f(DSlK) = E(Ds,K) (16)

где Е — функция шифрования.

4. Веб-сервер передает полученное сообщение Ms$ в составе сообщения

Ms-

Ms = Sis + Ds,,d + DSiCh + MSiE (17)

5. Comet-сервер обрабатывает полученное сообщение Ms и генерирует сообщение Мс, для каждого клиента, при этом шифротекстМ5£ не затрагивается при обработке:

Мс = Sic + DCiCh + MSiE (18)

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

Разработан ряд архитектур Сотие^-серверов под различные типы задач для реализации предложенных алгоритмов. Детально проанализированы задачи Comet-сервера, на основе анализа определены основные элементы Comet-сервера (вычислительные потоки, области памяти, сокеты). Разработанные модели архитектуры Comet-сервера, получили следующие названия:

1. Однопоточная модель;

2. Многопоточная модель;

3. Многопоточная модель с выделением потока под одного клиента;

4. Многопоточная модель с выделением потока под группу клиентов;

5. Многопоточная модель с выделением потока под сообщение;

6. Многопоточная модель с выделением потока под сообщение и учетом хронологии поступления сообщений.

Отличительной чертой данных моделей Cornet-серверов является то, что, благодаря многопоточности, выполнено разнесение задач Cornet-сервера по различным потокам исполнения, таким образом, позволяя снизить нагрузку и увеличить сопротивляемость Cornet-сервера перед атаками типа «отказ в обслуживании». Поскольку высокая нагрузка, генерируемая злоумышленником, реализующем такую атаку на точке входа данных в Cornet-сервер, обслуживается отдель-нымпотоком исполнения, это отразится только на данном потоке,не влияя на прочие потоки исполнения. В результате Со/я е/-сервер вместо полного отказа в обслужив ашш допускает только отказ части своего функционала.

Для каждого типа архитектуры описаны и проиллюстрированы способы и порядок взаимодействия между элементами, см. рисунок 2 на примере многопоточной модели.

Рисунок 2 - Многопоточная модель с выделением потока под сообщение. Примечание:

- слушающий сокет для клиентских подключений;

- слушающий сокет для серверных подключений; Бк - сокет подключенного клиента;

- сокет подключенного сервера; Структуры в памяти:

К - структура в памяти, хранящая записи обо всех подключенных клиентах;

Н - структура в памяти, хранящая записи об передаваемых сообщениях; СН - структура в памяти, хранящая записи об передаваемых сообщениях в хронологическом режиме;

5- структура в памяти, хранящая информацию сервисного характера; I - управляющий интерфейс;

- поток исполнения,

где i - может принимать следующие значения:

M - для главного потока;

I - для потока обслуживающего интерфейс управления;

К - для потока обслуживающего клиентские подключения;

S - для потока обслуживающего серверные подключения;

D - для сервисного потока обслуживающего Comet-сервер;

Ch. - для рассылающего сообщения в хронологическом режиме;

Правила доступа к данным для потоков:

сплошная тонкая линия - длительный доступ к данным в блокирующем режиме;

пунктирная тонкая линия - недлительный доступ к данным в блокирующем режиме;

сплошная полужирная линия - длительный доступ к данным в не блокирующем режиме;

пунктирная полужирная линия - длительный доступ к данным в не блокирующем режиме.

Произведен поиск таких параметров Comet-сервера, которые наиболее полно отражают производительность и эффективность его работы.

В третьей главе описана реализация протокол aC/z've, отражающего предложенные алгоритмы по повышению уровня конфиденциальности данных, и пример Сотei-приложения работающего по данному протоколу. Отмечено, что реализация протокола Clive может основываться как на протоколе прикладного уровня WebSocket, так и на протоколе сетевого уровня TCP, что позволяет строить полноценныеСоше?-приложения.

Предложены реализации клиента и сервера Cowzei-пршюжения, выполненных на скриптовых языках программирования JavaScript и PHP, соответственно, с использованием методологии объектно-ориентированного программирования. Показаны примеры построения Cow е/-приложения. Помимо основного кода клиентской части приложения был разработан код специального у7ж/г-элемента, реализующего передачу информации из среды выполнения клиента в сеть, а также, в обратном направлении, посредством TCP протокола и механизма, так называемых //да/г-сокетов, а основной код клиента дополнен соответствующими механизмами осуществляющими управление передачей информации.

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

Таким образом,из алгоритмов хеширования наиболее производительным оказался алгоритм MD5, превзошедший по скорости на 26% своего лучшего конкурента SHA-1 и на 245% худшего RIPEMD-160. Из алгоритмов симметричного шифрования был выбран алгоритм Rabbit, который при заданной длине ключа в 128 бит, показал лучшую производительность, более чем в 8 раз у алгоритма AES и более чем в 23 раза у алгоритма 3DES. Полученные результаты представлены на рисунке 3 и рисунке 4.

Хеш алгоритмы

6000 5000 4000 3000 2000 1000 о

SHA-256

SHA-512

RIPEMD-160

Рисунок 3 - Сравнение хеш-алгоритмов

Симметричные шифры

0

AES 3DES RABBIT

Рисунок 4 - Сравнение симметричных шифров

Обоснован выбор моделей архитектуры Comet-ctpnepa (1 и 6, для приложений с малой или дозированной нагрузкой и для приложений с большой или не дозированной нагрузкой, соответственно) для реализации, а также языка программирования и семейства операционных систем. Реализация выполнялась под два типа операционных систем Windows и UNIX, под их 32-х и 64-х битные версии, при этом в качестве языка программирования использовался компилируемый язык программированияС++. Описаны общие аспекты организации программ и алгоритм инициализации. Приведено описание используемых приемов организации структур данных в памяти, организации взаимодействия вычислительных потоков и использования механизмов их синхронизации, обоснован выбор данных приемов и механизмов, даны практические замечания по их применению.

Проведена оценка, согласно разработанной методике оценки, при которой

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

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

= ^ * 100%, (19)

где А1 - 1-ый показатель однопоточной модели;

В; - ¿-ый показатель многопоточной модели.

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

5су„м. = —^-ч (20)

Результаты испытаний и значения всех показателей доступности для каждой модели приведены в таблице 1.

Таблица 1 - Показатели доступности информации для реализованных моделей

Замеряемый показатель Тестируемая модель Отношение

Однопоточная (А) Многопоточная (В) показателей, %

Широковещательная рассылка сообщений длиной 100 байт

Потери отправленных сообщений, пгг 392 18 2078

Время рассылки одного сообщения, мс 9,293 10,468 -11

Минимальное время получения клиентом сообщения, мс 2,920 2,163 35

Максимальное время получения клиентом сообщения, мс 245,392 250,756 -2

Узковещательная рассылка сообщений длиной 100 байт

Потери отправленных сообщений, шт 0 0 -

Время рассылки одного сообщения, мс 0,486 0,591 -18

Минимальное время получения клиентом сообщения, мс 2,871 2,008 43

Максимальное время получения клиентом сообщения, мс 5,544 4,620 20

Широковещательная рассылка сообщений длиной 100000 байт

Потери отправленных сообщений, шт 60398 0 -

Время рассылки одного сообщения, мс 12,892 10,391 24

Минимальное время получения клиентом сообщения, мс 728,467 5,423 13333

Максимальное время получения клиентом сообщения, мс 41618,540 572,626 7168

Узковещательная рассылка сообщений длиной 100000 байт

Потери отправленных сообщений, шт 0 0 -

Время рассылки одного сообщения, мс 1,547 0,755 105

Минимальное время получения клиентом сообщения, мс 15,107 11,824 28

Максимальное время получения клиентом сообщения, мс 534,742 315,754 69

Средний суммарный показатель доступности 1759

Полученные в ходе тестирования результаты отражают правильность вы-

бора моделей архитектуры Cornet-серверов для подставленных задач. Обе модели в целом успешно справляются со своей задачей, показывая малый процент потерь сообщений (менее 0,0004% для модели 1, и менее 0,0001% для модели 6). При широковещательной рассылке сообщений малого объема модель 1 показывает на 10% лучшую производительность, однако эффективность моделей при этом остается примерно равной. При узковещательной рассылке сообщений малого объема модель 6 начинает демонстрировать лучшие показатели производительности и эффективности, превосходящие аналогичные показатели модели 1 на 20% и 32% соответственно.

Подготовленность модели 6 становится наиболее заметна в условиях высокой нагрузки при увеличении объема сообщений в 1000 раз.При широковещательной рассылке за отведенное время эксперимента модель 1 произвела доставку только 40%, что соответственно составило потери равные 60%. Модель 6 произвела доставку всех сообщений за отведенное время без потерь. При этом такие параметры производительности, как минимальное и максимальное время между отправкой сообщения сервером и доставкой сообщения клиенту у модели 6 меньше в 134 и 72 раза соответственно, чем у модели 1. Дополнительно, разность между данными параметрами модели 6 меньше в 80 раз, чем у модели 1. При узковещательной рассылке сообщений большого объема разрыв в производительности и эффективности между моделями сокращается, но при этоммодель 6 превосходит модель 1 по всем параметрам почти в 2 раза.

В заключении сформулированы основные результаты работы.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ РАБОТЫ

1. Адаптирован известный метод избирательного разграничения доступа применительно к данным, пересылаемым в Со/ие/-приложении через Comet-сервер, для существующих технологий передачи данных по инициативе вебсервера, таких как протокол WebSocket, flash-сокеты или java-сокеты, что позволяет реализовать механизм разграничения доступа на уровне Cornet-сервера и, тем самым, реализовать принятую полигику разграничения доступа на технологическом уровне, чтобы исключить получение клиентом той категории данных, к которой он не имеет доступа. Показано, что предлагаемая адаптация совместима со стандартизированным протоколом WebSocket, и позволяет внутри одного канала связи по данному протоколу реализовать несколько каналов для различных категорий информационных сообщений, доступ к которым требует контроля.

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

3. Предложен новый алгоритм повышения конфиденциальности данных передаваемых через Comet-сервер в Comei-прщюжении, совместимый с предлагаемым алгоритмом разграничения доступа, на основе симметричного шифрования и цифровых подписей с использованием хеш-функций, который позволяет исключить несанкционированную модификацию и/или несанкционированное ознакомление с передаваемыми данными через скомпрометированный Сотие^-сервер. Проведена оценка производительности различных шифров (3DES\ AES, RABBIT) при равных показателях защищенности, а также, проведена оценка производительности различных хеш-функций (MD5,SHA-l,SHA-256,SHA-512,RIPEMD-160), реализация которых совместима с данным алгоритмом и может быть использована в предлагаемом алгоритме. По результатам эксперимента, основанного на имитации непредсказуемой передачи сообщений через Comet-сервер, наиболее высокую производительность показал шифр RABBIT и хеш-функция MD5, обрабатывающие в среднем 1501и 5264 байт за одну миллисекунду в среде исполнения клиента Сотие/-приложения JavaScript.

4. Разработан ряд архитектур Comet-серверов, на основе положений теории многопоточного программирования, для различных видов задач решаемых Comet-сервером, что позволяет повысить значения показателей доступности передаваемых данных и, тем самым, обеспечить большую устойчивость Со»ге/-сервера перед атаками вида «отказ в обслуживании». Наиболее востребованные модели, а именно, однопоточная и многопоточная, были реализованы в виде программ на языкеС++, была произведенаоценка показателей доступности (временные задержки различного типа при доставке сообщений и потери сообщений) информации для каждой из них в ряде экспериментов с имитацией широковещательной и узковещательной рассылки сообщений различной длины. По результатам эксперимента многопоточная модель в 17,5 раз превзошла однопоточную по интегральному показателю доступности информации.

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

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ В рецензируемых журналах из списка ВАК

1. Управление преобразованием информации и разграничением доступа для устройств обмена систем управления на примере модели Comet / М.В. Тюлькин, Е.Л. Кротова, Л.Н. Кротов, И.В. Капгер // Глобальный научный потенциал. 2012. № 4(13). С. 83-88.

2. Разработка методов управления преобразованием информации и разграничением доступа для устройств обмена систем управления на примере модели Comet. Часть 1 - протокол Clive / M.B. Тюлькин, ЕЛ. Кротова, Л.Н. Кротов, И.В. Капгер // Перспективы науки. 2012. № 4(31). С. 68-71.

3. Разработка методов управления преобразованием информации и разгра-

ничением доступа для устройств обмена систем управления на примере модели Comet. Часть 2 - Реализация / М.В. Тюлькин, E.JI. Кротова, JI.H. Кротов, И.В. Каптер // Естественные и технические науки. 2012. № 2(58). С. 348-351.

4. Разработка архитектуры и организация информационных потоков в Comet-серверах для Web-приложений модели Comet со схемой взаимодействия WebSocket. Описание Comet-сервера / М.В. Тюлькин, И.В. Каптер, E.JI. Кротова, Л.Н. Кротов // Вестник Ижевского государственного технического университета. 2012. №2. С. 150-153.

5. Разработка методов анализа уязвимостей, выбор и реализация криптографической защиты трехстороннего информационного обмена в Web-приложениях модели Comet / М.В. Тюлькин, ИВ. Капгер, E.JI. Кротова, JI.H. Кротов // вопросы защиты информации. 2012. № 2. С. 6-12.

6. Разработка архитектуры и организация информационных потоков в Comet-серверах для web-приложений модели Comet со схемой взаимодействия WebSocket. Модели архитектуры Comet-сервера / М.В. Тюлькин, И.В. Капгер, E.JI. Кротова, Л.Н. Кротов // Вестник Ижевского государственного технического университета. 2012. № 4. С. 118-120.

7. Разработка и реализация метода санкционированного запуска и функционирования защищаемого программного продукта в потенциально враждебном программно-аппаратном окружении / М.В. Тюлькин, ИВ. Капгер, ЕЛ. Кротова, JI.H. Кротов // вопросы защиты информации. 2012. № 4. С. 16-20.

8. Аспекты применения симметричных шифров в клиенте Web-приложения с использованием технологии Comet / М.В. Тюлькин, И.В. Капгер, E.JI. Кротова, JI.H. Кротов // вопросы защиты информации. 2013. № 2. С. 10-14.

В других изданиях

9. Аспекты проверки подлинности сообщений клиентом Web-приложения с использованием технологии Comet / М.В. Тюлькин, И.В. Капгер, JI.H. Кротов, E.JI. Кротова // Технические науки - от теории к практике: материалы IX межцу-нар. заочн. науч.-практ. конф., 17 апр. 2012 г. - Новосибирск. 2012. С. 30-36.

10. Проблема масштабирования Web-приложений, использующих Comet-сервера, её особенности и попытка решения / М.В. Тюлькин, И.В. Капгер, E.JI. Кротова, JI.H. Кротов // Технические науки - основа современной инновационной системы: материалы 1междунар. науч.-практ. конф., 25 апр. 2012 г. - Йошкар-Ола. 2012. С. 123-125.

11. ОднопотоковыйСотеЬсервер «Vortex» / М.В. Тюлькин // Свидетельство о государственной регистрации программы для ЭВМ №2012616041, опубликовано 02.07.2012.

12. МногопотоковыйСотпеЬсервер «Vortex-Pro» / М.В. Тюлькин // Свидетельство о государственной регистрации программы для ЭВМ №2012616044, опубликовано 02.07.2012.

s

/ х*'

Диссертант MB. Тюлькин

ТЮЛЬКИН Михаил Валерьевич

АЛГОРИТМЫ ПОВЫШЕНИЯ УРОВНЯ КОНФИДЕНЦИАЛЬНОСТИ ДАННЫХ ПРИ ПЕРЕДАЧЕ В СОМЕТ-ПРИЛОЖЕНИЯХ

Специальность 05.13.19 - Методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Подписано в печать 24.09.2013. Формат 60x90/16. Усл. печ. л. 1,0. Тираж 100 экз. Заказ № 1727/2013.

Отпечатано с готового оригинал-макета в типографии издательства Пермского национального исследовательского политехнического университета. Адрес: 614990, г. Пермь, Комсомольский пр., 29, к. 113. Тел.(342)219-80-33.