В настоящее время проблема двунаправленного обмена структурированными данными между несвязанными интернет-ресурсами является весьма актуальной [1; 3-5], но не имеет достаточно эффективных решений [2]. В связи с этим необходима разработка программного обеспечения для двунаправленного обмена данными (ЭО ПО ДОСД).
Структура ЭО ПО ДОСД состоит из следующих модулей.
А. Модуль идентификации и аутентификации сторон информационного обмена, предназначенный для идентификации доверенного пользователя.
Б. Модуль обеспечения двустороннего обмена данными, в том числе с обеспечением контроля подлинности сторон информационного обмена, целостности и конфиденциальности передаваемых данных.
В. Модуль обмена данными с СУБД и программными интерфейсами сторон. Схема связей модулей и обмена данными представлена на рисунке 1.
Рисунок 1
Ниже приведены описания реализации функционала модулей.
А. Обеспечение предварительной идентификации и аутентификации каждой из сторон информационного обмена данными
Для обеспечения кроссбраузерности и кроссплатформенности за основу области представления взяты интернет-браузеры Microsoft Internet Explorer в. 9 и выше, Mozilla Firefox в. 14 и выше, Google Chrome в. 21. Интернет-страница авторизации формируется на стороне сервера посредством языка PHP и передает на сторону клиента контент, содержащий HTML-код с авторизационными полями и набором сопутствующих Javascript-инструкций используемых для обеспечения дополнительной эргономики элементов управления страницы авторизации и аутентификации. Передача данных происходит в защищенном режиме с использованием технологии шифрования SSL 128. Аутентификация выполняется на стороне сервера посредством сличения пары логин - пароль, БД MySQL. Кроме того, в модуле предусмотрена возможность хранения данных в СУБД MySQL и оперативного перевода данных под СУБД PostgreSQL не ниже версии 9.0, Oracle не ниже версии 11, Microsoft SQL Server не ниже версии 2008.
В случае успешной авторизации выполняется присвоение сессии клиента уникального временного идентификатора. Дальнейшее взаимодействие с модулем обмена данными и программными интерфейсами сторон осуществляется с использованием сессии клиента. При первичной аутентификации передача данных осуществляется с использованием метода POST.
Б. Обеспечение конфиденциальности передаваемых в процессе двустороннего обмена данных, в том числе идентификационных и аутентификационных (рисунок 2)
Процесс двустороннего обмена происходит посредством протокола передачи данных TCP/IP с использованием стандартизированных форматов баз данных MySQL, СУБД PostgreSQL не ниже версии 9.0, Oracle не ниже версии 11, Microsoft SQL Server не ниже версии 2008. Во всех перечисленных СУБД реализованы возможности установки соединения в защищенном режиме с использованием технологии шифрования SSL.
Рисунок 2
При выполнении синхронизации TCP-соединения сначала осуществляется согласование сертификата SSL, и далее в рамках защищенного соединения осуществляется передача аутентификационных данных.
В. Обеспечение контроля подлинности каждой из сторон информационного обмена в течение всего сеанса передачи данных (рисунок 3)
Взаимодействие с модулем обмена данными и программными интерфейсами сторон осуществляется с использованием сессии клиента. Сессия клиента закрыта соединением SSL от перехвата с помощью программно-аппаратных средств перехвата данных типа Sniffer и т.п. При этом срок жизни сессии строго ограничен по времени. Любые попытки подбора номера сессии фиксируются в лог-записях на стороне сервера и могут быть основанием для смены авторизационных данных клиента или для вноса в систему сетевого брандмауэра ОС соответствующих исключений.
Рисунок 3
Г. Обеспечение контроля целостности передаваемых и хранимых данных во время нарушения сеанса обмена, в том числе при нарушениях сеанса без последующего восстановления связи между ресурсами
При осуществлении трансакций обмена данными между ЭО ПО ДОСД и синхронизируемой СУБД функция получения данных обернута в функцию получения HASH-суммы для этой записи БД. Таким образом, путем сравнения каталогизированного значения HASH-суммы в локальной базе данных ЭО ПО ДОСД и полученной HASH-суммы принимается заключение о соответствии или несоответствии данных. В случае несоответствия выполняется проверка актуальности полученной записи по Timestamp-записи, связанной с полученной записью и ее HASH-суммой. Если полученные данные имеют более новое значение Timestamp параметра, то выполняется обновление поля идентификатора БД инициатора актуальной версии среди сторон, участвующих в обмене данными. При установлении плановой сессии двунаправленного обмена с каждым последующим участником обмена данная актуализированная запись будет передана остальным участникам обмена. Поэтому при нарушениях сеанса без последующего восстановления связи между ресурсами актуальность контролируется со стороны ЭО ПО ДОСД (рисунок 4).
Рисунок 4
Д. Обеспечение возможности использования мобильных программных агентов интернет-ресурсов
Все генерации страниц интерфейсов происходят в стандартном формате HTML 4. Взаимодействия происходят посредством стандартизированных методов POST и GET.
Е. Мониторинг и протоколирование процесса двустороннего дистанционного обмена данными между несвязными интернет-ресурсами и сбор сведений о нарушениях целостности и конфиденциальности передаваемых данных
При осуществлении трансакций обмена данными между ЭО ПО ДОСД и синхронизируемой СУБД выполняется проверка актуальности полученной записи по Timestamp-записи, связанной с полученной записью и ее HASH-суммой. Если полученные данные имеют более новое значение Timestamp-параметра, то выполняется обновление поля идентификатора БД инициатора актуальной версии среди сторон, участвующих в обмене данными (рисунок 5).
Рисунок 5
Все трансакции и их статус конфиденциальности (использования SSL), авторизационное имя, идентификатор хоста клиентского оборудования заносится в протокол, хранимый на серверной стороне ЭО ПО ДОСД. Информация о нарушении целостности данных фиксируется средствами ядра TCP/IP на серверной стороне ЭО ПО ДОСД.
В общей сложности ЭО ПО ДОСД способен осуществлять:
1) сбор сведений об открытых сеансах обмена данными;
2) сбор сведений о завершённых сеансах обмена данными;
3) сбор сведений о нарушениях целостности и конфиденциальности передаваемых данных.
Ж. Обеспечение обмена произвольными текстографическими материалами
Форматы PDF, Microsoft Word, XML хранятся в СУБД MySQL, СУБД PostgreSQL не ниже версии 9.0, Oracle не ниже версии 11, Microsoft SQL Server не ниже версии 2008 в бинарных типах полей. В ЭО ПО ДОСД реализована выборка бинарных типов полей и транспортная составляющая для передачи данных, реализованная как на транспортном уровне TCP/IP, так и с использованием протокола SSL.
З. Обеспечение двунаправленного обмена без потери качества обслуживания для пользователей синхронизируемых серверов как со стороны баз данных, так и со стороны администратора сервера ЭО ПО ДОСД
При установлении ЭО ПО ДОСД соединений с СУБД MySQL, СУБД PostgreSQL не ниже версии 9.0, Oracle не ниже версии 11, Microsoft SQL Server не ниже версии 2008, а также при выполнении трансакций получения записей и их записи, ЭО ПО ДОСД не осуществляет блокировку таблиц вышеперечисленных БД.
И. Обеспечение устойчивости к некорректным или неполным входным данным
Функция, обеспечивающая передачу данных, обернута функцией буферизации и валидации, которая по окончании передачи данных сверяет их контрольную сумму. В том случае, если происходит сбой передачи данных или их некорректное получение, контрольная сумма не сходится и функция возвращает код ошибки. В случае выявлении ошибки происходит учет в журнале ошибок ЭО ПО ДОСД с указанием типа ошибки. А некорректные или неполные данные сбрасываются.
К. Обеспечение функционирования на базе кроссплатформенных технологий
Разработка программной реализации ЭО ПО ДОСД основана и функционирует на базе следующих кроссплатформенных технологий:
1) скриптовый язык РНР для серверной части, JavaScript при использовании клиентской стороны в процессе обмена и изменения данных и Java, в частности, если одна из сторон обмена - мобильный агент;
2) в ЭО ПО ДОСД предусмотрена возможность хранения данных в СУБД MySQL и оперативного перевода данных под СУБД PostgreSQL не ниже версии 9.0, Oracle не ниже версии 11, Microsoft SQL Server не ниже версии 2008. Связи баз данных описываются в модуле обеспечения двустороннего обмена данными, а непосредственный двусторонний обмен реализован в модуле обмена данными с СУБД и программными интерфейсами сторон.
Л. Использование формата XML
В ЭО ПО ДОСД реализована выборка текстовых типов полей и транспортная составляющая для передачи данных, реализованная как на транспортном уровне TCP/IP, так и с использованием протокола SSL.
М. Операционные системы, поддерживающие ЭО ПО ДОСД
В качестве языков программированя выбраны PHP, JavaScript и Java. Перечисленные выше языки PHP и JavaScript являются интерпретируемыми и имеют интерпретаторы для ОС Linux Ubuntu 12.0 и Microsoft Windows 7. Язык Java имеет реализацию виртуальных машин для ОС Linux Ubuntu 12.0 и Microsoft Windows 7. Поэтому ЭО ПО ДОСД полностью поддерживает как ОС Linux Ubuntu 12.0, так и Microsoft Windows 7.
Данная работа выполняется при финансовой поддержке Минобрнауки в рамках государственного контракта №14.514.11.4009.
Рецензенты:
Мисюрин Сергей Юрьевич, д.ф.-м.н., заведующий лабораторией Института машиноведения им. А.А. Благонравова РАН, г. Москва.
Сахвадзе Георгий Жорович, д.т.н., в.н.с. Института машиноведения им. А.А. Благонравова РАН, г. Москва.
Библиографическая ссылка
Гаврилова М.В., Жиганов А.Н., Старовойтова Е.Н. ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ОСУЩЕСТВЛЕНИЯ ДВУНАПРАВЛЕННОГО ОБМЕНА ДАННЫМИ // Современные проблемы науки и образования. – 2013. – № 4. ;URL: https://science-education.ru/ru/article/view?id=9500 (дата обращения: 14.10.2024).