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

Защита информационных ресурсов отраслевой системы мониторинга и рыболовства криптографическими методами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
158
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ШИФРОВАНИЕ / ХЭШИРОВАНИЕ / БАЗА ДАННЫХ / ЗАЩИТА ИНФОРМАЦИИ / МОНИТОРИНГ / РЫБОЛОВСТВО

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Проценко Игорь Григорьевич, Денисов Юрий Александрович, Евтушенко Сергей Алексеевич

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

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

The article proposes a way to protect an informational resourse using encryption indicators of BMS (Branch monitoring system) database, allowing authorized access to BMS data to the wide range of users.

Текст научной работы на тему «Защита информационных ресурсов отраслевой системы мониторинга и рыболовства криптографическими методами»

-►

Проблемы передачи и обработки информации

УДК 004.056

И.Г. Проценко, Ю.А. Денисов, С.А. Евтушенко

защита информационных ресурсов

отраслевой системы мониторинга и рыболовства криптографическими методами

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

Возьмем, например, базу данных отраслевой системы мониторинга (ОСМ), функционирую-

щей в рыбной отрасли [1]. В ОСМ основными объектами мониторинга являются промысловые суда. Список судов с их характеристиками хранится в БД ОСМ в таблице «ves» - Справочник промысловых судов (табл. 1). Центр ОСМ получает от зарегистрированных судов, используя спутниковые каналы, различную информацию, касающуюся деятельности промысловых предприятий: спутниковые позиции судов, сведения о вылове, производстве продукции т. д. Информация о выловах промысловых судов хранится в таблице «catch».

Оперируя таблицами «ves» и «catch» можно получить справки об уловах № 1 и 2 (табл. 2 и 3).

Таблица 1

Структура таблиц БД ОСМ

Имя таблицы Номер Ключ Имя поля Описание поля Тип поля

ves 1 Y id ves Код судна int(11)

ves 2 N ves Название судна char(40)

ves 3 N id own Код судовладельца int(11)

ves 4 N id_type_ves Код типа судна int(11)

ves 5 N id_port Код порта регистрации int(11)

catch 1 Y id ves Код судна int(11)

catch 2 Y date Отчетная дата date

catch 3 Y id_region Код района промысла int(11)

catch 4 Y id fish Код объекта промысла int(11)

catch 5 N catch volume Вылов за сутки, т double

catch б N catch volume total Накопительный вылов, т double

catch У Y id_regime Код режима промысла int(11)

catch в Y permit Номер разрешения на промысел char(35)

catch 9 Y id own Код владельца квоты int(11)

Таблица 2

Справка об уловах № 1

Район промысла Объект Код Название судна Вылов

В. Камчат. (СЗТО) Минтай 10002 КОНСТАНТИН АЛЕКСЕЕВ 12,675

В. Камчат. (СЗТО) Треска 10002 КОНСТАНТИН АЛЕКСЕЕВ 3,587

В. Камчат. (СЗТО) Треска 10003 НАРОДНЫЙ ОПОЛЧЕНЕЦ 2,708

В. Камчат. (СЗТО) Мойва 10003 народный ополченец 6,711

Зап. Камчат. (СЗТО) Минтай 10003 НАРОДНЫЙ ОПОЛЧЕНЕЦ 16,466

Зап. Камчат. (СЗТО) Минтай 10005 НОВОБАТАЙСК 14,387

Зап. Камчат. (СЗТО) Треска 10005 НОВОБАТАЙСК 3,108

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

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

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

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

Для достижения основной цели - обеспечения защиты данных ОСМ необходимо решить следующие задачи:

Таблица 3

проанализировать и определить информационные объекты защиты (программы, технические устройства, элементы базы данных);

выбрать метод шифрования данных БД ОСМ; реализовать выбранный метод шифрования в одной из выбранных программных сред;

внедрить данный метод шифрования в программное обеспечение ОСМ для постоянного использования.

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

Перед описанием предлагаемого метода защиты БД ОСМ рассмотрим основные способы шифрования:

бесключевые - в них не используются какие-либо ключи;

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

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

Справка об уловах № 2

Район промысла Объекты Общий вылов

В. Камчат. (СЗТО) Минтай 12,675

В. Камчат. (СЗТО) Треска 6,295

В. Камчат. (СЗТО) Мойва 6,711

Зап. Камчат. (СЗТО) Минтай 30,853

Зап. Камчат. (СЗТО) Треска 3,108

дов - это криптографическое контрольное суммирование. Его можно использовать для подтверждения целостности и/или авторства данных. Целостность данных означает, что данные не были случайно или преднамеренно изменены при их хранении или передаче. Если же данные были изменены, то результат контрольного суммирования окажется другим, и подмена будет выявлена. Также бесключевые методы могут использоваться для генерации случайных чисел, которые могут понадобиться в некоторых алгоритмах аутентификации или создания абсолютно случайных паролей. В качестве примеров бесключевых методов можно указать MD5, CRC32 и др.

Особенностью одноключевых методов является то, что для шифрования и расшифровывания применяется один и тот же криптографический ключ. Долгое время одноключевые методы были основными в использовании. Шифрующая процедура при помощи ключа производит ряд действий над исходными данными, расшифровывающая процедура при помощи того же ключа производит обратные действия над кодом. Расшифровывание кода без ключа предполагается практически неосуществимым. Если зашифрованная таким образом информация передается по обычному, т. е. незащищенному, каналу связи, один и тот же ключ должен иметься у отправителя и получателя, вследствие чего возникает необходимость в дополнительном защищенном канале для передачи ключа. В качестве примеров одноключевых методов шифрования можно привести DES, CAST-256, AES.

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

Рассмотрим подробнее бесключевой алгоритм шифрования MD5 - 128-битный алгоритм хэширования, предназначенный для создания «отпечатков» или «дайджестов» сообщений произвольной длины. Зная MD5-образ (называемый также MD5-хэш или MD5-дайджест), невозможно восстановить входное сообщение, т. к. одному MD5-образу могут соответствовать разные сообщения. Используется для проверки подлинности опубликованных сообщений путем сравнения хэша сообщения с опубликованным. Иногда может оказаться полезным использовать многократный хэш MD5, хэш взятый от хэша исходного сообщения. Число взятия хэша от хэша будем называть кратностью хэша.

С коммерческой точки зрения алгоритм MD5 является открытым для распространения и использования. Необходимо обратить внимание на одну важную особенность. В алгоритме MD5 вычислительный процесс над входной строкой начинается с задания четырех начальных значений (32-битные числа), участвующих потом в нахождении хэша. Эти значения в шестнадцатерич-ной системе исчисления имеют следующий вид: А = 01234567, В = 89ABCDEF, С = FEDCBA98, D = 76543210. Для одного и того же входного сообщения незначительное изменение начальных значений существенно меняет результат хэширу-ющей функции (выражение хэша). Если использовать в качестве начальных значений четыре числа, отличных от стандартных, то набор из этих четырех чисел может служить своеобразным паролем к функции MD5. Как можно использовать данный пароль будет рассказано позже.

В качестве основного инструмента использовалась популярная среда быстрой разработки приложений Borland Delphi 7, основанная на языке программирования Object Pascal, занимающем одно из лидирующих позиций на современном рынке. Также дополнительно устанавливался набор компонентов ZeosDBO, обеспечивающий более удобный доступ к базам данных. Отметим, что в ОСМ в качестве средства управления базой данных используется SQL-сервер MySQL. Программное обеспечение MySQL представляет собой очень быстрый многопоточный, многопользовательский и надежный SQL-сервер баз. Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения.

Перейдем непосредственно к описанию метода защиты БД ОСМ. В основу метода положим использование криптографических алгоритмов над содержимым БД ОСМ. Можно использовать алгоритм шифрования для кодирования всего содержимого базы данных, а можно шифровать только отдельные (например, ключевые) поля. В первом случае шифрование полностью скрывает от злоумышленника хранимую информацию. Однако в данном случае процесс обработки БД может сильно замедлиться, т. к. информация в БД может обрабатываться только в расшифрованном виде. Во втором случае процесс расшифровки БД будет занимать значительно меньше времени по сравнению с первым подходом. Кроме того, при шифровании только ключевых полей остальные данные остаются открытыми, что позволяет использовать их широкому кругу лиц для составления различных статистических данных, таких как, например, справка об уловах № 2 (табл. 3). Таким образом, благодаря шифрованию только ключевых полей сохраняется и закрытость конфиденциальных данных, и открытость свободной информации.

Опишем алгоритм подробнее. Таблица «ves» содержит различную информацию о промысловых судах. Для каждого судна в поле «id_ves» хранится числовое значение, благодаря которому однозначно идентифицируется каждая запись таблицы «ves» и осуществляется связь с другими таблицами. Таблица «catch» содержит информацию о выловах и также содержит поле «id_ves» для связи с таблицей «ves». Если в таблице «catch» заменить в поле «id_ves» значение кода судна хэшем от кода судна (рис. 1), то тогда две таблицы можно связать если только известен со-

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

На рисунке отмечено, что одному из судов соответствуют три одинаковых хэша. По косвенным признакам имеется возможность составить таблицу соответствия между кодами судов и хэшами и получить доступ к конфиденциальным данным БД ОСМ. Например, если известен объем вылова для конкретного судна, то, найдя данный объем в таблице «catch», будет понятно, что хэш из данной записи принадлежит конкретному судну, и будут раскрыты остальные данные. Если использовать несколько значений хэша для одного кода судна, то формирование таблицы соответствия потребует несоизмеримо большого времени, при этом не гарантируется, что использование составленной таблицы даст однозначный результат.

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

1. Многократное вычисление хэша от хэша значения кода судна. Например, двухкратный хэш от 12345 вычисляется следующим образом: хэш(12345) = 827CCBEEA8A706C4C34A16891F8 4E7B, *m(827CCBEEA8A706C4C34A16891F84E 7B) = 2375046199E571CE424850531D5FBA, что и является двухкратным хэшем.

2. Конкатенация кода судна с фиксированной строкой из ограниченного множества и вычисление хэша. Например, многократный хэш от 12345 вычисляется следующим образом. Сформируем множество L = {001, 002, 003 ...}. Тогда хэш (12345) - однократный хэш, хэш (12345 + 001) -

Рис. 1. Схема связи таблиц после заполнения поля хэшем

Рис. 2. Внешний вид таблицы «catch» после заполнения многократным хэшем

двухкратный хэш, хэш (12345 + 002) - трехкратный хэш и т. д.

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

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

Внешний вид таблицы «catch» после модификации поля «id_ves» с использованием многократного хэша представлен на рис. 2.

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

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

модифицируются данные, полученные ранее, и новые данные.

В первом случае отсутствует необходимость затрачивать дополнительное время для изменения БД. Во втором - необходимо провести заново процедуру заполнения для каждого судна (потребуется время, аналогичное времени для заполнения с нуля поля с хэшем таблицы БД). Если необходимо понизить кратность хэша, то потребуется время, аналогичное заполнению поля таблицы БД ОСМ заново.

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

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

собой некоторый образ компьютера пользователя - I. Кроме этого пользователю понадобится электронная цифровая подпись (ЭЦП) - S, позволяющая однозначно идентифицировать все сообщения от пользователя в Центре ОСМ. Алгоритм получения пароля пользователя приведен ниже.

На компьютере пользователя

1) формируется I;

2) с помощью I и S формируется X;

3) X отсылается в Центр ОСМ.

В Центре ОСМ

1) с помощью S определяется, что X получен именно от пользователя;

2) из X отделяется I;

3) с помощью P и I формируется Y;

4) Y отсылается пользователю.

На компьютере пользователя программа, считывая I и Y, отделяет P и использует в своей программе для вычисления хэша, а следовательно, и для получения конфиденциального доступа.

Опишем более подробно этапы алгоритма.

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

Формирование X производится с помощью ЭЦП пользователя по следующему алгоритму, основанному на алгоритме RSA [2]:

1. Выбираются два случайных простых числа pi и q1 заданного размера (например, 1024 бита каждое).

2. Вычисляется значение n = p1q1.

3. Вычисляется значение phi = (p1-1)(q1-1).

4. Выбирается открытая экспонента е - любое целое число.

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

5. Вычисляется секретная экспонента d, из условия, что d e = 1+ kphi, где k - некоторое целое число.

6. С помощью секретного ключа (d, n) создается цифровая подпись: S = IAd mod n.

7. В центр ОСМ передается открытый ключ (е, n), S и I, которые и образуют X.

После получения X центр ОСМ проверяет подлинность подписи из равенства SAe mod n = I.

Процесс формирования Y должен быть реализован в центре ОСМ, а процесс выделения из Y пароля P должен быть реализован на компью-

Рис. 3. График зависимости времени выборки от кратности хэша

тере пользователя. При осуществлении раскрытия параметров алгоритма формирования P, он должен быть заменен на новый. Следовательно, необходимо использовать модуль динамически загружаемой библиотеки (DLL). При наличии информации о раскрытии механизма формирования Y, пользователям будет рассылаться новая DLL. Модуль DLL будет содержать в себе хэши-рующую функцию, без которой будет невозможно использование программы. При этом перенос программы на другой компьютер не позволит ее использовать, т. к. DLL будет содержать образ компьютера, для которого она создавалась. Если пользователь обновит аппаратную составляющую своего компьютера, то ему будет необходимо отправить запрос в Центр ОСМ, и для него будет создана новая DLL.

Один из возможных алгоритмов формирования Y, представленный ниже, основан на алгоритме блочного шифрования с открытым ключом RSA:

1-3. Соответствуют этапам алгоритма RSA, представленным выше.

4. Выбирается открытая экспонента е.

5. Вычисляется секретная экспонента d, из условия, что d e = 1+kphi, где k - некоторое целое число.

6. В центр ОСМ отправляется открытый ключ, состоящий из e и п.

7. Пользователем сохраняется секретный ключ, состоящий из d и n.

После получения открытого ключа центр с его помощью формирует Y, а именно: Y = PAe mod п.

После получения Y пользователь расшифровывает P по формуле P = YAd mod n.

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

При проведении тестовых запросов к БД использовался хэш различной кратности. Также при проведении испытаний измерялась скорость выборки из БД без хэша. По результатам тестов составлен график зависимости времени выборки от кратности хэша (рис. 3).

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Проценко, И.Г. Информационная система мо- 2. Википедия [Электронный ресурс] / Всемирная

ниторинга рыболовства [Текст] / И.Г. Проценко // Рыб- энциклопедия.RSA. -Режим доступа: http://m.wikipedia. ное хозяйство. -2001. -Спецвыпуск. -С. 3-18. org/wiki/RSA

УДК 681.51

С.Ф. Бурдаков

управление колебательной системой с минимальном параметрической чувствительностью

Общая постановка задачи об управлении динамическими системами состоит в необходимости придать движению системы желаемый характер. Факторы, препятствующие этому, с одной стороны связаны с инерционностью самой динамической системы, а с другой стороны - с влиянием внешней среды. Попытки преодоления этих факторов в условиях априорной неопределенности математического описания динамической системы могут привести к качественному изменению свойств системы, появлению неустойчивости, автоколебаний, снижению помехозащищенности и т. д. Явление качественного изменения свойств системы при малых изменениях ее параметров впервые было отмечено А.А. Андроновым. Системы, в которых такое явление невозможно, названы им грубыми. Только грубые системы могут использоваться на практике [1, 2].

В современной теории управления помимо термина «грубость», ориентированного на малые изменения свойств динамической системы, используется также термин «робастность» (от англ. robust - крепкий, сильный) [2, 3]. При этом акцент делается на возможность появления конечных вариаций математической модели.

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

разом. Все зависит от того, какие именно свойства, характеристики или показатели качества процессов в синтезируемой системе анализируются в рассматриваемой задаче [1, 2].

В настоящее время определились две основные тенденции в решении указанной выше проблемы. Одна из них связана с созданием адаптивных систем управления, приспосабливающихся к условиям функционирования [3]. Другая - с созданием систем, обладающих ограниченной чувствительностью к заданному множеству параметров объекта управления [4]. Чему отдать предпочтение обычно зависит от контекста задачи.

Ниже, в рамках второго подхода, предлагается метод синтеза грубых систем управления на основе решения задачи LQ-оптимизации.

Постановка задачи

В качестве объекта управления рассмотрим колебательную систему второго порядка:

у + 2^ у + ®2 у = и + ф, (1)

где ю1 - собственная частота; Е - безразмерный коэффициент демпфирования (Е < 1); и - управление; ф - возмущение.

В соответствии с уравнением (1) расчетная передаточная функция объекта управления имеет вид

G (p) =

1

., —Т. (2)

р + 2^ю1 р + Ю[ Управление будем формировать с помощью обратной связи по выходу у:

и = V (р)( У-У*), (3)

где V(р) - передаточная функция регулятора;

*

у - программное задание.

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