На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Архитектура программного комплекса обработки электронных платежных документов в системе федерального казначейства

Статья опубликована в выпуске журнала № 1 за 2006 год.
Аннотация:
Abstract:
Авторы: Суховилов Б.М. () - , Григорова Е.А. () - , Леутин А.П. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 12044
Версия для печати
Выпуск в формате PDF (1.26Мб)

Размер шрифта:       Шрифт:

Проблема создания надежного комплекса обмена и хранения документов особенно актуальна, когда речь идет о платежных документах. И если в небольших коммерческих организациях чаще полагаются на готовые решения, присутствующие на рынке, то в крупных государственных структурах, таких как Управление федерального казначейства (УФК), надежности уделяется особое внимание. Перед разработчиками, создающими подобные комплексы, возникают следующие задачи:

-    обеспечение достаточного уровня секретности;

-    простота обслуживания;

-    легкость настройки (возможность перенастройки программного комплекса в условиях постоянной смены внешних и внутренних форматов без внесения изменений в программный код);

-    обеспечение взаимодействия с комплексом функциональных программ внутреннего пользования УФК (связь по данным); интеграция с существующей системой документооборота;

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

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

Уровень данных базируется на нормализованной реляционной базе данных (БД) и содержит совокупность объектов (таблиц, хранимых процедур), обеспечивающих доступ к данным с учетом особенностей конкретной СУБД.

Таблицы БД подразделяются на три группы: таблицы данных; таблицы конфигурации; журнальные таблицы (log-таблицы).

Таблицы данных используются для хранения обрабатываемых данных: отправляемых и получаемых электронных документов (ЭД), шифрованных пакетов и т.п.

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

В log-таблицах фиксируется информация о событиях, возникающих в процессе функционирования системы: подключение и отключение пользователей, конвертация, отправка и получение ЭД, возникновение ошибок и т.д. Централизованное хранение этой информации повышает защищенность системы.

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

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

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

В качестве базовой СУБД в данном проекте использовался MSSQL Server 2000, ориентированный на удовлетворение современных требований корпоративных заказчиков, работающих с очень большими БД, использующих СУБД как основу для построения информационных хранилищ. Продукт способен служить основой распределенных корпоративных систем. Однако компоненты первого уровня сравнительно легко (без каких-либо изменений в программном коде верхних уровней) могут быть перенесены в любую SQL-совместимую СУБД, поддерживающую триггеры и хранимые процедуры.

Для доступа к БД используется технология ADO (ActiveХ data objects). ADO представляет собой набор объектных интерфейсов, позволяющих создавать приложения в архитектуре клиент-сервер с обращением к БД, например, через OLE DB поставщика.

Уровень доступа к данным обслуживает разработанный в рамках проекта объект dbSQL (класс dbSQL.cls), непосредственно взаимодействующий с хранилищем информации. Свойства и методы данного объекта позволяют осуществлять доступ к любой SQL-совместимой БД. В рассматриваемом приложении экземпляры класса dbSQL используются для связи с MSSQL Server 2000.

Уровень бизнес-правил имеет объектно-ориенти­рованную структуру. Функциональность объектов данного уровня определяется группами задач:

·      загрузка электронных платежных документов (ЭПД), подготовленных во внешних функциональных программах;

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

·      обеспечение безопасности, включающая: предотвращение несанкционированного доступа к системе, к входящим и исходящим ЭД и нарушения их целостности; хранение архивной информации.

Объекты реализованы в виде иерархического набора классов на языке Visual Basic 6.0. Последний, презентационный уровень модели системы представляет собой совокупность средств визуализации ЭПД и отчетов (реестров), формируемых в момент выполнения программным комплексом отдельных задач. В качестве средства визуализации используется стандартный объект WebBrowser и набор HTML-шаблонов для отображения ЭПД и формирования реестров. HTML-шаблоны централизованно хранятся на сервере и могут при необходимости редактироваться администратором системы.

Несмотря на использование для передачи данных выделенных каналов связи, согласно требованиям ЦБ РФ, необходимо было предусмотреть дополнительные механизмы обеспечения безопасности, включающие электронно-цифровую подпись (ЭЦП), для проверки подлинности и установления авторства платежных документов, а также шифрование для обеспечения режима секретности.

Из нескольких десятков решений, доступных на рынке, был выбран программно-аппаратный комплекс КРИПТОН фирмы ²Анкад². Комплекс состоит из устройства криптографической защиты данных (УКЗД) серии КРИПТОН различных модификаций и программного обеспечения. УКЗД представляет собой плату расширения для персонального компьютера с процессором 386 и выше. Преимущества этого решения:

·    устройства серии КРИПТОН имеют сертификаты соответствия требованиям ФАПСИ (в том числе в составе абонентских пунктов и АРМ для защиты информации, содержащей сведения, составляющие государственную тайну) и Гостехкомиссии;

·    устройства серии КРИПТОН реализуют шифрование по методу ГОСТ 28147-89 и ЭЦП, что снижает затраты на разработку и эксплуатацию комплекса;

·    при необходимости УКЗД КРИПТОН могут быть дополнены средствами ограничения доступа к компьютеру, что повышает степень защиты системы от несанкционированного доступа;

·    все УКЗД КРИПТОН имеют встроенные средства самодиагностики, исключающие работу неисправного криптомодуля;

·    аппаратная реализация алгоритма криптографического преобразования на отечественной элементной базе гарантирует целостность алгоритма;

·    ключи шифрования хранятся в самой плате, а не в оперативной памяти компьютера, и не могут быть считаны или получены программными или аппаратными методами;

·    аппаратный датчик случайных чисел создает действительно случайные числа для формирования надежных ключей шифрования и ЭЦП, в отличие от псевдослучайных чисел, генерируемых только программными методами;

·    загрузка ключей шифрования в устройство КРИПТОН со смарт-карт и идентификаторов Touch Memory (i-Button) производится напрямую, минуя ОЗУ и системную шину компьютера, что исключает возможность перехвата ключей при работе системы;

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

·    высокая скорость шифрования достигается также исполнением устройства в виде платы расширения, а не USB-модуля;

·    при необходимости обработки значительных объемов данных возможна также установка на одном компьютере нескольких устройств КРИПТОН, что еще более повысит скорость шифрования;

·    использование парафазных шин в архитектуре шифрпроцессора исключает угрозу снятия ключевой информации по возникающим в ходе криптографических преобразований колебаниям электромагнитного излучения в цепях ²земля–питание² микросхем, УКЗД.

В комплекте с УКЗД поставляется базовое программное обеспечение (ПО), позволяющее использовать генерацию ключей, шифрование и дешифрование информации, ЭЦП с проверкой подлинности и авторства. Для работы в среде Windows необходимо установить пакет программ Crypton API, включающий в себя драйверы для различных типов устройств серии КРИПТОН. При разработке собственного ПО можно пойти двумя путями: использовать функции базового ПО, позволяющие работать в пакетном режиме, либо приобрести библиотеку Crypton DK, содержащую функции для работы с УКЗД КРИПТОН. Третий путь, программирование УКЗД КРИПТОН на низком уровне – довольно трудоемкая задача, которая может использоваться только в целях максимальной оптимизации кода.

Для отладки написанных программ также можно использовать драйвер-эмулятор УКЗД КРИПТОН – Crypton emulator demo, так как программный интерфейс, предоставляемый Crypton API, идентичен независимо от конкретного УКЗД серии КРИПТОН. Все упомянутое ПО доступно на web-сайте фирмы ²Анкад² (www.ancud.ru).

Специфика систем обмена платежными документами состоит в обработке большого количества записей относительно малых размеров (единицы Кб). При необходимости генерации ЭЦП для каждого документа или шифрования значительных объемов данных разумно выбирать устройства, обеспечивающие большую скорость шифрования, такие как Криптон 8/PCI (до 8500 Кб/сек) или Криптон 9/PCI (до 10000 Кб/сек). Если же объем обрабатываемых данных невелик и подписываться должны только пакеты платежных документов целиком, а не отдельные записи, то достаточно будет и устройств низшей ценовой категории. К примеру, при установке системы в УФК Челябинской области было использовано УКЗД КРИПТОН 4, имеющее скорость шифрования до 350 Кб/сек, и задержки при шифровании данных составляют единицы секунд. При существенном увеличении объема обрабатываемых данных достаточно будет лишь сменить УКЗД на более мощный или поставить несколько УКЗД в один компьютер.

При проектировании комплекса для УФК Челябинской области был выбран метод использования базового ПО УКЗД КРИПТОН, что позволило в короткие сроки без дополнительных затрат на приобретение библиотеки функций создать работоспособную систему. Созданный в результате модуль учитывает особенности текущей версии базового ПО, предназначенной для работы в однозадачной среде DOS, и позволяет системе корректно функционировать в среде Windows. Обеспечиваются строгая последовательность процедур создания и распаковки пакета ЭД и дополнительная проверка результатов криптографической обработки данных на каждом шагу.

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


Постоянный адрес статьи:
http://swsys.ru/index.php?id=472&page=article
Версия для печати
Выпуск в формате PDF (1.26Мб)
Статья опубликована в выпуске журнала № 1 за 2006 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: