СПОСОБ КРИПТОГРАФИЧЕСКОГО РЕКУРСИВНОГО КОНТРОЛЯ ЦЕЛОСТНОСТИ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ
METHOD FOR CRYPTOGRAPHIC RECURSIVE INTEGRITY CONTROL OF A RELATIONAL DATABASE

Способ криптографического рекурсивного контроля целостности реляционной базы данных относится к области информационной безопасности, в частности к контролю целостности данных, обрабатываемых в автоматизированных информационных системах (АИС) различного назначения, например в АИС кадрового учета.
Область техники, к которой относится изобретение
Предлагаемое изобретение относится к области обеспечения безопасности информации, обрабатываемой в АИС, а именно к способам контроля целостности реляционной базы данных (БД), функционирующей в условиях преднамеренных воздействий уполномоченных групп пользователей (инсайдеров).
Уровень техники
В настоящее время перед пользователями различных АИС стоят задачи по обеспечению безопасности информации, циркулирующей в них. К такой информации относятся записи отношений БД, управление которыми осуществляется системой управления базой данных (СУБД). Под термином «данные» понимается информация, представленная в формализованном виде, пригодном для передачи интерпретации или обработки человеком и автоматизированными средствами. (ГОСТ 34.321-96 Межгосударственный стандарт. Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными). Они критически важны для обеспечения значимости, сохранности и управляемости всей БД, что обуславливает необходимость разработки и совершенствование механизмов их защиты, позволяющих повысить защищенность АИС к деструктивным воздействиям злоумышленника. Результатом таких воздействий может стать преднамеренное несанкционированное изменение записей данных отношений БД и связей между ними, что может привести к нарушению их целостности, и как следствие потере управления над отдельными отношениями и всей БД в целом. Одной из мер обеспечения защищенности записей данных, является контроль их целостности (Методический документ. Меры зашиты информации в государственных информационных системах: утв. директором ФСТЭК 11.02.2014//ФСТЭК России, 2014.- 176 с.).
Как правило, задача контроля целостности данных решается с помощью различных способов. Далее для раскрытия сути изобретения приводится краткое описание существующих технических решений для контроля целостности данных.
а) описание аналогов
1. Validating computer program installation, патент US 20030192033, 2002, [Электронный ресурс] - https://books.google.com.tr/patents/US 20030192033.
2. Программный комплекс «Shield System Manager подсистема контроля целостности (Integrity Control System)», [Электронный ресурс] -http://lissiru.narod.ru/products/index.html.
3. Программно-аппаратный комплекс доверенной загрузки «Блокхост-МДЗ» [Электронный ресурс] - https://gaz-is.rU/poddergka/download/finish/6/8.html.
В данных решениях для контроля целостности информации используется хэш-функция (функция, отображающая строки бит исходных данных в строки бит фиксированной длины - хэш-код).
Недостатком подобных решений является низкий уровень защищенности записей данных от атак со стороны уполномоченных пользователей (инсайдеров). При ведении подряд идущих записей данных в файле (записи в электронной истории болезни, журнала событий аудита безопасности), пользователь (или один из администраторов), обладая собственным ключом (при использовании ключевых хэш-функций) имеет возможность изменять (подделывать) свои записи, сохраненные в файле ранее. То есть данные решения не учитывают внутренние угрозы безопасности данных со стороны легальных пользователей (инсайдеров).
Известен способ контроля целостности записей данных на основе метода «однократной записи» (Atsushi Harada, Masakatsu Nishigaki, Masakazu Soga, Akio Takubo, Itsukazu Nakamura. A Write-Once Data Management System, ICITA 2002. - Shizuoka University, Japan, 2002, [Электронный ресурс] -http://www.icita.org/previous/icita2002/ICITA2002/kptdata/116-21/index.htm), который предусматривает использование различных комбинации электронных подписей пользователей для защиты (контроля целостности) записей от уполномоченных пользователей.
Недостатком данного решения является отсутствие функциональной возможности установления дополнительных параметров ввода ключевых данных различных пользователей и порядка их применения (конфиденциальных для самих пользователей или для различных групп пользователей, состав которых самим пользователям не известен), позволяющих обеспечить соответствующий уровень защищенности записей данных в файле.
Широко известен способ аутентификации сообщений НМАС (hash-based message authentication), суть которого заключается в использовании криптографической хэш-функции в сочетании с одним секретным ключом и NMAC с двумя секретными ключами (М. Bellare, R. Canetti and Н. Krawczyk, Keying Hash Functions for Message Authentication, Advances in Cryptology Proceedings of CRYPTO 1996, pp. 1-15, Springer-Verlag, [Электронный ресурс] - http://dblp.uni-trier.de/db/conf/crypto/crypto96, [Электронный ресурс] -http://daily.sec.ru/2012/07/16/print-Algoritmi-auntentifikatsii-soobsheniy-HMAC-i-NMAC.html).
1
2
2
1
Контроль целостности сообщения в способе аутентификации сообщений NMAC заключается в том, что отправитель сообщения М с помощью двух секретных (внешних) ключей k и k вычисляет код аутентичности сообщения по правилу: H=hash(k||hash(M||k)), где «||»- символ конкатенации, «hash» - функция вычислений в блоке формирования хэш-кода. Сообщение с кодом аутентичности (М, N) по каналу передачи сообщения, расположенного в не доверительной среде, поступает получателю. Доверительная сторона (получатель сообщения) осуществляет проверку соответствия полученного кода аутентичности Н* для контроля целостности и аутентификации сообщения М*.
Недостатком данного способа является низкий уровень защиты данных от атак со стороны уполномоченных пользователей (инсайдеров) (необходимо наличие двух доверяющих друг другу сторон, конфиденциальность секретных ключей).
Возможность управления БД в АИС обеспечивается за счет непрерывно изменяющихся записей данных отношений, особенностью которых является однотипная структура и наличие постоянной взаимосвязи между собой. Записи данных отношений постоянно обновляются за счет процесса редактирования различными пользователями. В связи с чем, возникает необходимость разработки такого способа контроля целостности записей данных отношений, который позволит повысить защищенность АИС к деструктивным воздействиям уполномоченных пользователей (внутренние угрозы безопасности данных).
б) описание ближайшего аналога (прототипа)
Наиболее близким по своей технической сущности к заявленному изобретению (прототипом) является способ криптографического рекурсивного контроля целостности метаданных электронных документов, позволяющий обеспечить необходимый уровень защиты записей метаданных электронных документов с возможностью контроля их целостности и выявления номеров измененных записей, вызванных преднамеренными воздействиями уполномоченных пользователей (инсайдеров) (Тали Д.И., Финько О.А. Криптографический рекурсивный контроль целостности метаданных электронных документов. Часть 3. Методика применения // Вопросы кибербезопасности. 2021. №1 (41). С. 18-27). Существенным признаком, отличающим прототип от известных аналогов, является его универсальность применения к различным структурам данных, как многомерным, так и к реляционным базам данных. В данном решении цепная запись данных, в качестве которой выступает формируемая криптографическая рекурсивная последовательность, является «надстройкой» над классической базой данных, в роли которой выступают метаданные, представляемые в виде многомерной модели, что позволяет регламентировать порядок представления информации хранимой в базе данных, эффективно использовать разработанный механизм контроля целостности данных, а также определять порядок внесения, фиксации и отслеживания изменений в базах данных, в том числе и реляционных.
Основным недостатком прототипа является низкий уровень защищенности БД (по критерию целостность данных) из-за отсутствия возможности криптографического контроля целостности не только хранимых данных, но и связей отношений.
Раскрытие сущности изобретения
а) технический результат, на достижение которого направлено изобретение
Целью заявляемого изобретения является повышение уровня защищенности информации, обрабатываемой реляционной БД с возможностью контроля целостности записей данных отношений, проверки их достоверности, а также обнаружения и локализации номеров несанкционированно модифицированных записей данных отношений, в случае нарушения их целостности группами внутренних нарушителей с учетом структуры БД.
б) совокупность существенных признаков
Поставленная цель достигается тем, что в известном техническом решении целостность данных при выполнении операций записи и редактирования контролируется за счет того, что в момент времени t1 формируются записи данных  над которыми выполняются операции криптографического преобразования
(1)
(2)
{3)
(1)
(2)
(3)
2…n
на ключах  сгенерированных из множества ключей K, разделяемого на два подмножества K∈{K, K, K} и K*∈{K*, K*, K*}. При этом  где r=1, …, 3, в момент времени t выполняются двуместные операции конкатенации  записей, вычисленных на предыдущем этапе итерации, после чего вновь производятся криптографические преобразования
причем в качестве криптографического преобразования  используется либо ключевая хэш-функция (при этом K=K*), либо электронная подпись (при этом K≠K*), полученные результаты сохраняются в памяти системы обработки данных для последующего контроля целостности записей данных.
1
Сопоставительный анализ заявленного решения с прототипом показывает, что предлагаемый способ отличается от известного тем, что во время выполнения операций записи и редактирования данных, содержащихся в БД, в момент времени t первоначально формируется запись массива связей  отношений БД, над которой выполняются операции криптографического преобразования:
результатом является вычисление сигнатур  над которыми выполняется операция конкатенации:
1
со всеми записями данных  сформированными в момент времени t, после чего выполняется операция криптографического преобразования вида:
2
в результате которых образуются значения сигнатур  в момент времени t формируется следующая запись массива связей  отношений, над которой выполняются операции конкатенации:
с сигнатурами массива связей отношений, вычисленными на предыдущем этапе итерации, после чего производится операция криптографического преобразования:
результатом является вычисление сигнатур  над которыми выполняется операция конкатенации:
2
со всеми записями данных  сформированных в момент времени t, а также сигнатурами  БД, вычисленными на предыдущем этапе итерации, над результатами которых производится криптографическое преобразование:
3
4
n
По мере формирования новых и редактирования существующих записей данных, операции повторяются в аналогичном порядке в соответствии с моментами времени t, t, …, t.
Все записи массивов связей  отношений, соответствующие им сигнатуры:
все записи данных:
а также соответствующие им сигнатуры:
сохраняются в памяти системы обработки данных в виде таблицы данных.
Контроль целостности данных, осуществляется на основе извлечения из таблицы данных, прошедших процедуру хранения и подлежащих контролю целостности, а именно записей:
массивов связей отношений БД, соответствующих им сигнатур:
а также записей данных:
соответствующих им сигнатур:
Затем над извлеченными записями массивов связей:
отношений и записями данных:
производятся повторные операции криптографического преобразования, результатом которых является вычисление сигнатур:
после чего выполняется попарное сравнение полученных сигнатур с ранее извлеченными:
Заключение об отсутствии нарушения целостности сигнатур записей массивов связей  отношений и записей данных  формируется при выполнении равенств:
В противном случае делается заключение о нарушении целостности для соответствующих номеров сигнатур.
в) причинно-следственная связь между признаками и техническим результатом
Благодаря новой совокупности существенных признаков в способе реализована возможность:
обеспечения криптографического рекурсивного контроля целостности БД, ее записей данных отношений с учетом структуры БД в реальном масштабе времени;
уменьшения последствий вероятности сговора доверенных сторон, за счет обеспечения взаимного контроля над действиями групп уполномоченных пользователей (инсайдеров) АИС;
проверки достоверности записей данных отношений и обнаружения модифицированных записей данных отношений, а также выявление искаженных взаимосвязей между отношениями в условиях преднамеренных воздействий групп уполномоченных пользователей (инсайдеров).
Тем самым предлагаемое техническое решение позволяет обеспечить требуемый уровень защиты записей данных отношений, обрабатываемых в БД АИС.
Выполненный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного способа, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обуславливающих тот же технический результат, который достигнут в заявляемом способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Краткое описание чертежей
Заявленный способ поясняется чертежами, на которых показано:
фиг. 1 - схема перекрестного двойного контроля целостности данных со сформированным массивом связей отношений с использованием системных ключей и ключей администратора;
фиг. 2 - схема, сохраненных записей данных отношений и значений сигнатур;
фиг. 3 - схема представления записей данных отношений БД «Персонал.dbxv» в процессе редактирования уполномоченными пользователями;
фиг. 4 - схема представления записей данных БД «Персонал. dbxv» в шестнадцатеричном коде HEX (ANSI-код).
Осуществление изобретения
Реализация заявленного способа
Способ криптографического рекурсивного контроля целостности реляционной БД осуществляется следующим образом (фиг. 1). Множество ключей K разбивается на два подмножества:
(1)
(2)
(3)
(1)
(2)
(3)
K∈{K, K, K} и К*∈{K*, K*, K*},
при этом каждые подмножества  и , где r=1, …, 3.
(1)
(2)
(3)
В рассматриваемом варианте реализации данного способа ключи Kявляются внешними ключами оператора системы, K - внешними ключами администратора системы, K - внутренними системными ключами.
1
2
j
В данной работе под записями данных А, А…A отношения будем понимать набор значений кортежей, расположенных на множестве доменов так, что каждому значению кортежа соответствует единственное значение домена.
Под записями массива связей М отношений БД понимается таблица смежности для неориентированного графа, вершинами которого являются отношения искомой БД.
При выполнении операций записи и редактирования данных в момент времени t1 первоначально формируется запись массива связей  отношений БД, над которой выполняются операции криптографического преобразования:
на ключах  соответственно.
Результатом является вычисление сигнатур  затем формируются записи данных  отношений, над которыми выполняются операции криптографического преобразования:
на ключах  Результатом является вычисление сигнатур  далее выполняется операция конкатенации:
после чего выполняется операция криптографического преобразования:
в результате которых образуются значения сигнатур
2
В момент времени t формируется следующая запись массива связей  отношений, над которой выполняются операции конкатенации:
с сигнатурами массива связей отношений, вычисленными на предыдущем этапе итерации, после чего производится операция криптографического преобразования:
Результатом является вычисление сигнатур  далее выполняются двуместные операции конкатенации:
записей данных , и вычисленных сигнатур  на предыдущем этапе итерации, после чего вновь производятся криптографические преобразования:
на ключах  Результатом является вычисление сигнатур  далее выполняется операция конкатенации:
2
со всеми записями данных сформированных в момент времени t, а также сигнатурами  БД, вычисленных на предыдущем этапе итерации, над результатами которых производится криптографическое преобразование:
3
4
n
По мере формирования новых и редактирования существующих записей данных, операции повторяются в аналогичном порядке в соответствии с моментами времени t, t, …, t, все записи БД, в том числе массивы связей отношении  записей данных  отношении, соответствующие им сигнатуры  сохраняются в памяти системы обработки данных в виде таблицы данных. (фиг. 2).
Контроль целостности данных, осуществляется на основе извлечения из таблицы данных,
и соответствующих им сигнатур:
прошедших процедуру хранения и подлежащих контролю целостности, над которыми производятся повторные операции криптографического преобразования.
В результате чего вновь вычисленные сигнатуры:
попарно сравниваются с ранее извлеченными:
Заключение об отсутствии нарушения целостности сигнатур делается при выполнении равенств:
в противном случае делается заключение о нарушении целостности для соответствующих номеров сигнатур.
Особенностью представленного выше способа является учет структуры данных и связи между ними.
Корректность и практическая реализуемость данного способа обосновывается следующим примером.
Пример
1
2
n
1
2
j
Пусть «Персонал.dbxv» - БД, редактируемая уполномоченными пользователями в моменты времени t, t,…,t, и содержащая записи данных А, А…A отношений (фиг. 3).
Далее в целях упрощения проведения криптографических преобразований закодируем буквенные обозначения записи данных отношений БД «Персонал. dbxv» в информационную последовательность символов посредством шестнадцатеричного кода HEX (ANSI-код) (фиг. 4).
Осуществим криптографические преобразования в соответствии с заявленным способом на основе хэш-функции алгоритма md5.
1
В момент времени t выполняется преобразование:
а) массива связей отношений БД:
б) записей отношений БД:
в) конкатенации записей отношений и значения сигнатуры массива связей отношений БД:
2
В момент времени t выполняется криптографическое преобразование:
а) конкатенация массива связей отношений БД и значений сигнатур, вычисленных на предыдущем этапе:
б) конкатенации записей отношений БД и значений сигнатур записей отношений БД, вычисленных на предыдущем этапе:
в) конкатенации записей отношений БД, значения сигнатуры массива связей отношений БД, а также значения сигнатуры конкатенации записей отношений и значения сигнатуры массива связей отношений, вычисленных на предыдущем этапе:
n
В момент времени t выполняется криптографическое преобразование:
а) массива связей отношений БД и значений сигнатур, вычисленных на предыдущем этапе:
б) конкатенации записей отношений БД и значений сигнатур записей отношений, вычисленных на предыдущем этапе:
в) конкатенации записей отношений БД, значения сигнатуры массива связей отношений БД, а также значения сигнатуры конкатенации записей отношений и значения сигнатуры массива связей отношений, вычисленных на предыдущем этапе:
Вычисленные сигнатуры сохраняются в памяти системы обработки данных АИС, в целях последующего контроля целостности записей данных рассматриваемой выше БД «Персонал.dbxv».
Произведем контроль целостности записи данных отношений БД «Персонал.dbxv». Для чего извлекаем из таблицы данных соответствующую запись данных отношения в данном случае
«1, 7, менеджер, ИТ; 2, 45, секретарь, АДМ;» (ANSI-код: 312C372CECE5EDE5E4E6E5F02C20C8D23B0A322C34352CF1E5EAF0E5F2E 0F0FC2C20C0C4CC3B0A), система выполняет повторное вычисление хэш-функции:
а) массива связей отношений БД:
б) записи данных отношений БД, с использованием ключа пользователя:
в результате чего получим хэш-коды:
в) совокупности массива связей отношений БД и записи данных отношений:
в результате чего получим хэш-коды:
Полученные значения хэш-кодов  сравниваем с ранее извлеченными  из таблицы данных памяти системы обработки данных АИС, получаем:
Таким образом, возможно сделать заключение об отсутствии нарушения целостности записи данных отношений БД «Персонал.dbxv»., отношение не изменено, соответственно БД не изменена.
1. Рассмотрим случай, при котором уполномоченным пользователем (инсайдером) была несанкционированно модифицирована запись данных отношения «1, 7, менеджер, ИТ; 2, 45, секретарь, АДМ;» на «1, 7, менеджер, ИТ; 2, 45, начальник отдела, ИТ;» (ANSI-код: 312C372CECE5EDE5E4E6E5F02C20C8D23B0A322C34352CEDE0F7E0EBFC EDE8EA20EEF2E4E5EBE02C20C8D23B0A0A0A), с целью получения дополнительных выплат.
2
Повторим вышеописанные операции в целях прослеживания изменений в таблице записей данных отношений. Начиная с момента времени t в системе контроля целостности БД происходят следующие изменения:
а) в массиве связей отношений БД:
б) при записи данных отношений БД:
в) в совокупности массива связей отношений баз данных и записи данных отношений:
Полученные значения хэш-кодов
сравниваем с ранее извлеченными  из таблицы данных памяти системы обработки данных АИС, получаем:
n
Кроме того, в момент времени t при выполнениях операций криптографического преобразования, получения значений хэш-кодов  и последующего их сравнения с ранее извлеченными  из таблицы данных памяти системы обработки данных АИС, получаем:
На основании чего, при контроле целостности записей данных отношений, процедура которого описана выше, выяснится следующее:
Что позволяет сделать вывод о нарушении целостности записи данных отношения , содержащегося в БД.
При контроле целостности совокупности массива связей отношений БД и записей данных отношений система покажет результат:
2
что указывает на наличие несанкционированно модифицированных записей данных отношений в момент времени t в записях данных отношений БД.
Полученные результаты позволяют сделать вывод о том, что запись данных  отношения была несанкционированно модифицирована, что в свою очередь вызвало последующее изменение хэш-кодов
2. В случае если при выполнении контроля целостности в массиве связей отношений базы данных М обнаружатся изменения, система контроля покажет неравенство:
В этом случае экземпляр БД не является достоверным или БД неработоспособна.
В случае, если  то произошел технический сбой.
2
j
3. В случае, если при выполнении контроля целостности совокупности массива связей отношений М базы данных и записей данных А1, А…A отношений система покажет  или  то произошел технический сбой.
4. В случае если при выполнении контроля целостности
то БД скомпрометирована и(или) неработоспособна.
Таким образом, приведенный пример показал, что заявленный способ криптографического контроля целостности БД функционирует корректно, технически реализуем и позволяет решить поставленную задачу.