RU2774098C1 - Method of protecting relational database descriptors - Google Patents

Method of protecting relational database descriptors Download PDF

Info

Publication number
RU2774098C1
RU2774098C1 RU2021109601A RU2021109601A RU2774098C1 RU 2774098 C1 RU2774098 C1 RU 2774098C1 RU 2021109601 A RU2021109601 A RU 2021109601A RU 2021109601 A RU2021109601 A RU 2021109601A RU 2774098 C1 RU2774098 C1 RU 2774098C1
Authority
RU
Russia
Prior art keywords
value
condition
acc
marker
buffer
Prior art date
Application number
RU2021109601A
Other languages
Russian (ru)
Inventor
Игорь Дмитриевич Королев
Евгений Сергеевич Литвинов
Максим Олегович Ахтямов
Сергей Владимирович Мулюкин
Анатолий Борисович Севтинов
Денис Игоревич Маркин
Original Assignee
Федеральное государственное казенное военное образовательное училище высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Filing date
Publication date
Application filed by Федеральное государственное казенное военное образовательное училище высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации filed Critical Федеральное государственное казенное военное образовательное училище высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Application granted granted Critical
Publication of RU2774098C1 publication Critical patent/RU2774098C1/en

Links

Images

Abstract

FIELD: physics.
SUBSTANCE: invention relates to a method of protecting relational database descriptors. Method consists in the fact that a table of control values is created in the base, in which two columns are created for each protected table: in the first column, tuples of two elements are stored: a hash sum of values of security descriptors in a table row and their bitwise sum; second column stores hash sums of values of descriptors in columns of the protected table. Application of this method affects only one table from a certain set of tables, and not the entire database as a whole, which allows not to waste information resources on tables that do not contain access identifiers, as well as perform resource-intensive operations for implementation, detection, localization and analysis of integrity in parallel computational threads.
EFFECT: high data integrity of relational database tables containing security descriptors by introducing a hashing function designed to generate cryptographic checksums, due to which there is a possibility of detection and localization of unauthorized changed data block of some table, and operation of bitwise addition, due to which it becomes possible to restore original data of unauthorized changed unit without access to remote network data storage.
1 cl, 8 dwg

Description

Область техники, к которой относится изобретениеThe field of technology to which the invention belongs

Заявленное изобретение относится к методам защиты информации в реляционных базах данных с использованием технологий криптографической защиты информации.The claimed invention relates to methods for protecting information in relational databases using cryptographic information protection technologies.

Уровень техникиState of the art

а) Описание аналоговa) Description of analogues

Известен способ восстановления информации в ячейке памяти по патенту SU 1501801 (класс G11C 11/40, заявл. 03.09.1987). В известном способе осуществляют восстановление данных, хранящихся в ячейке памяти, на аппаратном уровне путем изменения номинального напряжения.A known method of restoring information in a memory cell according to patent SU 1501801 (class G11C 11/40, declared 09/03/1987). In a known method, data stored in a memory cell is recovered at the hardware level by changing the nominal voltage.

Недостатком данного способа является:The disadvantage of this method is:

данный способ подходит для решения задачи восстановления информации, изменяемой естественным образом вследствие износа физических ячеек памяти, но не обладает механизмами, обеспечивающими защищенность хранимой информации от несанкционированных изменений.this method is suitable for solving the problem of restoring information that changes naturally due to the wear of physical memory cells, but does not have mechanisms that ensure the protection of stored information from unauthorized changes.

Известен способ обнаружения несанкционированного изменения в отношении хранилища сертификатов по патенту РФ 2715027 (класс G06F 21/64, G06F 21/552, заявл. 29.06.2018). В известном способе осуществляют обнаружение и восстановление данных о хранящихся в системе сертификатах электронной подписи.There is a known method for detecting unauthorized changes in relation to the certificate store according to the patent of the Russian Federation 2715027 (class G06F 21/64, G06F 21/552, declared 06/29/2018). In a known method, the detection and recovery of data on electronic signature certificates stored in the system is carried out.

Недостатком данного способа является:The disadvantage of this method is:

данный способ подходит для решения задачи восстановления сертификатов электронной подписи, но не обладает механизмами взаимодействия с реляционными базами данных, содержащих дескрипторы защиты.this method is suitable for solving the problem of restoring electronic signature certificates, but does not have mechanisms for interacting with relational databases containing security descriptors.

б) Описание ближайшего аналога (прототипа)b) Description of the closest analogue (prototype)

Наиболее близким по своей технической сущности к заявленному является способ защищенного доступа к БД по патенту РФ №2709288 (класс G06F 21/62, заявл. 26.07.2004, опубл. 17.12.2019 бюл. №35). Способ-прототип включает следующую последовательность действий. Технический результат достигается за счет того, что предварительно задают разрешенные IP-адреса, HWID-номера и роли пользователей структурных элементов автоматизированной системы в виде множеств IPразр={IP1, IP2,…, IPn}, Hразр={H1, Н2,…, Hn} и Rразр={R1, R2,…, Rm} для повышенной проверки прав доступа к БД, а после приема информации, включающей в себя запрос и пользовательский контекст, сравнивают значения IP-адресов, HWID-номеров и ролей пользователей из пользовательского контекста с множеством дескрипторов защиты: разрешенных IP-адресов, HWID-номеров и ролей пользователей в запоминающем устройстве. В случае если хотя бы одно из условий не удовлетворяется, то формируют сигнал тревоги и выводят информацию в соответствии с правом доступа, а при удовлетворении всех условий переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при отсутствии строк в таблице БД выполняют преобразование результата запроса в соответствии с заданной функцией преобразования F(x) по ключу X и выводят результат запроса в соответствии с правом доступа в закодированном виде.The closest in its technical essence to the claimed one is the method of secure access to the database according to the patent of the Russian Federation No. 2709288 (class G06F 21/62, declared 26.07.2004, publ. 17.12.2019 Bull. No. 35). The prototype method includes the following sequence of actions. The technical result is achieved due to the fact that allowed IP addresses, HWID numbers and user roles of the structural elements of the automated system are pre-set in the form of sets of IP res ={IP 1 , IP 2 ,..., IP n }, H res ={H 1 , H 2 ,…, H n } and R res ={R 1 , R 2 ,…, R m } for increased checking of access rights to the database, and after receiving the information, including the request and the user context, the values of IP- addresses, HWID numbers, and user roles from a user context with multiple security descriptors: allowed IP addresses, HWID numbers, and user roles in the storage device. If at least one of the conditions is not satisfied, then an alarm is generated and information is displayed in accordance with the access right, and if all conditions are satisfied, they proceed to the selection of the row to be considered when constructing the query result, and if there are no rows in the database table, the conversion is performed the result of the query in accordance with the given transformation function F(x) by the key X and output the result of the query in accordance with the access right in encoded form.

Недостатками прототипа являются:The disadvantages of the prototype are:

1. Отсутствие механизма автоматического обнаружения и локализации несанкционированных нарушений целостности данных таблиц, содержащих значения дескрипторов защиты;1. The absence of a mechanism for automatic detection and localization of unauthorized violations of the data integrity of tables containing the values of protection descriptors;

2. Отсутствие механизма автоматического восстановления несанкционированно измененного блока данных, содержащего дескрипторы защиты;2. Absence of a mechanism for automatic recovery of an unauthorizedly modified data block containing protection descriptors;

3. Отсутствие механизма оповещения о несанкционированных изменениях значений дескрипторов защиты.3. Absence of a notification mechanism about unauthorized changes in the values of security descriptors.

В настоящем изобретении предложен способ, позволяющий устранить выявленные недостатки.The present invention proposes a method to eliminate the identified disadvantages.

Раскрытие изобретения (его сущность)Disclosure of the invention (its essence)

а) технический результат, на достижение которого направлено изобретениеa) the technical result to which the invention is directed

Техническим результатом заявленного решения является разработка способа, повышающего уровень защищенности данных, хранящихся в реляционных базах данных и содержащих дескрипторы защиты. Поставленная цель достигается посредством введения функции хэширования, предназначенной для формирования криптографических контрольных сумм, и операции побитового сложения, благодаря которым появляется возможность обнаружения и локализации несанкционированно измененного блока данных некоторой таблицы и восстановления исходных данных несанкционированно измененного блока без обращения к резервному сетевому хранилищу данных, а также добавления блока формирования сигнала тревоги.The technical result of the claimed solution is the development of a method that increases the level of security of data stored in relational databases and containing security descriptors. This goal is achieved by introducing a hashing function designed to generate cryptographic checksums and bitwise addition operations, thanks to which it becomes possible to detect and localize an unauthorizedly changed data block of a certain table and restore the original data of an unauthorizedly changed block without resorting to a backup network data storage, as well as adding an alarm generating block.

б) совокупность существенных признаковb) a set of essential features

Способ защиты дескрипторов реляционной базы данных заключается в том, что принимают информацию, включающую в себя запрос и пользовательский контекст, выбирают строку, подлежащую рассмотрению при построении результата запроса, сравнивают дескриптор защиты строк с дополнительно заданными списками разрешенных IP-адресов, HWID-номеров и ролей пользователей структурных элементов автоматизированной системы с информацией из пользовательского контекста и в случае их несовпадения проверяют наличие оставшихся строк в таблице базы данных, а при их совпадении проверяют вклад строки базы данных в результат запроса и при его отсутствии переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а в случае его наличия используют упомянутую строку при построении результата запроса и проверяют наличие оставшихся строк в таблице базы данных, в случае их наличия переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при их отсутствии выводят результат запроса в соответствии с правом доступам выполнением преобразования результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра.The way to protect relational database descriptors is to receive information including a request and a user context, select a string to be considered when constructing a query result, compare the string protection descriptor with additionally specified lists of allowed IP addresses, HWID numbers and roles users of the structural elements of the automated system with information from the user context, and if they do not match, they check the presence of the remaining rows in the database table, and if they match, they check the contribution of the database row to the query result and, if it is absent, proceed to the selection of the row to be considered when constructing the result query, and if it exists, use the mentioned string when constructing the query result and check the presence of the remaining rows in the database table, if they exist, go to the selection of the row to be considered when constructing the query result, and if they are absent, output the cut The result of the request in accordance with the access right is the transformation of the result of the request by the encoding method in accordance with the specified transformation function F(x) by the key X received from the Certification Authority.

Дополнительно, способ защиты дескрипторов реляционной базы данных основан на выполнении следующих действий: интеграции столбца кортежей CT в таблицу контрольных значений Th, хранящуюся в реляционной базе данных, заключается в том, что изначально имеются таблица контрольных значений Th и таблица T, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, в таблицу контрольных значений Th добавляют столбец CT, элементы которого являются кортежами<0, 0>, состоящими из двух элементов, инициализируют маркеры итерации i и j изначально равные 0, а также буферы HHacc, SUMacc и z, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций i на 1, устанавливают значения маркера итерации j и буферов HHacc, SUMacc равными 0, проверяют выполнение условия превышения значением маркера итераций i значения N, в том случае, если условие выполняется, происходит завершение процесса, а в случае, если условие не выполняется происходит переход к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, затем проверяют выполнение условия не превышения значением маркера итераций j значения М, в том случае, если условие выполняется, к текущему значению буфера ННасс прибавляют значение ячейки в строке i столбца z таблицы Т (далее Ti(z)), а к текущему значению буфера SUMacc побитово прибавляют значение ячейки Ti(z) и возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, заменяют значение ячейки i-ой строки столбца CT таблицы Th кортежем, состоящим из двух элементов, а именно: значение хэш-функции от значения буфера HHacc в качестве первого элемента и значение буфера SUMacc в качестве второго, затем возвращаются к шагу инкрементации значения маркера итераций i на 1, алгоритм интеграции столбца хэш-сумм HVT в таблицу контрольных значений, хранящуюся в реляционной базе данных, заключается в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, в таблицу контрольных значений Th добавляют столбец HVT, изначально заполненную пустыми значениями, инициализируют маркеры итераций i и j изначально равные 0, а также буферы HVacc и z, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, устанавливают значения маркера итерации i и буфера HVacc равным 0, проверяют выполнение условия превышения значением маркера итераций у значения М, в том случае, если условие выполняется, происходит завершение процесса, а в случае, если условие не выполняется происходит переход к шагу инкрементации значения маркера итераций i на 1, затем проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z) и возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, заменяют значение j-го элемента столбца HVT таблицы Th значением хэш-функции от значения буфера HVacc, затем возвращаются к шагу инкрементации значения маркера итераций j на 1, алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в строке таблицы реляционной базы данных заключается в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, а также получен индекс строки k таблицы Т, проверку которой необходимо осуществить, далее инициализируют маркер итераций у и буфер HHacc, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций у на 1 и присвоения буферу q значения у-го элемента кортежа MD, после чего проверяют выполнение условия не превышения значением маркера итераций у значения М, в том случае, если условие выполняется, к текущему значению буфера HHacc прибавляют значение ячейки Tk(q) и возвращаются к шагу инкрементации значения маркера итераций у на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HHacc со значением первого элемента кортежа в столбце CT строке к таблицы Th, в том случае, если условие выполняется, происходит подтверждение легитимности дескрипторов защиты k-ой строки таблицы Т, а затем завершается процесса, а в случае, если условие не выполняется, инициализируют маркеры итерации i и j изначально равные 0, а также буфер HVacc, изначально равный 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, после чего присваивают значение 0 маркеру итераций i и буферу HVacc, затем переходят к шагу инкрементации значения маркера итераций i на 1, после чего проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z), после чего возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HVacc со значением ячейки j-ой строки столбца HVT в таблице Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, формируют выходные данные, состоящие из текущих значений индекса строки к и имени столбца z, определяющих измененную ячейку таблицы Т, после чего происходит завершение процесса, алгоритм восстановления несанкционированно измененного дескриптора защиты в таблице реляционной базы данных заключается в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, а также получены индекс строки к и имя столбца z, определяющие ячейку таблицы Т, значение которой необходимо восстановить, далее инициализируют маркер итераций у, изначально равный 0, а также буферы q, изначально равный 0, и SUMacc, равный значению второго элемента кортежа строки к столбца CT таблицы Th, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу q значения j-го элемента кортежа MD, после чего проверяют выполнение условия превышения значением маркера итераций у значения М, в том случае, если условие выполняется, заменяют значение ячейки Tk(z) текущим значением буфера SUMacc, после чего происходит завершение процесса, а в случае, если условие не выполняется, проверяют выполнение условия равенства текущего значения буфера наименования столбца q с наименованием столбца z, в том случае, если условие выполняется, возвращаются к шагу инкрементации маркера итераций j на 1, а в случае, если условие не выполняется, к текущему значению буфера SUMacc побитово прибавляют значение ячейки Tk(q), после чего возвращаются к шагу инкрементации значения маркера итераций j на 1, алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в таблице реляционной базы данных заключается в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, далее инициализируют маркер итераций k, изначально равный 0, после чего переходят к шагу инкрементации значения маркера итераций k на 1, затем проверяют выполнение условия не превышения значением маркера итераций k значения N, в том случае, если условие не выполняется, происходит подтверждение легитимности дескрипторов защиты, хранящихся в таблице Т, после чего происходит завершение процесса, а в случае, если условие выполняется, инициализируют маркер итераций у и буфер HHacc, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций у на 7 и присвоения буферу q значения у-го элемента кортежа MD, после чего проверяют выполнение условия не превышения значением маркера итераций у значения М, в том случае, если условие выполняется, к текущему значению буфера HHacc прибавляют значение ячейки Tk(q) и возвращаются к шагу инкрементации значения маркера итераций у на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HHacc со значением первого элемента кортежа строки к столбца CT таблицы Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций k на 1, а в случае, если условие не выполняется, инициализируют маркеры итерации j и i, изначально равные 0, а также буферы z и HVacc, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, после чего устанавливают значения маркера итераций i и буфера HVacc равными 0, затем переходят к шагу инкрементации значения маркера итераций i на 1, после чего проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z), после чего возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HVacc со значением ячейки j-ой строки столбца HVT в таблице Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, формируют выходные данные, состоящие из текущих значений индекса строки к и имени столбца z, определяющих измененную ячейку таблицы Т, после чего происходит завершение процесса.Additionally, the way to protect the descriptors of the relational database is based on performing the following actions: integrating a column of tuples C T into the watch table T h stored in the relational database, is that initially there is a watch table T h and a table T consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D , column C T is added to the table of control values T h , the elements of which are tuples<0, 0>, consisting of two elements, iteration markers i and j are initialized to be initially equal to 0, as well as the buffers HH acc , SUM acc and z, initially equal to 0, then go to the step of incrementing the value of the iteration marker i by 1, set the values of the iteration marker j and the buffers HH acc , SUM acc equal to 0, check the condition for exceeding the marker value iterations i of the value N, if the condition is met, the process is terminated, and if the condition is not met, the process is Go to the step of incrementing the value of the iteration marker j by 1 and assigning to the buffer z the value of the j-th element of the tuple M D , then check the fulfillment of the condition that the value of the iteration marker j value does not exceed the value of M, if the condition is met, to the current value of the buffer HH acc add the value of the cell in row i of column z of the table T (hereinafter T i (z)), and add the value of cell T i (z) bit by bit to the current value of the buffer SUM acc and return to the increment step of the iteration marker value j by 1, and in the case , if the condition is not met, replace the value of the cell of the i-th row of the column C T of the table T h with a tuple consisting of two elements, namely: the value of the hash function from the value of the buffer HH acc as the first element and the value of the buffer SUM acc as the second , then return to the step of incrementing the value of the iteration marker i by 1, the algorithm for integrating the hash sum column HV T into the check value table stored in the relational database is that initially there is a table of control values T h and a table T consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors MD, the column HV T , initially filled with empty values, is added to the table of control values T h , iteration markers i and j are initialized initially equal to 0, as well as the buffers HV acc and z, initially equal to 0, then go to the step of incrementing the value of the iteration marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z, set the values of the iteration marker i and the buffer HV acc equal to 0 , check the fulfillment of the condition for exceeding the value of the iteration marker y of the value M, if the condition is met, the process is terminated, and if the condition is not met, the transition to the step of incrementing the value of the iteration marker i by 1 occurs, then check the fulfillment of the condition of not exceeding the value of the iteration marker i of the value N, if the condition is met, the value i is added to the current value of the buffer HV acc cells Ti(z) and return to the step of incrementing the value of the iteration marker i by 1, and if the condition is not met, replace the value of the j-th element of the HV T column of the table T h with the value of the hash function from the value of the buffer HV acc , then return to the step of incrementing the value of the iteration marker j by 1, the algorithm for detecting and localizing an unauthorized changed value of the security descriptor in the row of the relational database table is that initially there is a table of control values T h and a table T consisting of N rows and M columns, where M is equal to the size of the tuple of protection descriptors M D , and the index of the row k of the table T is obtained, which needs to be checked, then the iteration marker y and the buffer HH acc are initialized, initially equal to 0, then go to the step of incrementing the value of the iteration marker y by 1 and assigning buffer q of the value of the y-th element of the MD tuple, after which the condition is checked that the value of the iteration marker y does not exceed the value of M, in if the condition is met, the value of the cell T k (q) is added to the current value of the buffer HH acc and the value of the iteration marker y is incremented by 1, and if the condition is not met, the hash function value equality condition is checked from the value of the buffer HH acc with the value of the first element of the tuple in the column C T row to the table T h , if the condition is met, the legitimacy of the protection descriptors of the kth row of the table T is confirmed, and then the process ends, and if the condition is not met, initialize the iteration markers i and j initially equal to 0, as well as the buffer HV acc , initially equal to 0, then proceed to the step of incrementing the value of the iteration marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z, after which assign the value 0 to the iteration marker i and the buffer HV acc , then go to the step of incrementing the value of the iteration marker i by 1, after which the condition of not exceeding is checked value of the iteration marker i of the value N, if the condition is met, the value of the cell T i (z) is added to the current value of the HV buffer acc , after which the value of the iteration marker i is returned to the step of incrementing the value of the iteration marker i by 1, and if the condition is not is executed, the fulfillment of the condition of equality of the hash function value from the value of the buffer HV acc with the value of the cell of the j-th row of the column HV T in the table T h is checked, if the condition is met, they return to the step of incrementing the value of the iteration marker j by 1, and if the condition is not met, the output data is formed, consisting of the current values of the row index k and the name of the column z, defining the changed cell of the table T, after which the process is terminated, the algorithm for restoring an unauthorizedly changed security descriptor in the relational database table is as follows that initially there is a table of control values T h and a table T consisting of N rows and M columns, where M is equal to the size of the cort hedgehogs of protection descriptors M D , and also received the row index k and the column name z, which determine the cell of the table T, the value of which must be restored, then initialize the iteration marker y, initially equal to 0, as well as the buffers q, initially equal to 0, and SUM acc , equal to the value of the second element of the tuple of the row k of the column C T of the table T h , then go to the step of incrementing the value of the iterations marker j by 1 and assigning to the buffer q the value of the j-th element of the tuple M D , after which the condition for exceeding the value of the iterations marker y of the value M is checked , if the condition is met, replace the value of the cell T k (z) with the current value of the buffer SUM acc , after which the process is terminated, and if the condition is not met, the condition of equality of the current value of the buffer of the name of the column q with the name column z, if the condition is met, return to the step of incrementing the iteration marker j by 1, and if the condition is not met It turns out that the value of the cell Tk (q) is added bit by bit to the current value of the SUM acc buffer, after which the value of the iteration marker value j is incremented by 1, the algorithm for detecting and locating an unauthorized changed value of the protection descriptor in the relational database table is that initially there is a table of control values T h and a table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D , then initialize the iteration marker k, initially equal to 0, after which they go to the step of incrementing the value of the iteration marker k by 1 , then they check the fulfillment of the condition that the value of the iterations marker k does not exceed the value N, if the condition is not met, the legitimacy of the protection descriptors stored in the table T is confirmed, after which the process is terminated, and if the condition is met, the marker is initialized iterations y and buffer HH acc , initially equal to 0, then go to step and incrementing the value of the iterations marker y by 7 and assigning to the buffer q the value of the y-th element of the tuple M D , after which the condition is checked that the value of the iterations marker y does not exceed the value M, if the condition is met, the value is added to the current value of the buffer HH acc acc cells T k (q) and return to the step of incrementing the value of the iteration marker y by 1, and if the condition is not met, check the fulfillment of the condition of equality of the hash function value from the value of the buffer HH acc with the value of the first element of the row tuple to the column C T tables T h , if the condition is met, return to the step of incrementing the value of the iteration marker k by 1, and if the condition is not met, initialize the iteration markers j and i, initially equal to 0, as well as the buffers z and HV acc , initially equal to 0, then go to the step of incrementing the value of the iteration marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z, after which the values are set iteration marker i and buffer HV acc equal to 0, then go to the step of incrementing the value of iteration marker i by 1, after which the condition is checked that the value of iteration marker i does not exceed the value N, if the condition is met, to the current value of the buffer HV acc add the value of the cell T i (z), then return to the step of incrementing the value of the iteration marker i by 1, and if the condition is not met, check the fulfillment of the condition of equality of the hash function value from the value of the buffer HV acc with the value of the jth cell the rows of the HV T column in the table T h , if the condition is met, return to the step of incrementing the value of the iteration marker j by 1, and if the condition is not met, they form the output data consisting of the current values of the row index k and the name column z, defining the changed cell of the table T, after which the process is terminated.

Сопоставительный анализ заявляемого решения с прототипом показывает, что предлагаемый способ отличается от известного:Comparative analysis of the proposed solution with the prototype shows that the proposed method differs from the known:

1. Наличием механизма автоматического обнаружения и локализации несанкционированного изменения значения дескриптора защиты таблицы реляционной базы данных;1. The presence of a mechanism for automatic detection and localization of unauthorized changes in the value of the protection descriptor of a relational database table;

2. Наличием механизма автоматического восстановления исходного значения дескриптора защиты таблицы;2. The presence of a mechanism for automatically restoring the original value of the table protection descriptor;

3. Созданием таблицы контрольных значений, путем добавления в нее пары столбцов на каждую защищаемую таблицу базы данных (пример такой таблицы изображен на фигуре 2). В первых из пары столбцах хранятся хэш-суммы значений столбцов защищаемых таблиц, а во вторых из пары столбцах хранятся кортежи, из двух элементов: хэш-суммы значений строк таблиц и побитовые суммы значений строк таблиц;3. Creating a table of control values by adding a pair of columns to it for each protected database table (an example of such a table is shown in figure 2). The first of the pair of columns stores the hash sums of the values of the columns of the protected tables, and the second of the pair of columns stores the tuples of two elements: the hash sums of the table row values and the bitwise sums of the table row values;

4. Наличием механизма проверки целостности и подлинности дескрипторов защиты в процессе аутентификации пользовательского контекста при обработке запроса, и, при необходимости, автоматического восстановления исходного значения дескриптора защиты;4. The presence of a mechanism for checking the integrity and authenticity of security descriptors in the process of authenticating the user context when processing a request, and, if necessary, automatically restoring the original value of the security descriptor;

5. Наличием механизма формирования сигнала тревоги, оповещающего о несанкционированном изменении дескрипторов защиты.5. The presence of a mechanism for generating an alarm that notifies of an unauthorized change in protection descriptors.

в) причинно-следственная связь между признаками и техническим результатомc) causal relationship between features and technical result

Благодаря новой совокупности существенных признаков в заявленном способе появляется функционал обнаружения факта нарушения целостности данных, представляющих собой дескрипторы защиты информации, хранящейся в реляционной базе данных, который достигается с помощью криптографических средств защиты информации, а именно способа вычисления хэш-сумм, а также функционал восстановления целостности данных посредством вычисления побитовой суммы значений строк защищенных таблиц путем предварительного создания таблицы контрольных значений и добавления в нее пары столбцов на каждую защищаемую таблицу базы данных.Thanks to a new set of essential features in the claimed method, there is a functionality for detecting the fact of data integrity violations, which are descriptors for protecting information stored in a relational database, which is achieved using cryptographic information protection tools, namely the method for calculating hash sums, as well as the functionality for restoring integrity data by calculating the bitwise sum of the row values of protected tables by first creating a table of control values and adding a pair of columns to it for each protected database table.

Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного технического решения, отсутствуют, что указывает на соответствие заявленного способа условию патентоспособности «новизна».The analysis of the prior art made it possible to establish that there are no analogues characterized by a set of features identical to all the features of the claimed technical solution, which indicates the compliance of the claimed method with the condition of patentability "novelty".

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обусловливающих тот же технический результат, который достигнут в заявляемом способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».The results of the search for known solutions in this and related fields of technology in order to identify features that match the distinguishing features of the prototype of the claimed object showed that they do not follow explicitly from the prior art. The prior art also did not reveal the fame of distinctive essential features that determine the same technical result that is achieved in the claimed method. Therefore, the claimed invention meets the condition of patentability "inventive step".

Краткое описание чертежейBrief description of the drawings

Заявленный способ поясняется чертежами, на которых показаны:The claimed method is illustrated by drawings, which show:

фиг. 1 - таблица Т базы данных с защищаемой информацией, содержащая дескрипторы защиты (TP-адреса, HWID-номера и роли пользователей);fig. 1 - table T of the database with protected information containing security descriptors (TP addresses, HWID numbers and user roles);

фиг. 2 - демонстрационная таблица контрольных значений Th с тремя интегрированными таблицами (Tab1, Tab2, Tab3).fig. 2 is a demonstration table of Th control values with three integrated tables (Tab1, Tab2, Tab3).

фиг. 3 - алгоритм автоматического обнаружения и локализации несанкционированного изменения дескрипторов защиты реляционной базы данных и восстановления их исходных значений;fig. 3 - algorithm for automatic detection and localization of unauthorized changes in relational database security descriptors and restoration of their original values;

фиг. 4 - алгоритм интеграции столбца кортежей С в таблицу контрольных значений;fig. 4 - algorithm for integrating a column of tuples C into a table of control values;

фиг. 5 - алгоритм интеграции столбца хэш-сумм HV в таблицу контрольных значений;fig. 5 shows an algorithm for integrating the hash sum column HV into the check value table;

фиг. 6 - алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в строке таблицы реляционной базы данных;fig. 6 - algorithm for detecting and localizing an unauthorized changed value of the security descriptor in a table row of a relational database;

фиг. 7 - алгоритм восстановления несанкционированно измененного дескриптора защиты в таблице реляционной базы данных;fig. 7 - algorithm for restoring an unauthorizedly changed security descriptor in a relational database table;

фиг. 8 - алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в таблице реляционной базы данных.fig. 8 - algorithm for detecting and localizing an unauthorized changed value of the security descriptor in a relational database table.

Осуществление изобретенияImplementation of the invention

Реализация заявленного способа осуществляется следующим образом.The implementation of the claimed method is carried out as follows.

При обращении к базе данных пользователем в систему управления базами данных передаются текстовый запрос и пользовательский контекст. Текстовый запрос представляет собой SQL-запрос, а контекст пользователя набор данных, необходимых для осуществления идентификации пользовательского запроса, а именно: IP-адрес пользователя, HWID-номер пользователя и роль пользователя.When a user accesses a database, a text query and user context are passed to the database management system. The text query is a SQL query, and the user context is a set of data necessary to identify the user query, namely: the user's IP address, the user's HWID number, and the user's role.

В процессе аутентификации пользовательского запроса сравнивают значения IP-адресов, HWID-номеров и ролей пользователей из полученного пользовательского контекста с множеством разрешенных IP-адресов, HWID-номеров и ролей пользователей, хранящихся в базе данных.The user request authentication process compares the values of IP addresses, HWID numbers and user roles from the obtained user context with the set of allowed IP addresses, HWID numbers and user roles stored in the database.

Так как хранящиеся в базе данных дескрипторы защиты подчиняются общей политике безопасности, пользователи, не обладающие необходимыми правами доступа к защищаемой ячейке памяти, но допущенными до других разделов базы данных, могут повысить свои права доступа к некоторой закрытой информации.Since the security descriptors stored in the database are subject to a common security policy, users who do not have the necessary access rights to the protected memory location, but are allowed to access other sections of the database, can elevate their access rights to some sensitive information.

Для повышения уровня безопасности дескрипторов защиты, представленных на фигуре 1, необходимо создание таблицы контрольных значений, представленных на фигуре 2, хранящей контрольные и побитовые суммы, и интеграция в нее двух столбцов, связанных со строками и столбцами защищаемой таблицы, хранящими дескрипторы защиты, а также использование механизма расчета и обработки контрольных значений, хранящихся в данной таблице, позволяющего решать следующие задачи:To increase the security level of the protection descriptors shown in figure 1, it is necessary to create a table of control values, shown in figure 2, storing check and bit sums, and integrating into it two columns associated with the rows and columns of the protected table that store the protection descriptors, as well as use of the mechanism for calculating and processing control values stored in this table, which allows solving the following tasks:

1. Обнаружение факта несанкционированного изменения дескрипторов защиты;1. Detection of the fact of unauthorized change of protection descriptors;

2. Локализация несанкционированно измененного дескриптора защиты;2. Localization of an unauthorized changed security descriptor;

3. Восстановление подлинного значения несанкционированно измененного дескриптора защиты.3. Restoring the original value of an unauthorizedly changed security descriptor.

Таблица контрольных значений, изображенная на фигуре 2, имеет следующую структуру:The table of control values shown in figure 2 has the following structure:

1. Пары столбцов, связанные с защищаемыми дескрипторами некоторых таблиц их содержащих, имеют такие названия, как «ИмяТаблщы»_С (от англ. «Cortege» - кортеж) и «ИмяТаблицы»_HV (от англ. «Hash Vertical» - хэш вертикали);1. Pairs of columns associated with the protected descriptors of some tables containing them have names such as "TableName" _C (from the English "Cortege" - a tuple) and "TableName" _HV (from the English "Hash Vertical" - a vertical hash) ;

2. Количество пар столбцов Р определяется количеством защищаемых таблиц базы данных, содержащих дескрипторы защиты, с размерами N строк и М столбцов;2. The number of pairs of columns Р is determined by the number of protected database tables containing protection descriptors, with sizes of N rows and M columns;

3. Количество строк L таблицы контрольных значений определяется наибольшим из двух показателей: либо количеством строк N таблицы Т, содержащих дескрипторы защиты, либо размером кортежа MD (к примеру, в описываемом нами способе кортеж дескрипторов защиты MD = <IP, HWID, Role>, а размер кортежа |MD| = М = 3), содержащего дескрипторы защиты, некоторой защищенной таблицы;3. The number of rows L of the table of control values is determined by the largest of two indicators: either the number of rows N of the table T containing security descriptors, or the size of the tuple MD (for example, in the method described by us, the tuple of security descriptors MD = <IP, HWID, Role>, and the size of the tuple |MD| = M = 3) containing the protection descriptors of some protected table;

4. Столбец «ИмяТаблицы»_ HV содержит значения HVj хэш-функции для каждого j-го дескриптора (из кортежа MD) защищаемой таблицы. Значение HVj рассчитывается от эталонных (неизмененных) значений дескрипторов защищаемой таблицы, путем конкатенации всех элементов столбца, содержащего значения j-го дескриптора защищаемой таблицы, и вычисления хэш-функции от полученной суммы;4. The “TableName”_ HV column contains the HV j values of the hash function for each j-th descriptor (from the M D tuple) of the protected table. The value of HV j is calculated from the reference (unchanged) values of the descriptors of the protected table by concatenating all elements of the column containing the values of the j-th descriptor of the protected table, and calculating the hash function from the resulting sum;

5. Столбец «ИмяТаблицы»_С представляет собой кортежи, состоящие из двух элементов: значения HHi хэш-функции (от англ. «Hash Horizontal» - хэш горизонтали) и значения SUMi побитовой суммы для каждой i-ой строки (из N строк) защищаемой таблицы, содержащей дескрипторы защиты. Значения HHi и SUMi рассчитываются следующим образом:5. The column "TableName" _C is a tuple consisting of two elements: the HH i values of the hash function (from the English "Hash Horizontal" - a hash of the horizontal) and the values of SUM i of the bitwise sum for each i-th row (of N rows ) of the protected table containing the protection descriptors. The values of HH i and SUM i are calculated as follows:

5.1. Значение HHi рассчитывается от исходных (неизмененных) значений дескрипторов защиты, путем сложения всех значений дескрипторов i-ой строки (из N строк) защищаемой таблицы и вычисления хэш-функции от полученной суммы;5.1. The value of HH i is calculated from the original (unchanged) values of the protection descriptors, by adding all the values of the descriptors of the i-th row (out of N rows) of the protected table and calculating the hash function from the resulting sum;

5.2. Значение SUMi рассчитывается от исходных (неизмененных) значений дескрипторов защиты, путем побитового сложения всех значений дескрипторов i-ой строки (из N строк) защищаемой таблицы.5.2. The value of SUM i is calculated from the original (unchanged) values of the protection descriptors, by bitwise addition of all values of the descriptors of the i-th row (out of N rows) of the protected table.

Интеграция в таблицу контрольных значений вышеописанных пар столбцов позволит в дальнейшем производить дополнительную проверку подлинности дескрипторов защиты, предшествующую аутентификации пользовательского запроса, которая исключит вероятность несанкционированного доступа к закрытой информации путем подмены хранимых значений дескрипторов защиты.Integration into the table of control values of the above pairs of columns will allow further authentication of security descriptors prior to authentication of the user request, which will eliminate the possibility of unauthorized access to sensitive information by replacing the stored values of security descriptors.

Обнаружение факта изменения значений дескрипторов защиты реализуется путем сравнения исходных значений хэш-сумм НН первых из пары столбцов таблицы контрольных значений со значениями хэш-сумм соответствующих строк, перерассчитанных в момент обращения пользователя к защищаемой таблице. В том случае, если все сравниваемые пары хэш-сумм равны, подтверждается легитимность дескрипторов защиты, хранящихся в защищаемой таблице, а в ином случае, запоминается индекс строки, для которой перерассчитанное значение хэш-суммы отлично от исходного, для дальнейшего восстановления исходного значения несанкционированно измененного блока данных. Также, после обнаружения факта несанкционированного изменения значений дескрипторов защиты, формируется сигнал тревоги, оповещающий о нарушении целостности дескрипторов защиты таблицы.Detection of the fact of changing the values of security descriptors is implemented by comparing the initial values of the HH hash sums of the first of the pair of columns of the table of control values with the hash sum values of the corresponding rows recalculated at the time the user accessed the protected table. If all compared pairs of hash sums are equal, the legitimacy of the security descriptors stored in the protected table is confirmed; data block. Also, after detecting the fact of unauthorized change of the values of security descriptors, an alarm signal is generated, notifying about the violation of the integrity of the security descriptors of the table.

Локализация несанкционированно измененного дескриптора защиты реализуется путем сравнения исходных значений хэш-сумм со значениями хэш-сумм соответствующих столбцов, перерассчитанных после обнаружения факта несанкционированного изменения значения дескриптора защиты. Затем запоминается имя столбца, для которого перерассчитанное значение хэш-суммы отлично от исходного, для дальнейшего восстановления исходного значения несанкционированно измененного блока данных.Localization of an unauthorized change of the security descriptor is implemented by comparing the original hash values with the values of the hash sums of the corresponding columns, recalculated after the detection of the fact of unauthorized change of the value of the security descriptor. Then the name of the column is stored, for which the recalculated hash value is different from the original one, in order to further restore the original value of the unauthorized data block.

Восстановление несанкционированно измененного дескриптора защиты в строке i реализуется путем побитового прибавления к исходной побитовой сумме SUMi, хранящейся в таблице контрольных значений, всех элементов i-ой строки из количества М, за исключением несанкционированно измененного элемента. Полученное в результате значение будет являться исходным значением несанкционированно измененного элемента i-ой строки защищаемой таблицы.Restoration of an unauthorizedly changed security descriptor in row i is implemented by bitwise adding to the original bitwise sum SUM i stored in the table of control values, all elements of the i-th row from the number M, except for the unauthorizedly changed element. The resulting value will be the initial value of the unauthorized element of the i-th row of the protected table.

В настоящем изобретении предусматривается как проверка целостности запрашиваемых в процессе аутентификации дескрипторов защиты, так и полная проверка целостности дескрипторов защиты таблиц базы данных в рамках регламентных работ.The present invention provides for both checking the integrity of the security descriptors requested during the authentication process, and a complete check of the integrity of the security descriptors of the database tables as part of routine maintenance.

Чтобы достичь вышеуказанных и связанных целей, концепция настоящего изобретения представлена в нижеследующем описании и прилагаемыми чертежами. Эта концепция характеризует различные пути, которыми можно воплотить принципы изобретения, а настоящее изобретение следует считать включающим в себя все такие аспекты и их эквиваленты.To achieve the above and related objects, the concept of the present invention is presented in the following description and the accompanying drawings. This concept is indicative of various ways in which the principles of the invention may be implemented, and the present invention is to be considered as including all such aspects and their equivalents.

В силу все более широкого распространения персональных компьютеров важность организации информации в виде баз данных (БД) непрерывно возрастает.Due to the increasing spread of personal computers, the importance of organizing information in the form of databases (DB) is constantly increasing.

Часто возникающей проблемой в корпоративных информационных системах является отказ в обслуживании БД и нарушение целостности хранящейся в них информации, вследствие воздействия различных внешних факторов, таких как: воздействие стихийных природных явлений, преднамеренные действия злоумышленников, непреднамеренные действия сотрудников, отказ в работе оборудования и др.A frequently occurring problem in corporate information systems is the denial of service to the database and the violation of the integrity of the information stored in them, due to the influence of various external factors, such as: the impact of natural disasters, intentional actions of intruders, unintentional actions of employees, equipment failure, etc.

Таким образом, проблема восстановления целостности данных, в случае ее нарушения, является актуальной по сей день.Thus, the problem of restoring data integrity, in case of its violation, is relevant to this day.

Вследствие природы данных, хранящихся в БД, санкционирование избирательного доступа (например, запрета доступа, доступа для считывания и/или доступа для считывания и записи) к этим данным приобретает существенное значение.Due to the nature of the data stored in the database, the authorization of selective access (eg, deny access, read access and/or read and write access) to this data becomes essential.

Так как аутентификация пользовательского контекста происходит посредством использования хранящихся в БД дескрипторов защиты, важным условие корректного функционирования системы является их подлинность.Since user context authentication occurs through the use of security descriptors stored in the database, their authenticity is an important condition for the correct functioning of the system.

Для отслеживания несанкционированных изменений данных, в том числе и дескрипторов защиты, применяются контрольные суммы, рассчитываемые при помощи использования хэш-функций.To track unauthorized changes to data, including security descriptors, checksums are used, which are calculated using hash functions.

Хэш-функция - это функция, применяемая к входящему сообщению произвольной длины и возвращающая выходное значение фиксированной длины. Главной особенностью хэш-функции является однонаправленность, что обуславливает невозможность восстановить исходное сообщение по выходному значению. Стоит отметить, что выходное значение хэш-функции для одного и того же набора входных данных всегда будет одинаковым. Это позволяет фиксировать факт изменения входных данных (значения строки/столбца таблицы) путем сравнения полученного значения хэш-функции с эталонным.A hash function is a function that is applied to an input message of arbitrary length and returns an output value of a fixed length. The main feature of the hash function is unidirectionality, which makes it impossible to restore the original message from the output value. It is worth noting that the output value of the hash function for the same set of input data will always be the same. This allows you to fix the fact of changing the input data (the value of the row/column of the table) by comparing the obtained value of the hash function with the reference one.

Благодаря описанным преимуществам хэш-функций в данном изобретении реализованы обнаружение и локализация несанкционированно измененных значений дескрипторов защиты.Due to the described advantages of hash functions, this invention implements the detection and localization of unauthorized changes to the values of security descriptors.

Блок-схема 300 процесса автоматического обнаружения и локализации несанкционированного изменения дескриптора защиты таблицы реляционной базы данных и восстановления его исходного значения, отображенная на фигуре 3, объединяет блок-схемы 400, 500, 600, 700, 800, отображенные на фигурах 4-8 соответственно. Блок 301 устанавливает соединение с БД, блок 302 формирует запрос на подключение к БД, после чего происходит проверка подключения. В случае отсутствия подключения, блок 308 выводит сообщение об ошибке подключения к БД, а блок 309 подтверждает отправку повторного запроса на подключение. В случае отсутствия подтверждения (блок 310) процесс завершается, а в случае наличия подтверждения переходят к блоку 302. В целом, блоки 301-303 и 308-310 организуют установку соединения с базой данных и подключение к ней для дальнейшей работы.The flowchart 300 of a process for automatically detecting and locating an unauthorized change to a relational database table security descriptor and restoring its original value, shown in Figure 3, combines the flowcharts 400, 500, 600, 700, 800 shown in Figures 4-8, respectively. Block 301 establishes a connection to the database, block 302 generates a request to connect to the database, after which the connection is checked. If there is no connection, block 308 displays a database connection error message, and block 309 confirms that a connection request has been sent again. If there is no confirmation (block 310), the process ends, and if there is confirmation, go to block 302. In general, blocks 301-303 and 308-310 organize the establishment of a connection to the database and connect to it for further work.

Блок 304 проверяет факт создания таблицы контрольных значений Th, необходимой для функционирования описываемого способа, структура которой была описана выше. Если таблица Th не создана, то блок 311 создает ее.Block 304 checks whether the table of control values T h necessary for the functioning of the described method, the structure of which has been described above, has been created. If the table T h is not created, then block 311 creates it.

Блок 305 проверяет факт проведения интеграции пары столбцов СT и HVT в таблицу контрольных значений Th для повышения защищенности некоторой таблицы Т, содержащей N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD. Если пара столбцов для защищаемой таблицы Т не была интегрирована в таблицу контрольных значений Th, то блоки 306 и 307 интегрируют эту пару столбцов с именами CT и HVT (где Т - название некоторой защищаемой таблицы Т) соответственно.Block 305 checks to see if the pair of columns C T and HV T has been integrated into a watch table Th to enhance the security of some table T containing N rows and M columns, where M is equal to the size of the security descriptor tuple MD. If the pair of columns for protected table T has not been integrated into the reference table T h , then blocks 306 and 307 integrate this pair of columns named C T and HV T (where T is the name of some protected table T), respectively.

Блок 312 проверяет условие необходимости проверки на несанкционированное изменение запрашиваемой пользователем строки таблицы Т, а точнее дескрипторов защиты, хранящихся в данной строке, для дальнейшей аутентификации пользовательского контекста и обработки информации из данной строки некоторой таблицы. Если условие выполняется, то блок 314 принимает номер запрашиваемой строки n таблицы Т, а блок 315 обнаруживает и локализует несанкционированно измененный дескриптор запрашиваемой строки n таблицы, либо подтверждает легитимность дескрипторов защиты данной строки (подробнее в блок-схеме 400 на фигуре 6).Block 312 checks the condition of the need to check for unauthorized modification of the user-requested row of table T, or rather the security descriptors stored in this row, for further authentication of the user context and processing information from this row of some table. If the condition is met, then block 314 receives the number of the requested row n of table T, and block 315 detects and locates an unauthorized change in the descriptor of the requested row n of the table, or confirms the legitimacy of the security descriptors of this row (for more details, see flowchart 400 in figure 6).

Блок 313 проверяет условие необходимости проверки на несанкционированное изменение дескрипторов некоторую таблицу Т целиком. Данный блок исполняется в случае необходимости выполнения регламентных работ различных объемов. При необходимости проверить таблицу T целиком блок 316 обнаруживает и локализует несанкционированно измененный дескриптор некоторой таблицы Т, либо подтверждает легитимность дескрипторов защиты данной таблицы (подробнее в блок-схеме 600 на фигуре 8).Block 313 checks the condition for the need to check for unauthorized change of descriptors some table T in its entirety. This block is executed if it is necessary to perform maintenance work of various volumes. If it is necessary to check the entire table T, block 316 detects and locates an unauthorizedly modified descriptor of some table T, or confirms the legitimacy of the security descriptors of this table (for more details, see block diagram 600 in figure 8).

После обнаружения и локализации несанкционированно измененного дескриптора защиты блок 317 формирует сигнал тревоги, а блок 318 (подробнее в блок-схеме 500 на фигуре 7) восстанавливает значение данного дескриптора.After detection and localization of an unauthorized changed security descriptor, block 317 generates an alarm, and block 318 (more in block diagram 500 in figure 7) restores the value of this descriptor.

Блок-схема 400 на фигуре 4 отображает процесс интеграции первого из пары столбца кортежей CT, необходимого для обнаружения, локализации и восстановления несанкционированно измененного дескриптора защиты информации некоторой таблицы.Flowchart 400 in Figure 4 depicts the process of integrating the first of a pair of CT tuple columns needed to detect, locate, and recover a tampered information security descriptor for a table.

Блок 401 входных данных передает блоку 402 ссылку на подключение к базе данных, хранящей таблицу контрольных значений Th и некоторую защищаемую таблицу Т, состоящую из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD.The input data block 401 passes to the block 402 a link to a database connection that stores a table of control values T h and some protected table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D .

Блок 402 добавляет в таблицу Th столбец CT из пары интегрируемых столбцов, и увеличивает количество строк таблицы контрольных значений до N, если N не меньше текущего количества строк таблицы Th. Данный столбец будет содержать кортежи С = <0, 0>, элементами которого будут значения HHi хэш-функции и значения SUMi побитовой суммы для каждой i-ой строки (из N строк) защищаемой таблицы T, содержащей дескрипторы защиты.Block 402 adds a column C T from the pair of integrable columns to table T h , and increments the number of rows of the lookout table to N if N is not less than the current number of rows of table T h . This column will contain tuples C = <0, 0>, the elements of which will be the values of HH i of the hash function and the values of SUM i of the bitwise sum for each i-th row (out of N rows) of the protected table T containing protection descriptors.

Блок 403 инициализирует начальные значения маркеров итераций i = 0 и j = 0, а также буферов HHacc = 0, SUMacc = 0 (от англ. «Accumulated» - аккумулируемое (накапливаемое)) и буфера z наименований столбцов дескрипторов защиты.Block 403 initializes the initial values of iteration markers i = 0 and j = 0, as well as buffers HH acc = 0, SUM acc = 0 (accumulated) and buffer z of column names of security descriptors.

Блок 404 увеличивает значение маркера итераций i на 1, что в дальнейшем способствует последовательному перебору всех N строк таблицы Т.Block 404 increments the iteration marker i by 1, further facilitating a sequential iteration of all N rows of table T.

Блок 405 устанавливает значения маркера итераций j и буферов HHacc = 0 и SUMacc = 0 внутри работы цикла.Block 405 sets the iteration marker j and the buffers HH acc = 0 and SUM acc = 0 within the loop operation.

Блок 406 проверяет выполнение условия превышения значением маркера итераций i значения количества строк N таблицы Т, что обеспечивает перебор всех строк данной таблицы и завершение процесса интеграции первого из пары столбцов CT.Block 406 checks that iteration marker i exceeds the number of rows N of table T, which ensures that all rows of this table are iterated and the integration process of the first of the pair of columns C T is completed.

Блок 407 увеличивает значение маркера итераций у на 1, что обеспечивает перебор всех дескрипторов защиты в строке i, а также присваивает буферу z значение j-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 407 increases the value of the iteration marker y by 1, which enumerates all security descriptors in row i, and also assigns the value of the j-th element of the tuple M D to the buffer z, which allows further access to the column of table T by the name of the security descriptor.

Далее блок 408 проверяет выполнение условия непревышения значением маркера итераций у значения М. В случае выполнения условия блока 408 переходят к блоку 409, который прибавляет к накапливаемому значению HHacc значение ячейки i-ой строки столбца z таблицы Т, а также побитово прибавляет к накапливаемому двоичному значению SUMacc значение ячейки i-ой строки столбца z таблицы Т, которая хранит значение некоторого j-го дескриптора защиты. Данная операция в цикле способствует накоплению буферов HHacc и SUMacc. В том случае, если значение маркера итераций у превысило значение М, то блок 410 изменяет значение ячейки столбца CT строки i таблицы Th на значение равное кортежу <hash(HHacc), SUMacc>. Далее происходит переход на следующую строку и перерасчет новых значений контрольных и побитовых сумм дескрипторов защиты.Next, block 408 checks whether the iteration marker value y of the value M is satisfied. the value of SUM acc is the value of the cell of the i-th row of column z of table T, which stores the value of some j-th security descriptor. This operation in the loop contributes to the accumulation of buffers HH acc and SUM acc . In the event that the value of the iteration marker y has exceeded the value M, then block 410 changes the cell value of column C T of row i of table T h to a value equal to the tuple <hash(HH acc ), SUM acc >. Next, there is a transition to the next line and the recalculation of new values of the check and bit sums of the protection descriptors.

Блок-схема 500 на фигуре 5 отображает процесс интеграции второго из пары столбца HVT, необходимого для обнаружения, локализации и восстановления несанкционированно измененного дескриптора защиты информации некоторой таблицы.Flowchart 500 in Figure 5 depicts the process of integrating the second of a pair of HV T columns needed to detect, locate, and recover an tampered information security descriptor for a table.

Блок 501 входных данных передает блоку 502 ссылку на подключение к базе данных, хранящей таблицу контрольных значений Th и некоторую защищаемую таблицу Т, состоящую из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD.The input data block 501 passes to the block 502 a connection link to a database that stores a table of control values T h and some protected table T, consisting of N rows and M columns, where M is equal to the size of the security descriptor tuple M D .

Блок 502 добавляет в таблицу Th столбец HVT из пары интегрируемых столбцов, и увеличивает количество строк таблицы контрольных значений Th до значения М, если значение М не меньше текущего количества строк таблицы контрольных значений. Данный столбец будет содержать значения HVj, элементами которого будут значения хэш-функции для каждого j-го столбца (из кортежа MD) защищаемой таблицы Т, содержащего дескрипторы защиты.Block 502 adds a column HV T of the pair of integration columns to the table T h , and increments the number of rows of the control value table T h to the value M if the value of M is not less than the current number of rows of the control value table. This column will contain the values of HV j , whose elements will be the hash values for each j-th column (of the MD tuple) of the protected table T containing the protection descriptors.

Блок 503 инициализирует начальные значения маркеров итераций i=0 и j=0, а также буферов HVacc = 0 и z наименований столбцов дескрипторов защиты.Block 503 initializes the iteration markers i=0 and j=0, as well as the buffers HV acc = 0 and z of the column names of the security descriptors.

Блок 504 увеличивает значение маркера итераций j на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу z значение j-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 504 increments the value of the iteration marker j by 1, which further contributes to the sequential enumeration of all M columns of the table T containing security descriptors, and also assigns the value of the j-th element of the tuple M D to the buffer z, which allows further access to the column of the table T by the name of the security descriptor.

Блок 505 обнуляет значения маркера итераций у и буфера HVacc = 0 внутри работы цикла.Block 505 resets the iteration marker y and buffer HV acc = 0 within the loop.

Блок 506 проверяет выполнение условия превышения значением маркера итераций у значения количества дескрипторов защиты М таблицы Т, что обеспечивает перебор столбцов, содержащих дескрипторы защиты, данной таблицы и завершение процесса интеграции второго из пары столбцов HVT.Block 506 checks whether the value of the iteration marker value of the value of the number of security descriptors M of the table T exceeds the condition, which ensures that the columns containing the security descriptors of this table are iterated and the integration process of the second of the pair of columns HV T is completed.

Блок 507 увеличивает значение маркера итераций i на 1, что обеспечивает перебор всех дескрипторов защиты в столбце z.Block 507 increments the iteration marker i by 1, which enumerates all security descriptors in column z.

Далее, блок 508 проверяет выполнение условия непревышения значением маркера итераций i значения N количества строк таблицы Т. В случае выполнения условия блока 508 переходят к блоку 509, который прибавляет к накапливаемому значению HVacc значение ячейки i-ой строки столбца z таблицы Т. Данная операция в цикле способствует накоплению буфера HVacc. В том случае, если значение маркера итераций i превысило значение N количества строк таблицы Т, то блок 510 изменяет значение ячейки столбца HVT строки j таблицы Th на значение равное значению хэш-функции от буфера HVacc. Далее происходит переход к следующему столбцу и перерасчет новых значений контрольных сумм дескрипторов защиты.Next, block 508 checks whether the value of iteration marker i does not exceed the value N of the number of rows of table T. If the condition of block 508 is met, go to block 509, which adds the cell value of the i-th row of column z of table T to the accumulated value HV acc . This operation in the cycle contributes to the accumulation of the buffer HV acc . In the event that the value of the iteration marker i has exceeded the value N of the number of rows of table T, then block 510 changes the value of the cell of column HV T of row j of table T h to a value equal to the hash value from the buffer HV acc . Then there is a transition to the next column and recalculation of new values of checksums of protection descriptors.

Блок-схема 600 на фигуре 6 отображает процесс обнаружения и локализации несанкционированно измененного значения дескриптора защиты в определенной строке некоторой таблицы реляционной базы данных. На данной блок-схеме также так же демонстрируется процесс подтверждения легитимности значений дескрипторов запрашиваемой строки в случае отсутствия несанкционированных изменений.Flowchart 600 in Figure 6 depicts the process of detecting and locating an tampered security descriptor value in a specific row of some relational database table. This flowchart also demonstrates the process of confirming the legitimacy of the values of the descriptors of the requested string in the absence of unauthorized changes.

Блок 601 входных данных передает блоку 602 ссылку на подключение к базе данных, хранящей таблицу контрольных значений Th и некоторую защищаемую таблицу Т, состоящую из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, а также индекс k-ой строки, подлежащей проверке на изменения.Input data block 601 passes to block 602 a link to a connection to a database that stores a table of control values T h and some protected table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D , and also the index k-th the line to be checked for changes.

Блок 602 инициализирует начальные значения маркера итераций у = 0, предназначенного для перебора значений дескрипторов строки k, и буфера ННасс = 0 накопления значений дескрипторов в строке.Block 602 initializes the initial values of the iteration marker y = 0, intended for iteration of the values of the descriptors of the row k, and the buffer HH acc = 0 for accumulating the values of the descriptors in the row.

Блок 603 увеличивает значение маркера итераций y на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу q значение y-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 603 increases the value of the iteration marker y by 1, which further contributes to the sequential enumeration of all M columns of the table T containing protection descriptors, and also assigns the value of the y-th element of the tuple M D to the buffer q, which allows further access to the column of the table T by the name of the security descriptor.

Блок 604 проверяет выполнение условия непревышения значением маркера итераций у значения количества дескрипторов защиты М таблицы Т, что обеспечивает перебор столбцов, содержащих дескрипторы защиты, данной таблицы.Block 604 checks that the value of the iteration marker y does not exceed the value of the number of security descriptors M of the table T, which enumerates the columns containing the security descriptors of this table.

В случае выполнения условия блока 604, переходят к блоку 605, который вычисляет накапливаемую сумму значений HHacc равную текущему значению HHacc прибавленному к значению дескриптора защиты строки к столбца q таблицы Т. После чего происходит переход к блоку 603.If the condition of block 604 is met, proceed to block 605, which calculates the accumulated sum of HH acc values equal to the current value of HH acc added to the security descriptor value of row k column q of table T. Then proceed to block 603.

В случае невыполнения условия блока 604 (произойдет перебор всех значений дескрипторов строки k) переходят к блоку 606, который проверяет выполнение условия неравенства значения хэш-функции от накопленного HHacc со значением первого элемента кортежа столбца CT строки k таблицы Th.If the condition of block 604 is not met (it will enumerate all the values of row k descriptors), go to block 606, which checks the inequality condition of the hash function value from the accumulated HH acc with the value of the first element of the tuple of column C T of row k of table T h .

В случае невыполнения условия блока 606 (сравниваемые значения равны), переходят к блоку 607, который подтверждает легитимность данных k-ой строки таблицы Т. Далее происходит завершение процесса.If the condition of block 606 is not met (compared values are equal), go to block 607, which confirms the legitimacy of the data of the k-th row of table T. Next, the process ends.

Выполнение условия блока 606 свидетельствует об обнаружении несанкционированного изменения дескриптора защиты строки k. Далее переходят к стадии его локализации.Fulfillment of the condition of block 606 indicates the detection of an unauthorized change to the security descriptor of string k. Next, we move on to the stage of its localization.

Блок 608 инициализирует начальные значения маркеров итераций j=0 по столбцам таблицы Т и i=0 по столбцу j, а также буфера HVacc = 0 накопления значений дескрипторов в столбце.Block 608 initializes the initial values of the iteration markers j=0 on the columns of the table T and i=0 on the column j, as well as the buffer HV acc = 0 accumulation of descriptor values in the column.

Блок 609 увеличивает значение маркера итераций j на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу z значение j-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 609 increases the value of the iteration marker j by 1, which further contributes to the sequential enumeration of all M columns of the table T containing security descriptors, and also assigns the value of the j-th element of the tuple M D to the buffer z, which allows further access to the column of the table T by the name of the security descriptor.

Блок 610 обнуляет значения маркера итераций i и буфера HVacc.Block 610 resets the iteration marker i and buffer HV acc .

Блок 611 увеличивает значение маркера итераций i по столбцу z.Block 611 increments the value of the iteration marker i in column z.

Блок 612 проверяет выполнение условия непревышения значением маркера итераций i значения количества строк N таблицы Т. В случае выполнения условия блока 612 переходят к блоку 613, который вычисляет накапливаемую сумму значений HVacc столбца равную текущему значению HVacc прибавленному к значению дескриптора защиты строки i столбца z таблицы Т. После чего происходит переход к блоку 611.Block 612 checks that the value of iteration marker i does not exceed the value of the number of rows N of table T. If the condition of block 612 is met, proceed to block 613, which calculates the accumulative sum of column HV acc values equal to the current value of HV acc added to the security descriptor value of row i of column z table T. Then proceed to block 611.

В случае невыполнения условия блока 612 (перебора всех значений дескрипторов столбца j), переходят к блоку 614, который проверяет выполнение условия неравенства значения хэш-функции от накопленного HVacc со значением столбца HVT строки j таблицы Th.If the condition of block 612 (enumeration of all values of column j descriptors) is not met, go to block 614, which checks the inequality condition of the hash function value from the accumulated HV acc with the value of column HV T of row j of table T h .

Невыполнение условия блока 614 свидетельствует о том, что значения j-го столбца легитимны, и далее осуществляется переход к блоку 609 (к проверке следующего столбца на равенство сравниваемых хэш-сумм).Failure to comply with the condition of block 614 indicates that the values of the j-th column are legitimate, and then proceed to block 609 (to check the next column for equality of the compared hash sums).

Выполнение условия блока 614 свидетельствует о том, что завершилась стадия локализации несанкционированно измененного блока данных, и блок 615 возвращает индекс строки к и имя столбца z, определяющие несанкционированно измененное значение дескриптора защиты таблицы Т.Execution of the condition of block 614 indicates that the tampered data block localization stage has completed, and block 615 returns a row index k and a column name z specifying the tampered value of the security descriptor of table T.

Блок-схема 700 на фигуре 7 отображает процесс восстановления несанкционированно измененного дескриптора защиты информации некоторой таблицы.Flowchart 700 in Figure 7 depicts the process of restoring an unauthorizedly changed information security descriptor of a certain table.

Блок 701 входных данных передает блоку 702 ссылку на подключение кInput block 701 passes block 702 a link to connect to

базе данных, хранящей таблицу контрольных значений Th и некоторую защищаемую таблицу Т, состоящую из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD. Также блок передает индекс строки к и имя столбца z, определяющие несанкционированно измененную ячейку таблицы Т.a database that stores a table of control values T h and some protected table T, consisting of N rows and M columns, where M is equal to the size of the security descriptor tuple M D . The block also passes the row index k and the column name z, which define an unauthorized cell of the table T.

Блок 702 инициализирует начальные значения маркера итераций у = 0 и буферов: начального значения восстанавливаемой ячейки строки к таблицы Т в битах SUMacc равного значению второго элемента кортежа для строки к таблицы Т в таблице Th и наименований столбцов дескрипторов защиты q.Block 702 initializes the initial values of the iteration marker y = 0 and buffers: the initial value of the restored cell of row k of table T in bits SUM acc equal to the value of the second element of the tuple for row k of table T in table T h and the names of columns of security descriptors q.

Блок 703 увеличивает значение маркера итераций j на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу q значение j-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 703 increases the value of the iteration marker j by 1, which further contributes to the sequential enumeration of all M columns of the table T containing security descriptors, and also assigns the value of the j-th element of the tuple M D to the buffer q, which allows further access to the column of the table T by the name of the security descriptor.

Блок 704 проверяет выполнение условия превышения значением маркера итераций у значения количества дескрипторов защиты М таблицы Т, что обеспечивает перебор столбцов, содержащих дескрипторы защиты, данной таблицы. В случае невыполнения условия блока 704 (не осуществлен перебор всех столбцов с дескрипторами защиты) переходят к блоку 706, который проверяет выполнение условия равенства значения буфера q со значением имени столбца измененной ячейки z. В случае выполнения условия блока 706 переходят к блоку 703, так как при восстановлении исходного значения ячейки методом побитового сложения от изначальной побитовой суммы, само побитовое значение ячейки учитывать нельзя в связи с его несанкционированным изменением. В случае невыполнения условия блока 706, переходят к блоку 707, который вычисляет целевое аккумулируемое значение в битах SUMacc, равное побитовому прибавлению к текущему значению побитовой суммы SUMacc значения строки k столбца q таблицы Т.Block 704 checks whether the value of the iteration marker value y exceeds the value of the number of security descriptors M of the table T, which enumerates the columns containing the security descriptors of this table. If the condition of block 704 is not met (all columns with security descriptors have not been enumerated), go to block 706, which checks whether the condition of equality of the value of the buffer q with the value of the column name of the changed cell z is satisfied. If the condition of block 706 is met, go to block 703, since when restoring the original value of the cell by the method of bitwise addition from the original bitwise sum, the bitwise value of the cell itself cannot be taken into account due to its unauthorized change. If the condition of block 706 is not met, proceed to block 707, which calculates the target accumulated value in bits SUM acc , equal to the bitwise addition to the current value of the bitwise sum SUM acc of the value of row k of column q of table T.

Таким образом, когда проверяемое условие блока 704 выполнится (произойдет перебор всех столбцов, содержащих дескрипторы защиты), происходит переход к блоку 705.Thus, when the condition of block 704 to be checked is true (iterate over all columns containing security descriptors), a transition occurs to block 705.

Блок 705 изменяет текущее несанкционированно измененное значение дескриптора защиты информации в строке k и столбце z таблицы Т на значение буфера SUMacc (то есть восстанавливает исходное значение ячейки) той же кодировки, что и текущее значение.Block 705 changes the current tampered value of the information security descriptor in row k and column z of table T to a buffer value SUM acc (ie, restores the original cell value) of the same encoding as the current value.

Блок-схема 800 на фигуре 8 описывает процесс обнаружения и локализации несанкционированно измененного значения дескриптора защиты некоторой таблицы реляционной базы данных. На данной блок-схеме также демонстрируется процесс проверки легитимности значений дескрипторов защиты некоторой таблицы в случае отсутствия несанкционированных изменений. Данный алгоритм необходим для проверки на легитимность некоторой таблицы в целом.Flowchart 800 in Figure 8 describes the process of detecting and locating an tampered security descriptor value of a relational database table. This flowchart also demonstrates the process of checking the legitimacy of the values of the security descriptors of a certain table in the absence of unauthorized changes. This algorithm is necessary to check the legitimacy of some table as a whole.

Блок 801 входных данных передает блоку 802 ссылку на подключение к базе данных, хранящей таблицу контрольных значений Th и некоторую защищаемую таблицу Т, состоящую из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD.The input data block 801 passes to the block 802 a connection link to a database that stores a table of control values T h and some protected table T, consisting of N rows and M columns, where M is equal to the size of the security descriptor tuple M D .

Блок 802 инициализирует начальное значение маркера итераций k = 0, предназначенного для перебора всех строк таблицы Т.Block 802 initializes the iteration marker k = 0 to iterate over all rows of table T.

Блок 803 увеличивает значение маркера итераций k на 1, что способствует переходу к следующей строке таблицы Т.Block 803 increments the iteration marker k by 1 to advance to the next row of table T.

Блок 804 проверяет выполнение условия непревышения маркером итераций к количества строк N таблицы Т, что обеспечивает перебор всех строк таблицы Т.Block 804 checks that the iteration marker does not exceed k for the number of rows N of table T, which ensures that all rows of table T are iterated.

В случае невыполнения условия блока 804 переходят к блоку 816, который подтверждает легитимность дескрипторов защиты таблицы Т, и процесс завершается.If the conditions of block 804 are not met, proceed to block 816, which validates the security descriptors of table T, and the process ends.

А в случае, если не был произведен перебор всех строк таблицы Т, происходит переход к блоку 805.And in the event that all rows of table T have not been searched, a transition occurs to block 805.

Блок 805 инициализирует начальные значения маркера итераций у = 0, предназначенного для перебора значений дескрипторов строки k, и буфера HHacc = 0 накопления значений дескрипторов в строке.Block 805 initializes the iteration marker y = 0 for iterating through the values of the row descriptors k, and the buffer HH acc = 0 for accumulating the values of the descriptors in the row.

Блок 806 увеличивает значение маркера итераций у на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу q значение y-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 806 increases the value of the iteration marker y by 1, which further contributes to the sequential enumeration of all M columns of table T containing protection descriptors, and also assigns to buffer q the value of the y-th element of the tuple M D , which allows further access to the column of table T by the name of the security descriptor.

Блок 807 проверяет выполнение условия непревышения значением маркера итераций у значения количества дескрипторов защиты М таблицы Т, что обеспечивает перебор столбцов, содержащих дескрипторы защиты, данной таблицы.Block 807 checks that the value of the iteration marker y does not exceed the value of the number of security descriptors M of table T, which enumerates the columns containing the security descriptors of this table.

В случае выполнения условия блока 807, переходят к блоку 808, который вычисляет накапливаемую сумму значений HHacc равную текущему значению HHacc прибавленному к значению дескриптора защиты строки к столбца q таблицы Т. После чего происходит переход к блоку 806.If the condition of block 807 is met, proceed to block 808, which calculates the accumulated sum of HH acc values equal to the current value of HH acc added to the security descriptor value of row k column q of table T. Then proceed to block 806.

В случае невыполнения условия блока 807 (произойдет перебор всех значений дескрипторов строки к) переходят к блоку 809, который проверяет условие равенства значения хэш-функции от накопленного HHacc со значением первого элемента кортежа столбца CT строки k таблицы Th.If the condition of block 807 is not met (it will enumerate all the values of row k descriptors), go to block 809, which checks the condition of equality of the hash function value from the accumulated HH acc with the value of the first element of the tuple of column C T of row k of table T h .

В случае невыполнения условия блока 809 (сравниваемые значения равны) переходят к блоку 803 (переход на следующую строку таблицы 7).If the condition of block 809 is not met (compared values are equal), go to block 803 (go to the next line of table 7).

Выполнение условия блока 809 свидетельствует об обнаружении факта несанкционированного изменения дескриптора защиты строки k. Далее происходит переход к стадии его локализации.Fulfillment of the condition of block 809 indicates the detection of the fact of unauthorized change of the protection descriptor of the line k. Then there is a transition to the stage of its localization.

Блок 810 инициализирует начальные значения маркеров итераций j = 0 (по столбцам таблицы Т) и i = 0 (по столбцу j), а также буферов z = 0 и HVacc = 0 накопления значений дескрипторов в столбце.Block 810 initializes the initial values of iteration markers j = 0 (by columns of table T) and i = 0 (by column j), as well as buffers z = 0 and HV acc = 0 for accumulating descriptor values in a column.

Блок 811 увеличивает значение маркера итераций j на 1, что в дальнейшем способствует последовательному перебору всех М столбцов таблицы Т, содержащих дескрипторы защиты, а так же присваивает буферу z значение j-го элемента кортежа MD, что позволяет в дальнейшем обращаться к столбцу таблицы Т по наименованию дескриптора защиты.Block 811 increases the value of the iteration marker j by 1, which further contributes to the sequential enumeration of all M columns of the table T containing protection descriptors, and also assigns the value of the j-th element of the tuple M D to the buffer z, which allows further access to the column of the table T by the name of the security descriptor.

Блок 812 обнуляет значения маркера итераций i и буфера HVacc.Block 812 resets the iteration marker i and buffer HV acc .

Блок 813 увеличивает значение маркера итераций i по столбцу z.Block 813 increments the value of the iteration marker i in column z.

Блок 814 проверяет выполнение условия непревышения значением маркера итераций i значения количества строк N таблицы Т. В случае выполнения условия блока 814 переходят к блоку 815, который вычисляет накапливаемую сумму значений HVacc столбца равную текущему значению HVacc прибавленному к значению дескриптора защиты строки i столбца z таблицы Т. После чего происходит переход к блоку 813.Block 814 checks that the value of iteration marker i does not exceed the value of the number of rows N of table T. If the condition of block 814 is met, proceed to block 815, which calculates the accumulative sum of the column values HV acc equal to the current value of HV acc added to the value of the security descriptor row i column z table T. Then proceed to block 813.

В случае невыполнения условия блока 814 (произойдет перебор всех значений дескрипторов столбца j) переходят к блоку 817, который проверяет выполнение условия неравенства значения хэш-функции от накопленного HVacc со значением столбца HVT строки j таблицы Th.If the condition of block 814 is not met (it will enumerate all the values of the descriptors of column j), go to block 817, which checks the inequality condition of the hash function value from the accumulated HV acc with the value of the HV T column of row j of table T h .

В случае невыполнения условия блока 817 считают, что значения j-го столбца легитимны, и переходят к блоку 811 (к проверке следующего столбца на равенство сравниваемых хэш-сумм).If the condition of block 817 is not met, it is considered that the values of the j-th column are legitimate, and go to block 811 (to check the next column for equality of the compared hash sums).

В случае выполнения условия блока 817 считают, что завершилась стадия локализации несанкционированно измененного блока данных, и переходят к блоку 818, который возвращает индекс строки к и имя столбца z, определяющие несанкционированно измененное значение дескриптора защиты таблицы 7.If the condition of block 817 is met, it is considered that the stage of localization of the unauthorizedly modified data block has completed, and proceed to block 818, which returns the row index k and the column name z, which determine the illegally modified value of the security descriptor of table 7.

Claims (1)

Способ защиты дескрипторов реляционной базы данных, основанный на том, что берут пользовательский контекст, выбирают строку, подлежащую рассмотрению при построении результата запроса, сравнивают дескриптор защиты строк с дополнительно заданными списками разрешенных IP-адресов, HWID-номеров и ролей пользователей структурных элементов автоматизированной системы с информацией из пользовательского контекста и в случае их несовпадения проверяют наличие оставшихся строк в таблице базы данных, а при их совпадении проверяют вклад строки базы данных в результат запроса и при его отсутствии переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а в случае его наличия используют упомянутую строку при построении результата запроса и проверяют наличие оставшихся строк в таблице базы данных, в случае их наличия переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при их отсутствии выводят результат запроса в соответствии с правом доступам выполнением преобразования результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра, отличающийся тем, что способ защиты дескрипторов реляционной базы данных содержит: интеграцию столбца кортежей СT в таблицу контрольных значений Th, хранящуюся в реляционной базе данных, заключающуюся в том, что изначально имеются таблица контрольных значений Th и таблица T, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, в таблицу контрольных значений Th добавляют столбец CT, элементы которого являются кортежами <0, 0>, состоящими из двух элементов, инициализируют маркеры итерации i и j, изначально равные 0, а также буферы HHacc, SUMacc и z, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций i на 1, устанавливают значения маркера итерации j и буферов HHacc, SUMacc равными 0, проверяют выполнение условия превышения значением маркера итераций i значения N, в том случае, если условие выполняется, происходит завершение процесса, а в случае, если условие не выполняется, происходит переход к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, затем проверяют выполнение условия не превышения значением маркера итераций у значения М, в том случае, если условие выполняется, к текущему значению буфера HHacc прибавляют значение ячейки в строке i столбца z таблицы Т (далее Ti(z)), а к текущему значению буфера SUMacc побитово прибавляют значение ячейки Ti(z) и возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, заменяют значение ячейки i-й строки столбца CT таблицы Th кортежем, состоящим из двух элементов, а именно: значение хэш-функции от значения буфера HHacc в качестве первого элемента и значение буфера SUMacc в качестве второго, затем возвращаются к шагу инкрементации значения маркера итераций i на 1, алгоритм интеграции столбца хэш-сумм HVT в таблицу контрольных значений, хранящуюся в реляционной базе данных, заключающийся в том, что изначально имеются таблица контрольных значений Th, и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, в таблицу контрольных значений Th добавляют столбец HVT, изначально заполненный пустыми значениями, инициализируют маркеры итераций i и j, изначально равные 0, а также буферы HVacc и z, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, устанавливают значения маркера итерации i и буфера HVacc равным 0, проверяют выполнение условия превышения значением маркера итераций у значения М, в том случае, если условие выполняется, происходит завершение процесса, а в случае, если условие не выполняется, происходит переход к шагу инкрементации значения маркера итераций i на 1, затем проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z) и возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, заменяют значение j-го элемента столбца HVT таблицы Th значением хэш-функции от значения буфера HVacc, затем возвращаются к шагу инкрементации значения маркера итераций j на 1, алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в строке таблицы реляционной базы данных, заключающийся в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, а также получен индекс строки k таблицы Т, проверку которой необходимо осуществить, далее инициализируют маркер итераций у и буфер HHacc, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций у на 1 и присвоения буферу q значения y-го элемента кортежа MD, после чего проверяют выполнение условия не превышения значением маркера итераций у значения М, в том случае, если условие выполняется, к текущему значению буфера HHacc прибавляют значение ячейки Tk(q) и возвращаются к шагу инкрементации значения маркера итераций у на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HHacc со значением первого элемента кортежа в столбце CT строке k таблицы Th, в том случае, если условие выполняется, происходит подтверждение легитимности дескрипторов защиты k-й строки таблицы Т, а затем завершается процесс, а в случае, если условие не выполняется, инициализируют маркеры итераций i и j, изначально равные 0, а также буфер HVacc, изначально равный 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, после чего присваивают значение 0 маркеру итераций i и буферу HVacc, затем переходят к шагу инкрементации значения маркера итераций i на 1, после чего проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z), после чего возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HVacc со значением ячейки j-й строки столбца HVT в таблице Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, формируют выходные данные, состоящие из текущих значений индекса строки k и имени столбца z, определяющих измененную ячейку таблицы T, после чего происходит завершение процесса, алгоритм восстановления несанкционированно измененного дескриптора защиты в таблице реляционной базы данных, заключающийся в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты Md, а также получены индекс строки k и имя столбца z, определяющие ячейку таблицы Т, значение которой необходимо восстановить, далее инициализируют маркер итераций у, изначально равный 0, а также буферы q, изначально равные 0, и SUMacc, равный значению второго элемента кортежа строки k столбца CT таблицы Th, затем переходят к шагу инкрементации значения маркера итераций j на 7 и присвоения буферу q значения j-го элемента кортежа MD, после чего проверяют выполнение условия превышения значением маркера итераций j значения М, в том случае, если условие выполняется, заменяют значение ячейки Tk(z) текущим значением буфера SUMacc, после чего происходит завершение процесса, а в случае, если условие не выполняется, проверяют выполнение условия равенства текущего значения буфера наименования столбца q с наименованием столбца z, в том случае, если условие выполняется, возвращаются к шагу инкрементации маркера итераций j на 1, а в случае, если условие не выполняется, к текущему значению буфера SUMacc побитово прибавляют значение ячейки Tk(q), после чего возвращаются к шагу инкрементации значения маркера итераций i на 1, алгоритм обнаружения и локализации несанкционированно измененного значения дескриптора защиты в таблице реляционной базы данных, заключающийся в том, что изначально имеются таблица контрольных значений Th и таблица Т, состоящая из N строк и М столбцов, где М равно размеру кортежа дескрипторов защиты MD, далее инициализируют маркер итераций k, изначально равный 0, после чего переходят к шагу инкрементации значения маркера итераций k на 1, затем проверяют выполнение условия не превышения значением маркера итераций k значения N, в том случае, если условие не выполняется, происходит подтверждение легитимности дескрипторов защиты, хранящихся в таблице Т, после чего происходит завершение процесса, а в случае, если условие выполняется, инициализируют маркер итераций у и буфер HHacc, изначально равные О, затем переходят к шагу инкрементации значения маркера итераций у на 1 и присвоения буферу q значения у-го элемента кортежа MD, после чего проверяют выполнение условия не превышения значением маркера итераций у значения М, в том случае, если условие выполняется, к текущему значению буфера HHacc прибавляют значение ячейки Tk(q) и возвращаются к шагу инкрементации значения маркера итераций у на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HHacc со значением первого элемента кортежа строки k столбца CT таблицы Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций k на 1, а в случае, если условие не выполняется, инициализируют маркеры итераций j и i, изначально равные 0, а также буферы z и HVacc, изначально равные 0, затем переходят к шагу инкрементации значения маркера итераций j на 1 и присвоения буферу z значения j-го элемента кортежа MD, после чего устанавливают значения маркера итераций i и буфера HVacc равными 0, затем переходят к шагу инкрементации значения маркера итераций i на 1, после чего проверяют выполнение условия не превышения значением маркера итераций i значения N, в том случае, если условие выполняется, к текущему значению буфера HVacc прибавляют значение ячейки Ti(z), после чего возвращаются к шагу инкрементации значения маркера итераций i на 1, а в случае, если условие не выполняется, проверяют выполнение условия равенства значения хэш-функции от значения буфера HVacc со значением ячейки j-й строки столбца HVT в таблице Th, в том случае, если условие выполняется, возвращаются к шагу инкрементации значения маркера итераций j на 1, а в случае, если условие не выполняется, формируют выходные данные, состоящие из текущих значений индекса строки k и имени столбца z, определяющих измененную ячейку таблицы Т, после чего происходит завершение процесса.A method for protecting relational database descriptors based on taking a user context, selecting a string to be considered when constructing a query result, comparing the string protection descriptor with additionally specified lists of allowed IP addresses, HWID numbers and user roles of structural elements of an automated system with information from the user context, and if they do not match, they check the presence of the remaining rows in the database table, and if they match, they check the contribution of the database row to the query result and, if it is absent, proceed to the selection of the row to be considered when constructing the query result, and if it is presence, use the mentioned string when constructing the query result and check the presence of the remaining rows in the database table, if they exist, go to the selection of the row to be considered when constructing the query result, and if they are absent, the query result is displayed in accordance with the access right by performing the transformation of the query result by the encoding method in accordance with the given transformation function F(x) by the key X received from the Certification Authority, characterized in that the method of protecting the descriptors of the relational database includes: integrating the column of tuples C T into the table of control values T h , stored in a relational database, consisting in the fact that initially there is a table of control values T h and a table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D , column C T is added to the table of control values T h , whose elements are two-tuples <0, 0>, initialize the iteration markers i and j to initial 0, and the buffers HH acc , SUM acc , and z to initial 0, then proceed to increment the iteration marker value i to 1, set values of iteration marker j and buffers HH acc , SUM acc equal to 0, check whether the condition for exceeding m iterations marker i of value N, if the condition is met, the process is terminated, and if the condition is not met, the transition to the step of incrementing the value of the iterations marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z , then check the fulfillment of the condition that the value of the iteration marker y does not exceed the value of M, in the event that the condition is met, the current value of the buffer HH acc is added to the value of the cell in row i of column z of table T (hereinafter T i (z)), and to the current value the value of the buffer SUM acc is added bit by bit to the value of the cell T i (z) and returned to the step of incrementing the value of the iteration marker j by 1, and if the condition is not met, the value of the cell of the i-th row of the CT column of the table T h is replaced with a tuple consisting of two elements, namely: the hash value of the HH acc buffer value as the first element and the SUM acc buffer value as the second element, then return to the increment step of the iteration marker value i by 1, an algorithm for integrating a hash sum column HV T into a check value table stored in a relational database, which consists in the fact that initially there is a check value table T h and a table T consisting of N rows and M columns, where M is equal to the size of the tuple of protection descriptors M D , add the column HV T , initially filled with empty values, to the table of control values T h , initialize the iteration markers i and j, initially equal to 0, and also the buffers HV acc and z, initially equal to 0, then proceed to step of incrementing the value of the iteration marker j by 1 and assigning to the buffer z the value of the j-th element of the tuple M D , set the values of the iteration marker i and the buffer HV acc to 0, check the condition that the iteration marker value y exceeds the value M, if the condition is executed, the process is terminated, and if the condition is not met, the transition to the step of incrementing the value of the iteration marker i by 1 takes place, then the execution is checked. condition that the value of the iteration marker i does not exceed the value N, if the condition is met, the value of the cell T i (z) is added to the current value of the buffer HV acc and the value of the iteration marker i is returned to the step of incrementing the value of the iteration marker i by 1, and if the condition is not met, replace the value of the j-th element of the column HV T of the table T h with the value of the hash function from the value of the buffer HV acc , then return to the step of incrementing the value of the iteration marker j by 1, the algorithm for detecting and locating an unauthorized changed value of the security descriptor in the row of the table relational database, which consists in the fact that initially there is a table of control values T h and a table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors M D implement, then initialize the iteration marker y and the buffer HH acc , initially equal to 0, then go to the step of incrementing the marker value and iterations y by 1 and assigning to the buffer q the value of the y-th element of the tuple M D , after which the condition is checked that the value of the iteration marker y does not exceed the value M, if the condition is met, the value of the cell T k is added to the current value of the buffer HH acc (q) and return to the step of incrementing the value of the iteration marker y by 1, and if the condition is not met, check the fulfillment of the condition of equality of the hash function value from the value of the buffer HH acc with the value of the first element of the tuple in column C T row k of table T h , if the condition is met, the legitimacy of the protection descriptors of the kth row of the table T is confirmed, and then the process is terminated, and if the condition is not met, iteration markers i and j are initialized, initially equal to 0, as well as the buffer HV acc , initially equal to 0, then go to the step of incrementing the value of the iteration marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z, after which the value is assigned 0 to iteration marker i and buffer HV acc , then go to the step of incrementing the value of iteration marker i by 1, after which the condition is checked that the value of iteration marker i does not exceed the value N, if the condition is met, to the current value of the buffer HV acc add the value of the cell T i (z), then return to the step of incrementing the value of the iteration marker i by 1, and if the condition is not met, check the fulfillment of the condition of equality of the hash function value from the value of the buffer HV acc with the value of the jth cell the rows of the HV T column in the table T h , if the condition is met, return to the step of incrementing the value of the iteration marker j by 1, and if the condition is not met, they form the output data consisting of the current values of the row index k and the name column z that define the changed cell of the table T, after which the process is terminated, the algorithm for restoring an unauthorizedly changed protection descriptor in the relay table ational database, which consists in the fact that initially there is a table of control values T h and a table T, consisting of N rows and M columns, where M is equal to the size of the tuple of security descriptors Md, and the row index k and column name z are obtained, which determine the cell table T, the value of which needs to be restored, then initialize the iteration marker y, initially equal to 0, as well as buffers q, initially equal to 0, and SUM acc , equal to the value of the second element of the tuple of row k of column C T of table T h , then go to the increment step values of the iteration marker j by 7 and assigning to the buffer q the value of the j-th element of the tuple M D , after which the condition is checked for the value of the iteration marker j to exceed the value of M, if the condition is met, the value of the cell T k (z) is replaced by the current value buffer SUM acc , after which the process is terminated, and if the condition is not met, the condition of equality of the current value of the name buffer is checked column q with the name of the column z, if the condition is met, return to the iteration marker increment step j by 1, and if the condition is not met, the value of the cell T k (q) is added bit by bit to the current value of the SUM acc buffer, after which they return to the step of incrementing the value of the iteration marker i by 1, the algorithm for detecting and locating an unauthorized changed value of the security descriptor in the relational database table, which consists in the fact that initially there is a table of control values T h and a table T, consisting of N rows and M columns, where M is equal to the size of the tuple of protection descriptors M D , then initialize the iteration marker k, initially equal to 0, after which they proceed to the step of incrementing the value of the iteration marker k by 1, then check the condition that the value of the iteration marker k value does not exceed the value of N, including If the condition is not met, the legitimacy of the security descriptors stored in the table T is confirmed. After that, the process is terminated, and if the condition is met, initialize the iteration marker y and the buffer HH acc , initially equal to 0, then go to the step of incrementing the value of the iteration marker y by 1 and assigning to buffer q the value of the y-th element of the tuple M D , after which they check the fulfillment of the condition that the value of the iteration marker y does not exceed the value M, if the condition is met, the value of the cell T k (q) is added to the current value of the buffer HH acc and the value of the iteration marker y is incremented by 1, and if the condition is not met, the fulfillment of the condition of equality of the hash function value from the value of the buffer HH acc with the value of the first element of the tuple of row k of the column C T of the table T h is checked, if the condition is met, they return to the step of incrementing the value of the iteration marker k by 1, and if the condition is not met, iteration markers j and i are initialized, initially equal to 0, as well as buffers z and HV acc , initially equal to 0, then go to the step of incrementing the value of the iterations marker j by 1 and assigning the value of the j-th element of the tuple M D to the buffer z, after which set the values of the iterations marker i and the buffer HV acc equal to 0, then go to the step of incrementing the value of the iterations marker i by 1, after which the condition is checked that the value of the iteration marker i does not exceed the value N, if the condition is met, the value of the cell T i (z) is added to the current value of the buffer HV acc , after which the value of the iteration marker i is returned to the increment step by 1, and if the condition is not met, the fulfillment of the condition of equality of the hash function value from the value of the buffer HV acc with the value of the cell of the j-th row of the HV T column in the table T h is checked, if the condition is met, they return to step of incrementing the value of the iteration marker j by 1, and if the condition is not met, the output data is formed, consisting of the current values of the row index k and the column name z, defining the changed cell of the table T, after which the process is terminated.
RU2021109601A 2021-04-06 Method of protecting relational database descriptors RU2774098C1 (en)

Publications (1)

Publication Number Publication Date
RU2774098C1 true RU2774098C1 (en) 2022-06-15

Family

ID=

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1501801A3 (en) * 1987-09-03 1994-02-15 В.М. Тюлькин Method for information recovery in memory gate
US20080147595A1 (en) * 2006-12-15 2008-06-19 International Business Machines Corporation Self-protecting database tables
RU2613039C2 (en) * 2011-03-23 2017-03-14 Ксилопикс Method for refinement of search results in database
US10268721B2 (en) * 2013-11-07 2019-04-23 Salesforce.Com, Inc Protected handling of database queries
RU2709288C1 (en) * 2019-03-04 2019-12-17 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Secure method of access to database
RU2715027C2 (en) * 2018-06-29 2020-02-21 Акционерное общество "Лаборатория Касперского" Method of detecting unauthorized changes to certificate store
RU2745679C1 (en) * 2020-07-08 2021-03-30 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method for conducting migration and data replication using secured database access technology

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1501801A3 (en) * 1987-09-03 1994-02-15 В.М. Тюлькин Method for information recovery in memory gate
US20080147595A1 (en) * 2006-12-15 2008-06-19 International Business Machines Corporation Self-protecting database tables
RU2613039C2 (en) * 2011-03-23 2017-03-14 Ксилопикс Method for refinement of search results in database
US10268721B2 (en) * 2013-11-07 2019-04-23 Salesforce.Com, Inc Protected handling of database queries
RU2715027C2 (en) * 2018-06-29 2020-02-21 Акционерное общество "Лаборатория Касперского" Method of detecting unauthorized changes to certificate store
RU2709288C1 (en) * 2019-03-04 2019-12-17 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Secure method of access to database
RU2745679C1 (en) * 2020-07-08 2021-03-30 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method for conducting migration and data replication using secured database access technology

Similar Documents

Publication Publication Date Title
US6725240B1 (en) Apparatus and method for protecting against data tampering in an audit subsystem
Hu et al. A data mining approach for database intrusion detection
US10222987B2 (en) Data deduplication with augmented cuckoo filters
Guo et al. A fragile watermarking scheme for detecting malicious modifications of database relations
US20100212017A1 (en) System and method for efficient trust preservation in data stores
CN107220559B (en) Encryption storage method for non-tamperable file
RU2351978C2 (en) Method for provision of data records set integrity
US20050289187A1 (en) System and method for investigating a data operation performed on a database
Kamel A schema for protecting the integrity of databases
Guo Fragile watermarking scheme for tamper detection of relational database
Antonopoulos et al. SQL ledger: Cryptographically verifiable data in azure SQL database
CN111914278A (en) Input data checking method of database and database management system
CN101236587B (en) Outsourced database enquiry and verification method based on fragile watermark
RU2774098C1 (en) Method of protecting relational database descriptors
CN117459230A (en) Key hosting method based on blockchain and key sharing
US11256824B2 (en) Securing database backups with unique global identifier
CN100452026C (en) Data once writing method and database safety management method based on the same method
Frank et al. Percival: A searchable secret-split datastore
CN112966310B (en) SQLite-based fine-grained data integrity verification method and device
CN102270323A (en) Multi-security cigarette digital anti-counterfeiting method
Silvério et al. Efficient data integrity checking for untrusted database systems
Ramachandran et al. Intrusion Prevention System in RDBMS
Rajguru et al. Database tamper detection and analysis
Sharma et al. Detecting insider attacks on databases using blockchains
Morovat et al. Verifying integrity of big data in cloud databases