Научная статья на тему 'Технология защиты персональных данных с использованием СУБД Oracle'

Технология защиты персональных данных с использованием СУБД Oracle Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бондарчук Сергей Сергеевич, Додохов Александр Леонидович, Сабанов Алексей Геннадьевич

Рассмотрена задача возможности применения СУБД Oracle для хранения и обработки персональных данных. Разработана технология шифрования конфиденциальной информации в соответствии с ГОСТ 28147-89.

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

The problem of the possibility of using oracle database for storage and processing of personal data. Developed a technology for encryption of confidential information in accordance with GOST 28147-89.

Текст научной работы на тему «Технология защиты персональных данных с использованием СУБД Oracle»

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

1. Макаров, С.Б. Метод формирования спектрально-эффективных OFDM-сигналов на основе неортогональных базисных функций [Текст] / С.Б. Макаров, А.В. Рашич // Научно-технические ведомости СПбГПУ Сер. Информатика. Телекоммуникации. Управление. -2009. -№ 2 (76). -С. 94-98.

2. Рашич, А.В. Снижение пик-фактора сигналов с ортогональным частотным уплотнением [Текст] /

А.В. Рашич, С.Б. Макаров // Научно-технические ведомости СПбГПУ Сер. Информатика. Телекоммуникации. Управление. -2008. -№ 2(55). - С. 79-84.

3. Макаров, С.Б. Формирование и прием спектрально-эффективных сигналов с OFDM [Текст] / С.Б. Макаров, А.В. Рашич // Научно-технические ведомости СПбГПУ. Сер. Информатика. Телекоммуникации. Управление. -2011. -№ 6-2 (138). -С. 19-26.

УДК 004.056

С.С. Бондарчук, А.Л. Додохов, А.Г. Сабанов

ТЕХНОЛОГИЯ ЗАЩИТЫ ПЕРСОНАЛЬНЫХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ СУБД ORACLE

В связи с вступлением в силу Федерального закона от 25 июля 2011 г. № 261-ФЗ «О внесении изменений в Федеральный закон № 152-ФЗ О персональных данных» вопросу разработки практических методов защиты персональных данных (ПДн) уделяется повышенное внимание.

Как известно, самые большие базы данных, содержащие персональные данные, используют промышленные масштабируемые СУБД. Одной из самых распространенных в России является СУБД Oracle. Как показано в работе [1], эта СУБД имеет в настоящее время самые развитые встроенные сервисы безопасности по сравнению с другими СУБД, однако встроенные средства шифрования не удовлетворяют требованиям российского законодательства, и для защиты ПДн необходима разработка наложенных средств в соответствии с ГОСТ - 28147-89, глубоко интегрированных с безопасными сервисами, заложенными вендором. Как известно, разработка таких решений является сложной задачей, поскольку к ним одновременно предъявляются повышенные и противоречащие друг другу требования как по производительности, так и по безопасности - для задачи шифрования бах данных давно известна зависимость: чем лучше зашифрованы данные, тем больше падает производительность вычислений с данными.

В данной статье рассматривается метод по-

строения решения по защите персональных данных на платформе Oracle в соответствии с требованиями российского законодательства.

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

• защита доступа - доступ к данным пользователь получает только при успешном прохождении им процедур идентификации и аутентификации;

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

• шифрование данных - шифровать необходимо как передаваемые в сети данные для защиты от перехвата, так и данные, записываемые на носитель, для защиты от кражи носителя и несанкционированного просмотра/изменения нештатными средствами системы управления БД (СУБД);

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

Задачу данной статьи можно сформулировать следующим образом: необходима разработка

средства криптографической защиты конфиденциальной информации (не составляющей государственную тайну), при ее хранении в логической структуре реляционных таблиц на серверах баз данных. В качестве операционной среды для работы серверных компонентов рассматривается окружение сервера баз данных Oracle версий 9i, 10g, 11g. В качестве операционной среды для работы клиентских компонентов, как правило, используется операционная система Windows XP и выше.

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

Кроме этого, основными бизнес-задачами обеспечения безопасности при построении решения являются:

• разделение доступа и персонификация действий пользователей (это требование вытекает из требований закона [2] и рекомендаций [3]);

• защита от администраторов СУБД и сетевого администратора, объясняемая тем, что, как правило, все крупные утечки из баз данных производятся злоумышленниками, получившими права администратора;

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

• возможность предоставления защищенного удаленного доступа.

Основные рассматриваемые роли:

администратор безопасности;

администратор;

привилегированный пользователь;

пользователь;

гость.

Архитектура предлагаемого решения.

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

В процессе разработки метода предложенное в итоге решение получило название «средство криптографической защиты информации (СКЗИ) «Крипто БД». Схема реализации решения представлена на рис. 1.

СКЗИ «Крипто БД» является наложенным средством защиты, реализованным с использованием только документированных возможностей, предоставляемых СУБД Oracle. Криптографическое ядро СКЗИ реализовано на языке PL/SQL и Java, также штатно поддерживаемым сервером БД.

Основные компоненты СКЗИ «Крипто БД»: библиотеки, реализующие алгоритмы шифрования;

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

библиотеки и утилиты для зашифрования и расшифрования.

Архитектура СКЗИ «Крипто БД» реализует хранение ключевой информации таким образом, что среда функционирования криптосредства (СФК) не имеет к этой информации непосредственного доступа. Ни один из компонентов СКЗИ «Крипто БД» не передает другому компоненту ни ключи шифрования в явном виде, ни адреса этих объектов. Вместо этого используют-

-Рабочая станция администратора безопасности-Управление ключами и шифрованием

Сертифицированное СКЗИ

-Рабочая станция пользователя-

Прикладное ПО

X

Компонент клиента

Сертифицированное СКЗИ

-Сервер Oracle-

Репозиторий «Крипто БД»

API «Крипто БД»

Библиотеки работы с репозиторием

si ==,

Библиотеки работы с ключами U -^-^

Библиотеки криптоалгоритмов

Сервис вычисления ключей

Зашифрованные данные

з

Рис. 1. Схема реализации СКЗИ «Крипто БД»

ся идентификаторы соответствующих ключей, не содержащие их адреса.

Применение СКЗИ «Крипто БД». СКЗИ «Крипто БД» предназначено для использования в существующем и во вновь разрабатываемом прикладном программном обеспечении.

Взаимодействие приложения и серверного компонента «Крипто БД». Общая схема работы приложения, использующего зашифрованные с помощью СКЗИ «Крипто БД» данные, приведена на рис. 2.

После успешной аутентификации и авторизации пользователя приложения на сервере БД создается процесс в памяти (сеанс пользователя БД), который обеспечивает взаимодействие приложение клиента - сервер БД. В этот момент компонент клиента «Крипто БД» (рис. 1) выполняет следующие действия (нумерация в соответствии с рис. 2).

1. Получение зашифрованных ключей шифрования данных (КШД):

определяется факт подключения смарт-карт или ^В-ключей (далее по тексту - смарт-карты) к АРМ пользователя;

читается список сертификатов на подключенных смарт-картах;

извлекаются зашифрованные КШД из репо-зитория «Крипто БД» (см. рис. 1) с использованием в качестве идентификатора пользователя его сертификата;

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

2. Расшифрование КШД:

полученные зашифрованные значения КШД, открытый ключ сервера и случайное число расшифровываются компонентом клиента с использованием стандартного интерфейса, реализованного соответствующим поставщиком криптографии, установленном на АРМ пользователя (см. рис. 1). На данном этапе производится дополнительная авторизация пользователя (ввод РГЫ-кода смарт-карты) для получения доступа к закрытому ключу.

3. Зашифрование КШД на отрытом ключе сервера:

Рис. 2. Схема работы приложения с зашифрованными данными средствами СКЗИ «Крипто БД»

непосредственно после расшифрования КШД, открытого ключа сервера, случайного числа, КШД зашифровывается на открытом ключе сервера БД. Полученное значение и расшифрованное случайное число передается сервису вычисления ключей (см. рис. 1);

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

4. Работа с зашифрованными данными: чтение и запись зашифрованных данных производится через слой промежуточных представлений, реализующих вызовы API «Крипто БД». Промежуточные представления автоматически создаются «Крипто БД» в момент первичного зашифрования таблиц.

Основные характеристики СКЗИ «Крипто БД». Размеры ключей.

Размеры ключей для защиты ключей шифрования:

закрытый ключ - 256 бит; открытый ключ - 512 бит (ГОСТ Р 34.10-2001).

Размеры ключей шифрования - 256 бит. Реализованные алгоритмы криптографического преобразования. Реализован алгоритм криптографического преобразования, соответствующий ГОСТ 28147-89, в режимах: режим простой замены (ECB); режим гаммирования (OFM); режим гаммирования с обратной связью (CFB); режим сцепления блоков (CBC); режим простой замены c диверсификацией ключа шифрования (ECB-UKM);

режим гаммирования c диверсификацией ключа шифрования (OFB-UKM);

режим гаммирования с обратной связью c диверсификацией ключа шифрования (CFB-UKM);

режим сцепления блоков c диверсификацией ключа шифрования (CBC-UKM);

режим простой замены с выработкой имито-вставки (ECB-MAC);

режим гаммирования с выработкой имито-вставки (Counter mode-MAC);

режим гаммирования с обратной связью и выработкой имитовставки (CFB-MAC);

режим сцепления блоков с выработкой ими-товставки (CBC-MAC);

режим простой замены с диверсификацией

ключа шифрования и выработкой имитовставки (ECB-MAC-UKM);

режим гаммирования с диверсификацией ключа шифрования и выработкой имитовставки (OFB-MAC-UKM);

режим гаммирования с обратной связью, с диверсификацией ключа шифрования и выработкой имитовставки (CFB-MAC-UKM);

режим сцепления блоков с диверсификацией ключа шифрования и выработкой имитовставки (CBC-MAC-UKM).

Совместимость предлагаемого решения с программным обеспечением других разработчиков. СКЗИ «Крипто БД» совместимо с ПО, в котором реализованы российские криптографические алгоритмы, поддержка сертификатов открытых ключей X.509 и защищенный обмен сообщениями (CMS) в соответствии с документами RFC 4357, 4490 и 4491.

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

Встроенные в СУБД Oracle алгоритмы криптографии, применяемой для защиты данных, ключей шифрования, контроля целостности не соответствуют требованиям законодательства РФ. Встраивание внешних криптоалгоритмов разработчиками Oracle не предусмотрено. Для применения СУБД Oracle для защиты персональных данных разработан метод наложенных средств шифрования, использующий алгоритмы ГОСТ 28147-89. Данный метод может применяться для защиты конфиденциальных данных, в частности, персональных данных. Предложенное решение в виде СКЗИ «Крипто БД» успешно прошло сертификацию по требованиям ФСБ России к СКЗИ класса КС1 (исполнение 1) и КС2 (исполнение 2). Согласно полученному сертификату соответствия СФ/124-1569 данное СКЗИ может использоваться для криптографической защиты информации, не составляющей государственную тайну, хранящейся в таблицах баз данных под управлением СУБД Oracle.

СПИСОК Л

1. Додохов А.Л. Исследование применения СУБД Oracle для защиты персональных данных [Текст] / А.Л. Додохов, А.Г. Сабанов // Доклады Томского гос. ун-та систем управления и радиоэлектроники. -2011. -№ 2 (24). -С. 267-270.

2. Федеральный закон от 27 июля 2006 г. № 152-ФЗ «О персональных данных» (в ред. от 25 июля 2011 г).

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

УДК 519.725.2

П.К. Семенов

ПРАКТИЧЕСКИЕ АСПЕКТЫ АЛГОРИТМА ТАЛА-ВАРДИ СПИСОЧНОГО ДЕКОДИРОВАНИЯ ПОЛЯРНЫХ КОДОВ

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

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

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

1) появляется зависимость по данным при обработке разных элементов списка в алгоритме Тала-Варди, хотя теоретически они могут быть обработаны независимо, параллельно;

2) становится невозможным получение хотя

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

Обе эти проблемы разрешаются переходом в логарифмическую область, однако хорошо известный для полярных кодов способ вычислений с большой точностью, основанный на логарифмических отношениях правдоподобия (ЛОПП), не применим в силу специфики алгоритма Тала-Варди. Решение этой задачи представляет существенный интерес в силу востребованости эффективной аппаратной реализации (см. [3, 4]).

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

Назовем ядром Арикана матрицу G =

Полярные коды на основе ядра Арикана

„ 1 о)

а через ОХ5 обозначим 5-ю кронекеровскую степень - матрицу размера 2**2*. Пусть Вг - это 25*25-матрица такой перестановки для вектора длины 25, что номер новой позиции /-го элемента получается как обратная запись представленного в виде 5-битной последовательности числа /. Например, 2 = (1 0 0) (0 0 1) = 1, 3 = (0 1 1) ^ (1 1 0) = 6. Обозначим ска-

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