автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Обеспечение сетевого взаимодействия и информационной безопасности в системе генерации многоуровневых программных комплексов клиент-серверной архитектуры

кандидата технических наук
Широков, Александр Николаевич
город
Москва
год
2005
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Обеспечение сетевого взаимодействия и информационной безопасности в системе генерации многоуровневых программных комплексов клиент-серверной архитектуры»

Автореферат диссертации по теме "Обеспечение сетевого взаимодействия и информационной безопасности в системе генерации многоуровневых программных комплексов клиент-серверной архитектуры"

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

Широков Александр Николаевич

ОБЕСПЕЧЕНИЕ СЕТЕВОГО ВЗАИМОДЕЙСТВИЯ И ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В СИСТЕМЕ ГЕНЕРАЦИИ МНОГОУРОВНЕВЫХ ПРОГРАММНЫХ КОМПЛЕКСОВ КЛИЕНТ-СЕРВЕРНОЙ АРХИТЕКТУРЫ

Специальность: 05.13.11 - математическое и программное обеспечение вычислительных машин, комплексов и компьютерных

сетей

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических

наук

Научный руководитель к.ф.-м.н. Вышинский Л.Л.

Москва 2005

Работа выполнена в Вычислительном центре им. А.А.Дородницына Российской академии наук

Научный руководитель - к.ф.-м.н. Вышинский Л.Л.

Официальные оппоненты

д.ф.-м.н, проф. В.А.Серебряков, к.т.н., в.н.с. Н.Л.Гайдаренко

Ведущая организация:

Московский физико-технический институт

Защита диссертации состоится 2005 года в часов на

заседании диссертационного совета № Д 002.017.02 при Вычислительном центре им. А.А.Дородницына Российской академии наук по адресу: 119991 Москва, ГСП-1, ул.Вавилова, д.40

С диссертацией можно ознакомиться в библиотеке Вычислительного центра им. А.А.Дородницына Российской академии наук

Автореферат разослан

2005 года

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

В.В.Рязанов

1 Общая характеристика работы

1.1 Актуальность работы

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

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

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

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

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

С учетом всего вышесказанного отчетливо проявилась проблема необходимости разработки современных инструментальных систем, учитывающих обозначенные выше недостатки. В ВЦ РАН ведутся работы в этой области. Коллективом авторов была создана инструментальная система «Генератор Проектов», предназначенная для разработки прикладных информационных систем в рамках клиент-серверной архитектуры. Эта система была использована при разработке ряда автоматизированных систем и показала свою эффективность. «Генератор Проектов» продолжает развиваться с целью расширения ее инструментальных возможностей.

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

1.2 Цель работы

Создание действующей программной реализации подсистемы безопасности информационных систем в рамках инструментальной системы «Генератор Проектов».

1.3 Научная новизна

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

Разработан универсальный механизм

идентификации/аутентификации пользователей в подсистеме

2

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

Разработана универсальная модель интерфейса библиотек криптографических алгоритмов, независящая от типов криптографических алгоритмов.

Разработана модель и программная реализация подсистемы безопасности информационных систем. Разработанная программная реализация интегрирована в инструментальную систему «Генератор Проектов».

1.4 Практическая ценность

Практическая значимость полученных результатов состоит в том, что разработанные инструментальные средства позволяют существенно сократить трудоемкость разработки прикладных информационных систем, уменьшить количество ошибок в программном коде и повысить надежность программных комплексов. Это было подтверждено при создании и сопровождении ряда реальных систем, три из которых описаны в данной работе: Система Банковского Самообслуживания MassPay [46], Система Мобильного Банковского Обслуживания MobilPay [47] и Система обслуживания микропроцессорных карт DUPLET.

Система Банковского Самообслуживания была внедрена в промышленную эксплуатацию в Сбербанке России в 2003 году. Начало разработки системы по заказу Западно-Уральского Банка Сбербанка России - 2002 год.

Система Мобильного Банковского Обслуживания была реализована в пилотном варианте в коммерческом банке МБРР (Московский Банк Реконструкции и Развития) в 2003 году. Начало разработки системы по заказу коммерческого банка МБРР - 2002 год.

Система обслуживания микропроцессорных карт DUPLET внедрена в промышленную эксплуатацию в компании ООО «Про-Кард» и коммерческом банке «Мак-банк» в 2002 году. Начало разработки системы по заказу компании ООО «Про-Кард» и коммерческого банка «Мак-банк» - 2001 год.

1.5 Публикации

По теме диссертации опубликованы 6 работ, список которых приведен в конце автореферата.

1.6 Апробация

Диссертация в целом, отдельные ее части диссертации и результаты докладывались:

• на Научной сессии МИФИ в 2001 году;

• на семинаре отдела «Математического моделирования экономических систем» в 2004 году (руководитель -академик Петров);

• многократно на семинарах отдела «Математического моделирования систем проектирования» в 2001-2005 годах. Достоверность полученных результатов подтверждена

работающей инструментальной системой «Генератор Проектов».

1.7 Структура и объем диссертации

Диссертация состоит из введения, четырех глав и заключения, изложенных на 156 страницах и иллюстрированных 22 рисунками. Список использованных источников включает 91 наименование.

2 Краткое содержание работы

Введение.

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

Глава 1. Инструментальная система "Генератор Проектов".

В первой главе рассматривается проектный подход к созданию информационных систем. Приводятся аргументы в пользу использования инструментальных систем для создания современных информационных систем. Дается описание структурной модели

проектируемых систем. Наиболее удачной является архитектура «клиент-сервер». Приводится описание инструментальной системы «Генератор Проектов», включая язык описания проектов,

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

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

В разделе 1 2 Архитектура "клиент-сервер" приведено описание различных конфигураций многоуровневых клиент-серверов

Классической структурой прикладных

многопользовательских информационно-поисковых систем является архитектура «трехуровневый клиент-сервер», изображенная на рис 1

Рис 1 Трехуровневый «клиент - сервер»

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

В разделе 13 «Структурная модель проектируемых систем» представлена общая структурная модель проектируемых систем На структурной модели отражены все логические компоненты информационной системы и связи между ними

В разделе 14 «Язык описания проектов» представлено описание языка, при помощи которого задается полное описание проекта информационной системы

В разделе 1.5 «Состав файлов описания проекта» перечислены все файлы, которые могут входить в состав описания проекта. Представлено их подробное описание.

В разделе 1.6 «Генерация и сборка программного комплекса» дано описание процесса генерации и сборки программного комплекса информационной системы из файлов описания проекта.

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

Глава 2. Информационная безопасность.

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

В разделе 2.1 излагается концепция информационной безопасности. В архитектуре клиент-сервер концепция

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

• передаваемая информация может быть прочтена неавторизованными пользователями;

• передаваемая информация может быть искажена неавторизованными пользователями;

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

• пользователь может отказаться от факта создания и передачи информации на сервер от своего имени, даже если этот факт в реальности произошел.

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

• обеспечение конфиденциальности информации в процессе ее создания, хранения, обработки и передачи;

• контроль целостности данных при их обработке и передаче по каналам связи;

• аутентификация информации, в том числе в отношении подлинности, авторства и момента создания;

• идентификация участников информационного обмена.

В разделах 2.2-2.6 приведены основные технологии информационной безопасности (симметричные алгоритмы, асимметричные алгоритмы, электронная цифровая подпись, контроль целостности данных, хеширование, аутентификация информации, идентификация сторон информационного обмена,

цифровые сертификаты) для решения перечисленных выше проблем.

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

В разделе 2.7 отмечена особенность концепции информационной безопасности, подразумевающую, что алгоритмы идентификации/аутентификации и шифрования никогда не должны быть закрытыми от публичного доступа. Закрытой (или секретной) должна быть исключительно ключевая информация для этих алгоритмов. Это обуславливается тем, что разработчики подсистемы безопасности с закрытыми алгоритмами становятся уязвимым звеном как с точки зрения информационной безопасности системы. так и с точки зрения безопасности самих разработчиков. Уязвимость информационной безопасности самой системы объясняется тем, что алгоритмы защиты рано или поздно всё равно «просочатся наружу». Это может произойти как вследствие увольнения разработчиков, промышленного шпионажа, так и банального, но наиболее распространенного, человеческого фактора. Небезопасность разработчиков объясняется тем, что они первыми попадают под прицел злоумышленников с целью получения алгоритмов подсистемы безопасности. Таким образом, алгоритмы не должны являться закрытой информацией. Чтобы обеспечить информационную безопасность необходимо засекречивать ключевую информацию для этих алгоритмов. К алгоритмам подсистемы безопасности относятся не только непосредственно криптографические алгоритмы, но и также алгоритмы идентификации/аутентификации, программные механизмы проверки прав доступа, протоколы информационного обмена.

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

В разделе 2.8 «Методы обеспечения информационной безопасности» изложены методы обеспечения информационной безопасности, перечислены компоненты модели, представлена структурная схема модели.

В разделе 2.9 «Программная реализация» перечислены программные компоненты подсистемы безопасности, дано их подробное описание, функции и особенности. Приведена структура Базы Ключей Сервера Безопасности с описанием всех полей данных и связей между ними.

В разделе 2.10 «Транспортная модель передачи данных» представлено описание транспортной модели, применяемой в проектируемых информационных системах. Транспортная модель построена на понятии пакета данных. Приведено описание протокола и пакетов аутентификации, контроля канала передачи и передачи данных. Изложены особенности взаимодействия с удаленным Сервером Безопасности.

В разделе 2.11 «Первоначальное развертывание системы» дано описание необходимых действий для успешного и грамотного развертывания информационной системы.

Глава 3. Пример описания проекта информационной системы.

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

тому же приведенный пример позволяет оценить соотношение объема описания проекта и объема сгенерированной системы.

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

На основании приведенного в этой главе примера описания проекта информационной системы можно сделать следующий вывод. Компактное текстовое описание проекта позволяет создать информационную систему, обладающую:

• развитой подсистемой информационной безопасности;

• распределенным хранением информационных ресурсов;

• функциональным и практичным пользовательским интерфейсом;

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

Естественно, приведенный здесь пример не отражает всех возможностей представленной инструментальной системы «Генератор Проектов».

Глава 4. Практическое применение.

В четвертой главе приведено описание реального использования инструментальной системы "Генератор Проектов" для построения информационных систем. Излагается краткое описание трех промышленных систем, разработанных с применением инструментальной системы «Генерагор Проектов», в разработке которых автор принимал непосредственное участие. Все три системы связаны с обеспечением выполнения банковских

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

Первая система - это Система Банковского Самообслуживания, Основное ее назначение прием платежей населения в пользу различных поставщиков услуг, в том числе и коммунальных, с использованием автоматических банковских терминалов (банкоматов и инфокиосков).

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

Третья система - это Система DUPLET. Назначение этой системы - организация и автоматизация взаимных межбанковских расчетов при выполнении операций выдачи наличных по микропроцессорным карточкам стандарта DUET, эмитированными "чужими" платежными системами.

Заключение.

В заключении перечисляются основные результаты, полученные в диссертации.

3 Основные результаты работы

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

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

Автор представляемой диссертации является одним из разработчиков инструментальной системы "Генератор Проектов" Ниже перечислены основные результаты, которые получены лично автором:

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

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

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

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

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

• Применена сетевая база данных для хранения аутентификационной информации, включая

криптографические ключи пользователей и списки привилегий на выполнение тех или иных операций.

• Разработаны удобные средства администрирования подсистемы безопасности. В том числе реализован Модуль Администратора Безопасности, выполненный в виде графического программного приложения, позволяющего интуитивно понятном способом управлять системой.

• В промышленной Системе MassPay автор реализовал подсистему информационной безопасности, несколько десятков Интерфейсных Клиентских Модулей для связи с различными Биллингами по специфическим протоколам.

• В пилотной Системе MobilPay автор реализовал подсистему информационной безопасности, взаимодействие с Центром приема коротких сообщений (SMS) по протоколу SMPP v3.4 через канал ТСРДР.

• В промышленной Системе Duplet автор разработал транспортную архитектуру, реализовал подсистему информационной безопасности, Центральный Сервер Системы, Карточные Модули, Модуль Регионального Клиента.

По теме диссертации опубликованы следующие работы:

1. Широков А.Н. Организация сетевого взаимодействия при автоматизации разработки программных комплексов. - М.: Вычислительный Центр РАН, 2004. - 26 с.

2. Широков А.Н. Обеспечение информационной безопасности в архитектуре клиент - сервер. // Сборник «Автоматизация проектирования финансовых информационных систем». -Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 44-56.

3. Вышинский Л.Л., Гринев И.Л., Флеров Ю.А., Широков А.Н., Широков Н.И. Автоматизация проектирования прикладных информационных систем. Издание Вычислительного Центра РАН, Москва, 2003 г.,-51 с.

4. Вышинский Л. Л., Гринев И. Л., Флеров Ю.А., Широков А.Н., Широков Н.И. Генератор проектов - инструментальный комплекс для разработки "клиент-серверных" систем. // Информационные технологии и вычислительные системы. 2003,1-2. М., с. 6-24.

5. Гринев И.Л., Логинов А.А., Широков А.Н., Широков Н.И. Система банковского самообслуживания. // Сборник «Автоматизация проектирования финансовых информационных систем». - Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 87-94.

6. Гринев И.Л., Логинов А.А., Широков А.Н., Широков Н.И. Система мобильного банковского обслуживания. // Сборник «Автоматизация проектирования финансовых информационных систем». - Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 95-101.

05. 1Z - 05. /3

Отпечатано в типографии "SunPrint" 115280, Москва, 2-й Автозаводский пр-д, д. За, тел.: (095) e-mail: info@sunprint.ru | www.sunprint.ru Заказ №769 от 02.03.05 Тираж 100 экз.

Оглавление автор диссертации — кандидата технических наук Широков, Александр Николаевич

Введение.

1 Инструментальная система "Генератор Проектов".

1.1 Проектный подход к разработке информационных систем.

1.2 Архитектура «клиент-сервер».

1.3 Структурная модель проектируемых систем.

1.4 Язык описания проектов.

1.5 Состав файлов описания проекта.

1.6 Генерация и сборка программного комплекса.

1.7 Преимущества проектного подхода в Генераторе Проектов.

2 Информационная безопасность.

2.1 Концепция информационной безопасности.

2.2 Обеспечение конфиденциальности информации.

2.2.1 Симметричные алгоритмы.

2.2.2 Асимметричные алгоритмы.

2.2.3 Электронная цифровая подпись.

2.3 Контроль целостности данных.

2.3.1 Хеширование.

2.4 Аутентификация информации.

2.5 Идентификация сторон информационного обмена.

2.5.1 Протокол трехфазной аутентификации.

2.6 Цифровые сертификаты.

2.7 Особенности концепции информационной безопасности.

2.8 Методы обеспечения информационной безопасности.

2.8.1 Компоненты модели.

2.8.2 Структура модели.

2.9 Программная реализация.

2.9.1 Программные компоненты подсистемы безопасности.

2.9.2 Структура Базы Ключей Сервера Безопасности.

2.10 Транспортная модель передачи данных.

2.10.1 Протокол и пакеты аутентификации.

2.10.2 Взаимодействие с удаленным Сервером Безопасности.

2.10.3 Протокол и пакеты контроля канала передачи.

2.10.4 Протокол и пакеты передачи данных.

2.11 Первоначальное развертывание системы.

3 Пример описания проекта информационной системы.

3.1 Архитектура.

3.2 Описание проекта.

3.2.1 Общее описание проекта.

3.2.2 Описание Баз Данных.

3.2.3 Описание Серверов.

3.2.4 Описание пользовательского интерфейса.

3.3 Логика работы Клиентских Модулей.

3.3.1 Клиентский Модуль Город.

3.3.2 Клиентский Модуль Район.

3.3.3 Модуль Администратора Безопасности.

3.4 Состав файлов информационной системы.

3.5 Пользовательский интерфейс.

4 Практическое применение.

4.1 Система Банковского Самообслуживания MassPay.

4.1.1 Архитектура Системы.

4.1.2 Язык Настройки Сценариев (ЯНС).

4.1.3 Реализация проекта.

4.2 Система Мобильного Банковского Обслуживания MobilPay

4.2.1 Описание системы мобильного банкинга.

4.2.2 Задачи мобильной коммерции.

4.2.3 Информационная безопасность.

4.2.4 Основные функции СМБ.

4.2.5 Реализация макета СМБ.

4.3 Система обслуживания микропроцессорных карт DUPLET.

4.3.1 Технология расчетов в Системе.

4.3.2 Архитектура Системы.

4.3.3 Функции компонент системы DUPLET.

4.3.3.1 Серверы DUET.

4.3.3.2 Модуль «Оператор расчетов».

4.3.3.3 Модуль «Региональный клиент» (РК).

4.3.3.4 Модуль «Персональный клиент» (ПК).

4.3.3.5 Интернет-магазин.

4.3.3.6 Прикладной Сервер.

4.3.3.7 Сервер терминальных карт (СТК).

4.3.3.8 Подсистема безопасности.

4.3.4 Надежность расчетов.

4.3.5 Информационная безопасность.

4.3.5.1 Защита Базы Данных Системы DUPLET.

4.3.5.2 Защита терминальных карт.

4.3.5.3 Защита Системы DUET.

4.3.5.4 Защита информационного обмена между центральным сервером Системы и Интернет-магазином.

4.3.5.5 Защита информационного обмена между центральным сервером Системы и банками — участниками Системы.

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Широков, Александр Николаевич

Актуальность проблемы

Повсеместное распространение компьютерных сетей различного масштаба, а также интеграция их во всемирную сеть Интернет открыли новые возможности для создания распределенных прикладных автоматизированных систем различных целевых назначений. Наиболее удачными с точки зрения эффективности, гибкости и многофункциональности являются прикладные системы, построенные по технологии многоуровневого клиент-сервера [1-3]. Однако одновременно с появлением подобных систем возникла и оборотная сторона медали - необходимость обеспечения информационной безопасности во враждебной среде публичных сетей.

Под информационной безопасностью некоторого информационного ресурса подразумевается максимальное затруднение доступа неуполномоченными пользователями к соответствующему информационному ресурсу и обеспечение защиты информационного ресурса от искажений или удаления [4-8]. Соответственно с точки зрения развертывания информационных систем в масштабах публичных сетей необходимо учитывать целый ряд свойств характерных для публичных сетей. К этим свойствам относятся: свободный доступ посторонних лиц к информации, проходящей по каналам публичных сетей; более низкая пропускная способность каналов связи по сравнению с локальными сетями; наличие оплаты за объем передаваемой информации; менее надежная работоспособность каналов связи по сравнению с локальными сетями.

Тяжкое наследие систем, разработанных в операционной системе М8Э08, наложило отпечаток на архитектуру современных систем [9-12]. Первоначально системы строились по технологии двухуровневого клиент-сервера, в которой клиентские модули обращались непосредственно в базу данных [1319]. Подавляющее большинство подобных систем было рассчитано на функционирование в закрытых от внешнего мира локальных сетях компаний. Архитектура у систем была такова, что данные хранились в файлах формата с!ЬГ на выделенном сервере. На рабочих местах, подключенных к локальной сети, устанавливались клиентские модули, которые для доступа к данным использовали принцип файл-сервера. Т.е. клиентские модули обращались к файлам формата расположенным в разделяемых директориях, доступных для чтения и записи с рабочих мест, где расположены клиентские модули. Соответственно с точки зрения информационной безопасности осуществлялась очень слабая защита информационных ресурсов от несанкционированного доступа (НСД). В такой системе легко можно было получить, модифицировать или полностью уничтожить любую необходимую информацию. Разделение доступа было возможно только ограничением доступа на уровне файл-сервера, т.е. было возможно ограничить доступ с заданного рабочего места к заданному файлу. Причем только целиком ко всему файлу. Такое разделение прав доступа очень сильно снижало гибкость для объемной и многофункциональной информационной системы. При этом очень сильно повышались затраты на администрирование и сопровождение подобных систем.

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

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

Характерным примером таких систем являлись системы, построенные с применением различных программных продуктов для разработки на базе языка Clipper [20].

Дальнейшее развитие технологии разработки программных продуктов привело к применению новых поколений баз данных с многопользовательским режимом доступа [21-30]. Обработка информации в них осуществлялась при помощи программной компоненты, именуемой СУБД (Система Управления Базой Данных), функционирующей в непосредственном контакте с файлами Базы Данных (БД). Клиентские приложения в подобных системах взаимодействовали не с Базой Данных напрямую, а посредством СУБД. В функции СУБД входило обеспечение доступа к данным, их локальная структурная обработка с применением языка структурных запросов SQL (Structured Query Language) [3133] и отправка результирующих данных клиентскому приложению.

Для удаленного доступа к СУБД использовались различные сетевые протоколы. Универсальным и наиболее распространенным протоколом доступа являлась спецификация ODBC (Open Data Base Connectivity) [28]. Несомненным преимуществом этого стандарта было то, что он позволял в теории единым и унифицированным способом взаимодействовать с различными СУБД (разных производителей и под разные программно-аппаратные платформы). Однако на практике такая универсальность должным образом не обеспечивалась. Дело в том, что для взаимодействия с различными СУБД, даже с учетом универсальности протокола ODBC, приходилось учитывать особенности каждой СУБД. Как правило, каждая СУБД требовала дополнительного выполнения тех или иных функций ODBC со специфическими параметрами во время инициализации работы. Либо присутствовало то или иное ограничение на проведение одновременных запросов. Например, в СУБД Oracle при открытом курсоре не допускалось выполнение других запросов [22]. В результате не удавалось создать приложение, которое могло бы взаимодействовать с любой существующей СУБД и разработанной позже.

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

К тому же универсальность стандарта ODBC оборачивалась достаточно низкой производительностью. Это хорошо подтверждалось на практике наличием специализированных интерфейсов у каждого производителя СУБД. Например, у Microsoft SQL Server - интерфейс DBLIB [28], у Oracle - интерфейс OCI [22-23,25]. Взаимодействие с СУБД через эти интерфейсы позволяло в несколько раз увеличить скорость работы с БД.

Вдобавок информационная безопасность в стандарте ODBC обеспечивалась на очень низком уровне, как по уровню защищенности данных от НСД, так и по уровню гибкости в разделении прав доступа к информационным ресурсам. В ODBC отсутствовали встроенные средства аутентификации и шифрования канала данных с привязкой ключей шифрования к пользователям, определяемых прикладной задачей информационной системы. Плюс к этому с точки зрения прикладной архитектуры возможности построения сложных бизнес-приложений ограничивались отсутствием надежных и развитых средств синхронизации параллельных запросов и выстраивания запросов в «очереди». Что нередко приводило к зависанию или так называемой «смертельной блокировке» (deadlock) одновременно выполняющихся запросов, требующих доступа к одним и тем же ресурсам.

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

Некоторым выходом из такой ситуации стало дальнейшее усовершенствование интерфейса и встроенных возможностей СУБД. Это вылилось в появлении различного рода встроенных средств обработки данных в самих СУБД до отправки результата клиентскому приложению. Характерным примером являлась технология представлений VIEW [18-19]. Эта технология позволяла создавать в СУБД специальные таблицы, реальным воплощением которых были SQL-запросы к другим таблицам. Преимуществом такой технологии было упрощение структуры запросов между клиентским модулем и СУБД, что соответственно приводило к сокращению объема пересылаемых данных и как следствие повышению производительности системы в целом.

Другим примером встроенных средств СУБД являлись хранимые процедуры (stored procedures), позволяющие на том или ином языке и на SQL в частности, в зависимости от производителя СУБД, выполнять достаточно сложные процедуры обработки данных [18-19].

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

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

Некоторые попытки исправить сложившуюся ситуацию предпринимались в различных инструментальных системах [27,34-39]. Однако комплексного решения, учитывающего в полной мере все перечисленные выше недостатки, так и не появилось в широком распространении. Большинство систем не обладает достаточной гибкостью и универсальностью, а зачастую и необходимой функциональностью, с точки зрения прикладных задач построения информационных систем. Либо в предлагаемых инструментальных системах отсутствуют надежные и развитые средства обеспечения информационной безопасности многопользовательских многокомпонентных программных комплексов, функционирующих в публичных сетях, либо создаваемые ими информационные системы недостаточно эффективны на низкоскоростных каналах передачи данных.

С учетом всего вышесказанного отчетливо проявилась проблема необходимости разработки современных инструментальных систем, учитывающих обозначенные выше недостатки. В ВЦ РАН ведутся работы в этой области.

Коллективом авторов была создана инструментальная система «Генератор Проектов» [40-44], предназначенная для разработки прикладных информационных систем в рамках клиент-серверной архитектуры. Эта система была использована при разработке ряда автоматизированных систем [45-49] и показала свою эффективность. «Генератор Проектов» продолжает развиваться с целью расширения ее инструментальных возможностей.

Настоящая работа посвящена одному из наиболее актуальных вопросов инструментального обеспечения разработки информационных систем - вопросам обеспечения информационной безопасности [1-8,50]. Цель исследований

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

• Разработка архитектуры информационных клиент - серверных систем с точки зрения обеспечения информационной безопасности в публичных сетях различного масштаба.

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

• Разработка спецификации программного интерфейса подсистемы безопасности с целью интеграции ее в инструментальную систему «Генератор Проектов».

• Создание программной реализации подсистемы безопасности с целью интеграции ее в инструментальную систему «Генератор Проектов».

• Разработка архитектуры и программной реализации подсистемы безопасности для двух основных типов ключевой информации — симметричной и асимметричной.

Содержание работы

В данной работе разработана технология организации сетевого взаимодействия в прикладных информационно-поисковых системах, базирующихся на многоуровневой клиент-серверной архитектуре. Данная технология реализована в рамках универсальной инструментальной системы «Генератор Проектов».

В первой главе рассматривается проектный подход к созданию информационных систем. Приводятся аргументы в пользу использования инструментальных систем для создания современных информационных систем. Дается описание структурной модели проектируемых систем. Наиболее удачной является архитектура «клиент-сервер». Приводится описание инструментальной системы «Генератор Проектов», включая язык описания проектов.

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

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

В четвертой главе приведено описание реального использования инструментальной системы "Генератор Проектов" для построения информационных систем. Излагается краткое описание трех промышленных систем, разработанных с применением инструментальной системы «Генератор Проектов», в разработке которых автор принимал непосредственное участие. Все три системы связаны с обеспечением выполнения банковских платежей с применением современных электронных устройств - пластиковых карт, мобильных телефонов, банкоматов. Обеспечение таких платежей - это в первую очередь обеспечение надежности и безопасности. Первая система - это Система Банковского Самообслуживания. Основное ее назначение прием платежей населения в пользу различных поставщиков услуг, в том числе и коммунальных, с использованием автоматических банковских терминалов (банкоматов и инфокиосков). Вторая система - это Система Мобильного Банковского Обслуживания. Назначение этой системы - осуществление безналичных платежей с использованием мобильных телефонов в качестве средства идентификации клиента. Третья система — это Система DUPLET. Назначение этой системы — организация и автоматизация взаимных межбанковских расчетов при выполнении операций выдачи наличных по микропроцессорным карточкам стандарта DUET, эмитированными "чужими" платежными системами.

Научная новизна

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

Разработан универсальный механизм идентификации/аутентификации пользователей в подсистеме безопасности информационных систем для двух различных типов ключевой информации - симметричной и асимметричной. Применен протокол трехфазной аутентификации.

Разработана универсальная модель интерфейса библиотек криптографических алгоритмов, независящая от типов криптографических алгоритмов.

Разработана модель и программная реализация подсистемы безопасности информационных систем. Разработанная программная реализация интегрирована в инструментальную систему «Генератор Проектов».

Практическая ценность

Практическая значимость полученных результатов состоит в том, что разработанные инструментальные средства позволяют существенно сократить трудоемкость разработки прикладных информационных систем, уменьшить количество ошибок в программном коде и повысить надежность программных комплексов. Это было подтверждено при создании и сопровождении ряда реальных систем, три из которых описаны в данной работе: Система Банковского Самообслуживания MassPay [46], Система Мобильного Банковского Обслуживания MobilPay [47] и Система обслуживания микропроцессорных карт DUPLET.

Система Банковского Самообслуживания была внедрена в промышленную эксплуатацию в Сбербанке России в 2003 году. Начало разработки системы по заказу Западно-Уральского Банка Сбербанка России - 2002 год.

Система Мобильного Банковского Обслуживания была реализована в пилотном варианте в коммерческом банке МБРР (Московский Банк Реконструкции и Развития) в 2003 году. Начало разработки системы по заказу коммерческого банка МБРР - 2002 год.

Система обслуживания микропроцессорных карт DUPLET внедрена в промышленную эксплуатацию в компании ООО «Про-Кард» и коммерческом банке «Мак-банк» в 2002 году. Начало разработки системы по заказу компании ООО «Про-Кард» и коммерческого банка «Мак-банк» - 2001 год.

Общая характеристика

Объем работы - 156 страниц, 22 иллюстрации.

Заключение диссертация на тему "Обеспечение сетевого взаимодействия и информационной безопасности в системе генерации многоуровневых программных комплексов клиент-серверной архитектуры"

Заключение

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

Автор представляемой диссертации является одним из разработчиков инструментальной системы "Генератор Проектов". Ниже перечислены основные результаты, которые получены лично автором:

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

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

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

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

Разработаны удобные средства администрирования подсистемы безопасности. В том числе реализован Модуль Администратора Безопасности, выполненный в виде графического программного приложения, позволяющего интуитивно понятном способом управлять системой. В промышленной Системе MassPay автор реализовал подсистему информационной безопасности, несколько десятков Интерфейсных Клиентских Модулей для связи с различными Биллингами по специфическим протоколам.

В пилотной Системе MobilPay автор реализовал подсистему информационной безопасности, взаимодействие с Центром приема коротких сообщений (SMS) по протоколу SMPP v3.4 через канал TCP/IP. В промышленной Системе Duplet автор разработал транспортную архитектуру, реализовал подсистему информационной безопасности, Центральный Сервер Системы, Карточные Модули, Модуль Регионального Клиента.

Библиография Широков, Александр Николаевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Широков А.Н. Организация сетевого взаимодействия при автоматизации разработки программных комплексов. — М.: Вычислительный Центр РАН, 2004. - 26 с.

2. Широков А.Н. Обеспечение информационной безопасности в архитектуре клиент сервер. // Сборник «Автоматизация проектирования финансовых информационных систем». - Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 44-56.

3. Вышинский JLJL, Гринев И.Л., Флеров Ю.А., Широков А.Н., Широков Н.И. Автоматизация проектирования прикладных информационных систем. Издание Вычислительного Центра РАН, Москва, 2003 г., -51 с.

4. Петренко С. А., Петренко А. А. Аудит безопасности Intranet. — М.: ДМК Пресс, 2002.-416 с.

5. Щеглов А. Ю. Защита компьютерной информации от несанкционированного доступа. М.: Наука и Техника, 2004. - 384 с.

6. Столлингс В. Основы защиты сетей: Приложения и стандарты. — М.: Вильяме, 2001.-432 с.

7. Голдовский И. Безопасность платежей в Интернете. СПб.: Питер,2001.-240 с.

8. Мельников В.В. Безопасность информации в автоматизированных системах. — М.: Финансы и статистика, 2003. 368 с.

9. Финогенов К. Г. Самоучитель по системным функциям MS-DOS. -М.: Горячая Линия Телеком, 2001. - 382 с.

10. Таненбаум Э. Современные операционные системы. — СПб.: Питер,2002.-1040 с.

11. Одинцов И. Профессиональное программирование. Системный подход. СПб.: БХВ-Петербург, 2004. - 624 с.

12. Карл И. Вигерс. Разработка требований к программному обеспечению. М.: Русская Редакция, 2004. - 576 с.

13. Кульба В. В., Ковалевский С. С., Косяченко С. А., Сиротюк В. О. Теоретические основы проектирования оптимальных структур распределенных баз данных. — М.: Синтег, 1999. 660 с.

14. Фаронов В. Программирование баз данных в Delphi 7. Учебный курс.- СПб.: Питер, 2004 г. 464 с.

15. Гайдамакин Н. А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. М.: Гелиос АРВ, 2002. - 368 с.

16. Кренке Д. Теория и практика построения баз данных. СПб.: Питер, 2005.-864 с.

17. Ролланд Ф. Д. Основные концепции баз данных. М.: Вильяме, 2002. -256 с.

18. Гасанов Э. Э., Кудрявцев В. Б. Теория хранения и поиска информации. М.: Издательство Физико-математической литературы, 2002. -288 с.

19. Ребекка М. Райордан. Основы реляционных баз данных. — М.: Русская Редакция, 2001. 384 с.

20. Панкратов Е. Язык программирования Clipper. Справочное пособие.- М.: Познавательная книга, 2001. 224 с.

21. Кевин Луни, Марлен Терьо. Oracle 9i. Настольная книга администратора. М.: Лори, 2003. - 766 с.

22. Том Кайт. Oracle для профессионалов. Книга 1. Архитектура и основные особенности. М.: ДиаСофтЮП, 2003. - 672 с.

23. Том Кайт. Oracle для профессионалов. Книга 2. Расширение возможностей и защита. М.: ТИД "ДС", 2003. - 848 с.

24. Майкл Эбби, Майк Кори, Иен Абрамсон. Oracle 9i. Первое знакомство. М.: Лори, 2003. - 544 с.

25. Марлен Терьо. 101 Oracle8i. Организация работы в сети. М.: Лори, 2001.-464 с.

26. Стив Бобровски. Oracle 8: Архитектура. М.: Лори, 1998. - 210 с.

27. Питер Колетски, Д-Р Поль Дорси. Oracle Designer. Настольная книга пользователя. — М.: Лори, 1999. 590 с.

28. Джеффри Л. Бирн. Microsoft SQL Server. Руководство администратора. M.: Лори, 1998. - 114 с.

29. Робин Дьюсон. SQL Server 2000. Программирование. M.: Бином. Лаборатория знаний, 2002. - 794 с.

30. Линзенбардт М. А., Стиглер М. Ш. Администрирование SQL Server 2000. Полное руководство. М.: Издательская группа BHV, 2001. -400 с.

31. Джон Кауффман, Брайан Матсик, Кевин Спенсер. SQL. Программирование. М.: Бином. Лаборатория знаний, 2002. - 746 с.

32. Кузнецов С. SQL. Язык реляционных баз данных. М.: Майор, 2001. -192 с.

33. Мартин Грабер. SQL. Справочное руководство. М.: Лори, 2001. -354 с.

34. Джерк Н. Разработка приложений для электронной коммерции. — СПб.: Питер, 2001. 512 с.

35. Хелд Г. Технологии передачи данных. СПб.: Питер, BHV, 2003. -720 с.

36. Когаловский М. Р. Перспективные технологии информационных систем. М.: ДМК Пресс, Компания АйТи, 2003. - 288 с.

37. Эрик Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004. - 656 с.

38. Эрик Аллен. Типичные ошибки проектирования. СПб.: Питер, 2003.-224 с.

39. Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. - 880 с.

40. Вышинский JI.JL, Гринев И.Л., Флеров Ю.А., Широков А.Н., Широков Н.И. Генератор проектов — инструментальный комплекс для разработки "клиент-серверных" систем. // Информационные технологии и вычислительные системы. 2003, 1-2. М., с. 6-24.

41. Широков Н.И. Генератор проектов. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 23-43.

42. Широкова E.H. Генерация программного кода в Генераторе проектов. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 57-62.

43. Вышинский Л.Л., Гринев И.Л., Демидов А.Ю., Широков Н.И. Технологии разработки и сопровождения АБС. // «Банковские технологии», Москва, 1997 июль-август, с. 35-48.

44. Вышинский Л.Л., Гринев И.Л., Катунин В.П., Лабутин И.В., Флеров Ю.А. Широков Н.И. Банковские Информационные технологии (части I и II). М.: ВЦ РАН 1999, 272 с.

45. Вышинский Л.Л., Широкова E.H. Автоматизированная система бил-линга. // Сборник «Автоматизация проектирования финансовых информационных систем». — Издание Вычислительного Центра РАН, Москва, 2004 г., с. 75-86.

46. Гринев И.Л., Логинов A.A., Широков А.Н., Широков Н.И. Система банковского самообслуживания. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 87-94.

47. Гринев И.Л., Логинов A.A., Широков А.Н., Широков Н.И. Система мобильного банковского обслуживания. // Сборник «Автоматизацияпроектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 95-101.

48. Гринев И.Л., Логинов A.A., Широков Н.И. Система ИНТЕРНЕТ -платежей. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 102-109.

49. Вышинский Л.Л., Гринев И.Л., Широков Н.И., Щедров В.И. Система урегулирования задолженностей. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 110-118.

50. Пярин В.А., Кузьмин A.C., Смирнов С.Н. Безопасность электронного бизнеса / Под ред. действительного члена РАЕН д.т.н., проф. В.А. Минаева. М.: Гелиос АРВ, 2002. - 432 е., ил.

51. Федотова Д. Э., Семенов Ю. Д., Чижик К. Н. CASE-технологии. Практикум. М.: Горячая Линия - Телеком, 2003. - 160 с.

52. Трофимов С. А. CASE-технологии. Практическая работа в Rational Rose. М.: Бином-Пресс, 2002. - 288 с.

53. Роберт Т. Фатрелл, Дональд Ф. Шафер, Линда И. Шафер. Управление программными проектами. Достижение оптимального качества при минимуме затрат. М.: Вильяме, 2003. - 1136 с.

54. Орлов С. А. Технологии разработки программного обеспечения. Разработка сложных программных систем. Для студентов и преподавателей высших учебных заведений. СПб.: Питер, 2003. - 480 с.

55. Иванова Г. С. Технология программирования. М.: МГТУ им. Н. Э. Баумана, 2002. - 320 с.

56. Стивен Р. Палмер, Джон М. Фелсинг. Практическое руководство по функционально-ориентированной разработке ПО. М.: Вильяме, 2002.-304 с.

57. Вендров A. M. Практикум по проектированию программного обеспечения экономических информационных систем. М.: Финансы и статистика, 2002. - 192 с.

58. Антон Элиенс. Принципы объектно-ориентированной разработки программ. М.: Вильяме, 2002. - 496 с.

59. David A. Marca, Clement L. McGowan. SADT: Structured Analysis and Design Technique. McGrow-Hill Book Company, New York, 1988.

60. Brackett, J., and C. McGowan: "Applying SADT to Large System Problems", SofTech Technical Paper TP059, January 1977.

61. SofTech, Inc. "Introduction to IDEF0", SofTech Deliverable no. 7500-14, September 1979.

62. Краснощеков П.С., Флеров Ю.А. Иерархия задач проектирования. // Задачи и методы автоматизированного проектирования. М.: ВЦ РАН, 1991, с. 3-23.

63. Краснощеков П.С., Вышинский JI.JL, Флеров Ю.А. Автоматизация проектирования информационных систем. // Сборник «Автоматизация проектирования финансовых информационных систем». — Издание Вычислительного Центра РАН, Москва, 2004 г., — с. 3-7.

64. Вышинский Л.Л., Гринев И.Л., Флеров Ю.А., Широков Н.И. Проектный подход к разработке информационных систем. // Сборник «Автоматизация проектирования финансовых информационных систем». Издание Вычислительного Центра РАН, Москва, 2004 г., - с. 8-22.

65. Вышинский Л.Л. Проект банковской системы. // Сборник «Автоматизация проектирования финансовых информационных систем». — Издание Вычислительного Центра РАН, Москва, 2004 г., с. 63-74.

66. Левин М. Криптография без секретов. Руководство пользователя. — М.: Новый издательский дом, 2005. 320 с.

67. Скляров Д. Искусство защиты и взлома информации. БХВ-Петербург, 2004. 288 с.

68. Вельшенбах М. Криптография на Си и С++ в действии. М.: Триумф, 2004. - 464 с.

69. Фомичев В. М. Дискретная математика и криптология. Курс лекций. М.: Диалог-МИФИ, 2003. - 400 с.

70. Зензин О. С., Иванов М. А. Стандарт криптографической защиты -AES (Advanced Encryption Standart). Конечные поля. Книга 1. М.: КУДИЦ-Образ, 2002. - 176 с.

71. Асосков А. В., Иванов М. А., Мирский А. А., Рузин А. В., Сланин А. В., Тютвин А. Н. Поточные шифры. Книга 3. М.: КУДИЦ-Образ, 2003.-336 с.

72. Ричард Э. Смит. Аутентификация: от паролей до открытых ключей. -М.: Вильяме, 2002. 432 с.

73. Шнайер Брюс. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М.: Триумф, 2002. - 816 с.

74. Бабаш А. В., Шанкин Г. П. Криптография. М.: СОЛОН - Р, 2002. -512 с.

75. Столлингс Вильям. Криптография и защита сетей. Принципы и практика. М.: Вильяме, 2001. — 672 с.

76. Нечаев В. И. Элементы криптографии. Основы теории защиты информации. М.: Высшая школа, 1999. - 112 с.

77. Горбатов В. С., Полянская О. Ю. Основы технологии PKI. М.: Горячая Линия - Телеком, 2004. - 248 с.

78. Устинов Г. Н. Основы информационной безопасности систем и сетей передачи данных. М.: Синтег, 2000. — 248 с.

79. Блэк У. Интернет. Протоколы безопасности. СПб.: Питер, 2001. -288 с.

80. RSA Laboratories. PKCS #1: RSA Encryption Standard. Version 2.0, October 1998.

81. RSA Laboratories. PKCS #5: Password-Based Encryption Standard. Version 2.0, March 1999.

82. RSA Laboratories. PKCS #7: Cryptographie Message Syntax Standard. Version 1.5, November 1993.

83. RSA Laboratories. PKCS #8: Private-Key Information Syntax Standard. Version 1.2, November 1993.

84. RSA Laboratories. PKCS #9: Selected Attribute Types. Version 1.1, November 1993.

85. RSA Laboratories. PKCS #12: Personal Information Exchange Syntax Standard. Version 1.0, June 24, 1999.

86. RSA Laboratories. PKCS #10: Certification Request Syntax Standard. Version 1.0.

87. X.509 CCITT. Recommendation X.509: The Directory-Authentication Framework. 1988.

88. X.520 CCITT. Recommendation X.520: The Directory-Selected Attribute Types. 1988.

89. X.208 CCITT. Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.l). 1988.

90. RFC 1321 R. Rivest. RFC 1321: The MD5 Message-Digest Algorithm. April 1992.

91. X.209 CCITT. Recommendation X.209: Specification of Basic Encoding Rules for Abstract Syntax Notation One (ASN.l). 1988.