RU2709288C1 - Secure method of access to database - Google Patents

Secure method of access to database Download PDF

Info

Publication number
RU2709288C1
RU2709288C1 RU2019106245A RU2019106245A RU2709288C1 RU 2709288 C1 RU2709288 C1 RU 2709288C1 RU 2019106245 A RU2019106245 A RU 2019106245A RU 2019106245 A RU2019106245 A RU 2019106245A RU 2709288 C1 RU2709288 C1 RU 2709288C1
Authority
RU
Russia
Prior art keywords
database
user
access
hwid
query result
Prior art date
Application number
RU2019106245A
Other languages
Russian (ru)
Inventor
Игорь Дмитриевич Королёв
Владимир Игоревич Попов
Сергей Александрович Коноваленко
Роман Иванович Захарченко
Original Assignee
федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации filed Critical федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации
Priority to RU2019106245A priority Critical patent/RU2709288C1/en
Application granted granted Critical
Publication of RU2709288C1 publication Critical patent/RU2709288C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to computer systems and methods for providing secure access to a database. Technical result is achieved due to that preset allowed IP addresses, HWID numbers and roles of users of structural elements of automated system in form of sets of IPallow={IP1, IP2, …, IPn}, Hallow={H1, H2, …, Hn} and Rallow={R1, R2, …, Rm} for high verification of access rights to the database, and after receiving information including a request and a user context, comparing IP addresses, HWID numbers and user roles from the user context with multiple allowed IP addresses, HWID numbers and user roles in the storage device. In case if at least one of conditions is not satisfied, then an alarm signal is generated and information is output in compliance with access right, and when all conditions are met, the selection of the row to be considered when constructing the query result, and in the absence of rows in the DB table, the result of the request is converted in accordance with the specified conversion function F(x) by the key X and the result of the request is output in accordance with the access right in the encoded form.
EFFECT: high level of protecting access to a database while reducing computational load on a database.
1 cl, 9 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Заявленное изобретение относится к вычислительным системам, а именно к способу, который связан с компьютерными базами данных (БД) и электронными хранилищами для предоставления защищенного доступа к БД и безопасного вывода информации.The claimed invention relates to computing systems, and in particular to a method that is associated with computer databases (DB) and electronic storages to provide secure access to the database and secure output of information.

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

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

Известен способ управления многомерной базой данных (МБД) по патенту РФ №2389066 «Многомерная база данных и способ управления многомерной базой данных», (класс G06F 13/14, заявл. 28.05.2008). В известном способе осуществляют многомерный доступ к БД и описывают способ управления ими.A known method of managing a multidimensional database (MDB) according to the patent of the Russian Federation No. 2389066 "Multidimensional database and method of managing a multidimensional database", (class G06F 13/14, declared. 05.28.2008). In the known method carry out multidimensional access to the database and describe a way to manage them.

Недостатком данного способа является специализированное узконаправленное обеспечение безопасности информации в БД согласно многомерных векторов дескрипторов защиты, не предусматривающее дополнительных мер защиты.The disadvantage of this method is the specialized narrowly focused information security in the database according to multidimensional vectors of security descriptors, which does not provide additional security measures.

Известен способ хранения и поиска информации в системе управления базами данных (СУБД) по патенту РФ №2417424 «Способ компрессии многомерных данных для хранения и поиска информации в системе управления базами данных и устройство для его осуществления», (класс G06F 17/30, заявл. 30.12.2009). Известный способ позволяет сжимать индексы, данные, повторяющиеся части элементов, используя сформированный групповой словарь, а также позволяет сжимать повторяющиеся части текстовых строк, дат и других типов данных, используя байтовый и битовый шаблоны.A known method of storage and retrieval of information in a database management system (DBMS) according to the patent of the Russian Federation No. 2417424 "Method for compressing multidimensional data for storage and retrieval of information in a database management system and device for its implementation", (class G06F 17/30, decl. 12/30/2009). The known method allows you to compress indices, data, repeating parts of elements using the generated group dictionary, and also allows you to compress repeating parts of text strings, dates and other types of data using byte and bit patterns.

Недостатком данного способа является относительно низкая проработка защищенности доступа к многомерным данным, при этом невозможно гарантировать надежность хранения информации, без ее защищенности.The disadvantage of this method is the relatively low security design of access to multidimensional data, while it is impossible to guarantee the reliability of information storage without its security.

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

Наиболее близким по своей технической сущности к заявленному является способ защищенного доступа к БД по патенту РФ №2373571 «Системы и способы, осуществляемого посредством доступа на уровне мелких структурных единиц управления данными, хранящимися в реляционных базах данных», (класс G06F 12/14, заявл. 26.07.2004, опубл. 20.11.2009 бюл. №32). Способ-прототип включает следующую последовательность действий. Принимают информацию, включающую в себя запрос и пользовательский контекст, выбирают строку, подлежащую рассмотрению при построении результата запроса, сравнивают дескриптор защиты строки с информацией из пользовательского контекста, в случае их несовпадения проверяют наличие оставшихся строк в таблице базы данных, а при их совпадении проверяют вклад строки БД в результат запроса и при его отсутствии переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а в случае его наличия используют упомянутую строку для построения результата запроса и проверяют наличие оставшихся строк в таблице БД, в случае их наличия переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при их отсутствии выводят результат запроса в соответствии с правом доступа.The closest in technical essence to the claimed one is the method of secure access to the database according to the patent of the Russian Federation No. 2373571 “Systems and methods implemented by means of access at the level of small structural units for managing data stored in relational databases”, (class G06F 12/14, declared July 26, 2004, published November 20, 2009, Bulletin No. 32). The prototype method includes the following sequence of actions. The information including the query and user context is received, the row to be considered when constructing the query result is selected, the line security descriptor is compared with the information from the user context, if they do not match, the remaining rows in the database table are checked, and if they match, the contribution is checked DB rows into the query result and, if there is none, go to the selection of the row to be considered when constructing the query result, and if it exists, use the above in order to build the query result and check for the remaining rows in the database table, if there are any, go to the selection of the row to be considered when constructing the query result, and if they are absent, output the query result in accordance with the access right.

По сравнению с аналогами, способ-прототип может быть использован в более широкой области применения, в том числе и для многомерных структур БД.Compared with analogues, the prototype method can be used in a wider field of application, including for multidimensional database structures.

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

1. Недостаточная защищенность БД, обусловленная тем, что обслуживание и настройка БД может осуществляться сторонними организациями, что может повлечь за собой ознакомление с информацией в БД лицами, не имеющих к ней непосредственный допуск по запросам.1. Inadequate database security, due to the fact that maintenance and tuning of the database can be carried out by third parties, which may entail familiarization with the information in the database by persons who do not have direct access to it upon request.

2. Вывод информации осуществляется в открытом виде, без защиты данных от ознакомления с ними посторонних лиц.2. The output of information is carried out in an open form, without data protection from familiarization with unauthorized persons.

3. Не предусмотрены превентивные меры по предотвращению нарушений политики безопасности до осуществления поиска нужной строки в БД и сверкой прав доступа по дескриптору защиты, в соответствии с дискреционной моделью разграничения прав доступа.3. No preventive measures are envisaged to prevent violations of security policy before searching for the required row in the database and reconciling access rights by the security descriptor, in accordance with the discretionary model of access rights delimitation.

В настоящем изобретении предложен способ, позволяющий устранить выявленные недостатки.The present invention provides a method for eliminating identified deficiencies.

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

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

Целью заявленного технического решения является разработка способа обеспечения защищенного доступа к БД, позволяющего снизить вычислительную нагрузку на БД, улучшить защиту информации в БД от внутреннего и внешнего нарушителей.The purpose of the claimed technical solution is to develop a way to provide secure access to the database, which allows to reduce the computing load on the database, to improve the protection of information in the database from internal and external intruders.

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

Поставленная цель достигается тем, что принимают информацию, включающую в себя запрос и пользовательский контекст, выбирают строку, подлежащую рассмотрению при построении результата запроса, сравнивают дескриптор защиты строки с информацией из пользовательского контекста и в случае их несовпадения проверяют наличие оставшихся строк в таблице базы данных, а при их совпадении проверяют вклад строки базы данных в результат запроса и при его отсутствии переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а в случае его наличия используют упомянутую строку при построении результата запроса и проверяют наличие оставшихся строк в таблице базы данных, в случае их наличия переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при их отсутствии выводят результат запроса в соответствии с правом доступа, отличающийся тем, что предварительно задают разрешенные IP-адреса, HWID-номера и роли пользователей структурных элементов автоматизированной системы в виде множеств IРразр={IP1, IP2, …, IPn}, Hразр={H1 H2, …, Hn) и Rpaзp={R1, R2, …, Rm} для повышенной проверки прав доступа к базе данных, а после приема информации, включающей в себя запрос и пользовательский контекст, сравнивают значение IP-адреса i-го структурного элемента IPi, автоматизированной системы из пользовательского контекста с значениями IP-адресов из множества IРразр, в случае их несовпадения формируют сигнал тревоги и переходят к выводу результата запроса в соответствии с правом доступа, а при совпадении значения IP-адреса i-го структурного элемента IPi, автоматизированной системы из пользовательского контекста с значениями IP-адресов из множества IРразр сравнивают значение HWID-номера i-го структурного элемента Hi автоматизированной системы из пользовательского контекста с значениями HWID-номеров из множества Нразр, в случае их несовпадения переходят к формированию сигнала тревоги, а при совпадении значения HWID-номера i-го структурного элемента Hi автоматизированной системы из пользовательского контекста с значениями HWID-номеров из множества Нразр сравнивают значение роли пользователя i-го структурного элемента Ri автоматизированной системы из пользовательского контекста с значениями ролей пользователей из множества Rpaзp, в случае их несовпадения переходят к формированию сигнала тревоги, а при совпадении значения роли пользователя i-го структурного элемента Ri автоматизированной системы из пользовательского контекста с значениями ролей пользователей из множества Rpaзp переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при отсутствии строк в таблице базы данных выполняют преобразование результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра и переходят к выводу результата запроса в соответствии с правом доступа в закодированном виде.This goal is achieved by accepting information including the query and user context, selecting the row to be considered when constructing the query result, comparing the line security descriptor with information from the user context, and if they do not match, check for the remaining rows in the database table, and if they coincide, they check the contribution of the database row to the query result and, if it is absent, proceed to selecting the row to be considered when constructing the query result and if it is available, use the mentioned line when constructing the query result and check for the remaining rows in the database table, if there are any, go to the selection of the row to be considered when constructing the query result, and if not, display the query result in accordance with the access right , characterized in that the allowed IP addresses, HWID numbers and user roles of structural elements of the automated system are pre-set in the form of sets IP bit = {IP 1 , IP 2 , ..., IP n }, H bit = {H 1 H 2 , ..., H n ) and R rasp = {R 1 , R 2 , ..., R m } for increased verification of access rights to the database, and after receiving information including the request and user context, compare the value of the IP address of the i-th structural element IP i , the automated system from the user context with the values of IP addresses from the set of IP bits , if they do not match, they generate an alarm and proceed to display the query result in accordance with the access right, and if the IP address of the i-th structural element IP i , the automated system from user one context with the values of IP-addresses of a plurality of IP bit compare value HWID-numbers i-th structural element H i of the automated system of the user context with the values HWID-numbers of the plurality of N bits, in case of mismatch proceeds to the formation of an alarm signal, and for values HWID-coincidence number i-th structural element H i of the automated system of the user context with the values HWID-numbers of the plurality of N bits is compared to the role of the user i-th structural element R i automated second system from the user context with the values of user role from a plurality of R pazp, in case of mismatch proceeds to the formation of an alarm signal, and the coincidence of the role of the user i-th structural element R i of the automated system of the user context with the values of user role from a plurality of R pazp go 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 query result is converted using the encoded method I according to a predetermined conversion function F (x) by a key X, obtainable from the Certification Center and proceeds to conclusion query result in accordance with the access rights in encrypted form.

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

- дополнительным предварительным заданием разрешенных IP-адресов, HWID-номеров и ролей пользователей структурных элементов автоматизированной системы, хранящихся в запоминающем устройстве в виде множеств IРразр={IP1, IP2, …, IPn}, Нразр={H1, H2, …, Hn} и Rразр={R1,R2, …, Rm} для повышенной проверки прав доступа в БД;- an additional preliminary assignment of permitted IP addresses, HWID numbers and user roles of structural elements of the automated system stored in the storage device in the form of sets IP bit = {IP 1 , IP 2 , ..., IP n }, N bit = {H 1 , H 2 , ..., H n } and R bit = {R 1 , R 2 , ..., R m } for increased verification of access rights to the database;

- проверкой на соответствие текущих IP-адресов, HWID-номеров и ролей пользователей из пользовательского контекста множествам разрешенных IP-адресов, HWID-номеров и ролей пользователей в запоминающем устройстве;- checking that the current IP addresses, HWID numbers and user roles from the user context match the sets of allowed IP addresses, HWID numbers and user roles in the storage device;

- формированием сигнала тревоги, если хотя бы одно из условий повышенной проверки не удовлетворяет разрешенным параметрам;- the formation of an alarm if at least one of the conditions of increased verification does not satisfy the permitted parameters;

- преобразованием результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра;- conversion of the query result by the encoding method in accordance with the specified conversion function F (x) using the key X received from the Certification Authority;

- выводом результата запроса в соответствии с правом доступа в закодированном виде.- output of the query result in accordance with the access right in encoded form.

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

Благодаря новой совокупности существенных признаков в заявленном способе обеспечивается повышение защиты доступа к БД от внутреннего нарушителя, посредством проверки идентификационного номера физического оборудования и логических адресов устройств, с которых осуществляется доступ, снижение вычислительной нагрузки на БД путем предварительной повышенной проверки ролей пользователей на право формирования данного запроса, и повышение защиты информации в БД от внешнего нарушителя посредством кодирования выводимого результата запроса.Thanks to a new set of essential features, the claimed method provides increased protection of access to the database from the internal intruder by checking the identification number of physical equipment and logical addresses of the devices from which access is available, reducing the computational load on the database by preliminary increased verification of user roles for the right to generate this request , and improving the protection of information in the database from an external intruder by encoding the query result a.

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

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность отличительных существенных признаков, обусловливающих тот же технический результат, который достигнут в заявляемом способе. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».Search results for known solutions in this and related fields of technology in order to identify features that match the distinctive features of the claimed object from the prototype showed that they do not follow explicitly from the prior art. The prior art also did not reveal the fame of the 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 - блок-схема способа защищенного доступа данных;FIG. 1 is a flowchart of a method for secure data access;

фиг. 2 - схема возможной таблицы базы данных;FIG. 2 is a diagram of a possible database table;

фиг. 3 - схема возможной таблицы дескриптора защиты;FIG. 3 is a diagram of a possible security descriptor table;

фиг. 4 - схема последовательности операций способа защищенного доступа к базе данных;FIG. 4 is a flow diagram of a method for secure access to a database;

фиг. 5 - алгоритм кодирования таблицы в соответствии с заданной функцией преобразования F(x) по ключу X;FIG. 5 is a table encoding algorithm in accordance with a given transform function F (x) by key X;

фиг. 6 - таблица базы данных с заданными информационными полями;FIG. 6 - database table with the specified information fields;

фиг. 7 - таблица дескриптора защиты с заданными параметрами в базе данных;FIG. 7 - table of the security descriptor with the specified parameters in the database;

фиг. 8 - таблица базы данных с заданными временными параметрами;FIG. 8 - database table with specified time parameters;

фиг. 9 - таблица базы данных с множествами разрешенных IP-адресов, HWID-номеров и ролей пользователей.FIG. 9 is a database table with sets of allowed IP addresses, HWID numbers, and user roles.

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

Реализация заявленного способа объясняется следующим образом. В традиционных моделях БД изначальный поиск информации осуществляется по запросу путем перебора БД, что порождает большие временные затраты вычислений и выборки необходимой информации, при получении массива строк результата запроса, что влияет на оперативность ее получения. Вывод информации остается также незащищенным от ознакомления с БД третьими лицами, не имеющих к ней непосредственный допуск по запросам. В настоящем изобретении предложен способ, позволяющий устранить выявленные недостатки.The implementation of the claimed method is explained as follows. In traditional database models, the initial search for information is carried out on demand by searching the database, which generates a large time cost of computing and fetching the necessary information when receiving an array of query result strings, which affects the speed of its receipt. The output of information also remains unprotected from familiarization with the database by third parties who do not have direct access to it upon request. The present invention provides a method for eliminating identified deficiencies.

Запоминающее устройство хранит множества разрешенных IP-адресов, HWID-номеров, ролей пользователей, информации о защите, воплощенную посредством одного или более дескрипторов защиты. Каждое множество IP-адресов, HWID-номеров, ролей пользователей и дескрипторов защиты управляет избирательным доступом к одному или более источникам, которые с ними связаны.The storage device stores a plurality of permitted IP addresses, HWID numbers, user roles, security information embodied by one or more security descriptors. Each set of IP addresses, HWID numbers, user roles, and security descriptors controls selective access to one or more of the sources that are associated with them.

IP-адрес - это число, которое позволяет уникально идентифицировать узел компьютерной сети. Одним словом - это идентификатор с которым вы можете переходить по сетям и обмениваться информацией с различными сервисами и устройствами. Адрес представляет собой четыре октета (8 двоичных разрядов) разделенных точкой - общая длинна 32 бита. Сам по себе IP-адрес состоит из сетевой и хостовой частей, по которой определяется номер сети и номер узла.An IP address is a number that uniquely identifies a host on a computer network. In a word - this is an identifier with which you can navigate through networks and exchange information with various services and devices. The address is four octets (8 bits) separated by a dot - the total length is 32 bits. The IP address itself consists of the network and host parts, which determine the network number and host number.

Hardware ID (HWID) - это идентификатор компьютера, который формируется на основании данных об оборудовании. В комплекс этих данных входят многие компоненты, такие как материнская плата, оперативная память, процессор, жесткие диски и так далее. В результате для каждого компьютера формируется свой уникальный идентификатор. Не исключены редкие совпадения, но это сотые доли процента в общей массе компьютеров. При изменении конфигурации оборудования ПК (добавление нового диска, оперативной памяти, переустановка ОС и пр.) меняется и идентификатор компьютера HWID и доступ к БД может быть прекращен из-за внесения изменений в состав оборудования.Hardware ID (HWID) is a computer identifier that is formed on the basis of equipment data. The complex of this data includes many components, such as the motherboard, RAM, processor, hard drives and so on. As a result, a unique identifier is generated for each computer. Rare coincidences are not excluded, but these are hundredths of a percent in the total mass of computers. When changing the PC hardware configuration (adding a new disk, RAM, reinstalling the OS, etc.), the HWID of the computer changes and access to the database may be terminated due to changes in the hardware.

В улучшенной ролевой модели все объекты объединяются в единое «дерево». У каждого объекта, кроме единственного корневого, есть один родительский объект, и любое количество дочерних. Роль может быть назначена пользователю в контексте любого объекта. При этом пользователь начинает играть назначенную роль во всей ветви «дерева», которая образована этим объектом.In the improved role model, all objects are combined into a single "tree". Each object, except for a single root, has one parent object, and any number of children. A role can be assigned to a user in the context of any object. In this case, the user begins to play the assigned role in the entire branch of the "tree", which is formed by this object.

Таким образом, любой объект приложения может образовать домен, в который будут входить он сам и все его дочерние объекты. Любой из его дочерних объектов может также образовать домен, являющийся подчиненным по отношению к домену родительского объекта. Список ролей, которые пользователь играет в определенном домене, состоит из ролей, назначенных ему в данном домене, плюс роли из домена более высокого уровня, и из домена еще более высокого уровня, и так далее, до корневого домена приложения. Роли, назначенные пользователю в корневом домене, имеют глобальный характер, т.е. действительны в контексте каждого объекта приложения.Thus, any application object can form a domain into which it and all its child objects will belong. Any of its child objects can also form a domain that is subordinate to the domain of the parent object. The list of roles that a user plays in a particular domain consists of the roles assigned to him in that domain, plus roles from a higher-level domain, and from an even higher-level domain, and so on, to the root domain of the application. The roles assigned to a user in the root domain are global, i.e. Valid in the context of each application object.

Например, корневой объект «предприятие» имеет десять подчиненных объектов типа «отдел», под каждым из которых, в свою очередь, располагаются документы, относящиеся к данному отделу. Пользователь, которому назначена роль «начальник» в контексте конкретного отдела (или отделов), имеет полный доступ ко всем документам своего отдела, но не имеет доступа к документам других отделов, так как там он не играет соответствующей роли. Пользователь же, являющийся «начальником» корневого объекта системы, имеет полный доступ ко всем документам предприятия, что полностью соответствует соображениям элементарной логики.For example, the root object "enterprise" has ten subordinate objects of the type "department", under each of which, in turn, are documents related to this department. A user who is assigned the role of "boss" in the context of a particular department (or departments) has full access to all documents of his department, but does not have access to documents of other departments, since there he does not play a corresponding role. The user, who is the “boss” of the root object of the system, has full access to all documents of the enterprise, which fully complies with the considerations of elementary logic.

Информация о защите, воплощенная во множестве разрешенных IP-адресов, может включать в себя, например, список пунктов, в которых указывается: (1) разрешенный сетевой IP-адрес узла; (2) тип доступа (например, полный доступ, только для считывания и/или смешанный доступ, а также запрет на доступ множеству IP-адресов).Security information embodied in a plurality of permitted IP addresses may include, for example, a list of items that indicate: (1) the allowed network IP address of the node; (2) the type of access (for example, full access, read-only and / or mixed access, as well as a ban on access to multiple IP addresses).

Информация о защите, воплощенная во множестве разрешенных HWID-номеров аппаратного обеспечения пользователя, может включать в себя, например, список пунктов, в которых указывается: (1) разрешенный HWID-номер, который поступает в пользовательском контексте, совместно с запросом на поиск информации в БД; (2) тип доступа (например, полный доступ, только для считывания и/или смешанный доступ), который может также дублироваться при настройке множества разрешенных IP-адресов.Security information embodied in a plurality of authorized HWID numbers of a user's hardware may include, for example, a list of items that indicate: (1) an authorized HWID number that comes in a user context, together with a request to search for information in DB (2) the type of access (for example, full access, read-only and / or mixed access), which can also be duplicated when configuring the set of allowed IP addresses.

Информация о защите, воплощенная во множестве разрешенных ролей пользователей, может включать в себя, например, список пунктов, в которых указывается: (1) роль пользователя (например, начальник отдела, служащий, программист); (2) тип доступа (например, полный доступ, только для считывания и/или смешанный доступ).The security information embodied in the many permitted user roles may include, for example, a list of items that indicate: (1) the role of the user (for example, department head, employee, programmer); (2) type of access (e.g. full access, read-only and / or mixed access).

Информация о защите, воплощенная в дескрипторе защиты, может включать в себя, например, список пунктов, в которых указывается: (1) разрешен или запрещен доступ; (2) тип доступа (например, разрешение, скажем, только считывания и/или считывания и доступа); и (3) принципал, к которому применяется информация о защите. Например, запоминающее устройство может быть упорядоченным набором объектов управления доступом.The security information embodied in the security descriptor may include, for example, a list of items that indicate: (1) access is allowed or denied; (2) the type of access (for example, allowing, say, only reading and / or reading and access); and (3) the principal to whom the protection information applies. For example, the storage device may be an ordered set of access control objects.

Процессор БД принимает информацию запроса от пользователя. Информация запроса включает в себя запрос, который надлежит выполнить в БД, и пользовательский контекст, связанный с инициатором запроса (например, имя пользователя, идентификатор пользователя и/или тип пользователя, IP-адрес пользователя, HWID-номер, роль пользователя и дескриптор защиты пользователя).The database processor receives the request information from the user. The request information includes the request to be executed in the database, and the user context associated with the initiator of the request (for example, username, user ID and / or user type, user IP address, HWID number, user role and user protection descriptor )

В аспекте настоящего изобретения предусматривается, что после получения запроса и пользовательского контекста, до начала выборки информации в БД для построения результата запроса, осуществляют проверку прав доступа на 2-м, 3-м, 7-м уровне сетевой модели OSI (англ. open systems interconnection basic reference model - базовая эталонная модель взаимодействия открытых систем (ЭМВОС)), что предотвращает несанкционированный доступ к информации должностных лиц, не имеющих на то права.In an aspect of the present invention, it is provided that after receiving the request and the user context, before starting to retrieve information in the database to build the query result, access rights are checked at the 2nd, 3rd, 7th level of the OSI network model (open systems) interconnection basic reference model - a basic reference model for the interaction of open systems (EMVOS)), which prevents unauthorized access to information of unauthorized officials.

В аспекте настоящего изобретения в качестве части технических характеристик стратегии предложен язык программирования SQL (например, TSQL - Time SQL), дополненный новым набором операторов, которые обеспечивают создание, модификацию и удаление дескриптора (дескрипторов) защиты, например списков управления доступом.In an aspect of the present invention, as part of the technical characteristics of the strategy, an SQL programming language (for example, TSQL - Time SQL) is proposed, supplemented by a new set of statements that provide creation, modification and deletion of security descriptor (s), for example access control lists.

Чтобы достичь вышеуказанных и связанных с ними целей, концепция настоящего изобретения приводится здесь в связи с нижеследующим описанием и прилагаемыми чертежами. Вместе с тем, эта концепция характеризует лишь несколько различных путей, которыми можно воплотить принципы изобретения, а настоящее изобретение следует считать включающим в себя все такие аспекты и их эквиваленты. С другими преимуществами и признаками изобретения, обладающими новизной, можно ознакомиться из нижеследующего подробного описания изобретения, рассматривая его совместно с чертежами.In order to achieve the above and related objectives, the concept of the present invention is provided herein in connection with the following description and the accompanying drawings. However, this concept characterizes only a few different ways in which the principles of the invention can be embodied, and the present invention should be considered to include all such aspects and their equivalents. Other advantages and features of the invention, with novelty, can be found in the following detailed description of the invention, considering it in conjunction with the drawings.

Подробное описание изобретенияDETAILED DESCRIPTION OF THE INVENTION

С учетом растущей популярности компьютеров все больше и больше данных сохраняют в БД, например реляционных БД. В реляционных БД большинство данных хранятся как строки в одной или более таблиц. Доступ в БД может быть получен с помощью одного из совокупности объектов. Вследствие природы данных, хранящихся в БД, санкционирование избирательного доступа (например, запрета доступа, доступа для считывания и/или доступа для считывания и записи) к этим данным приобретает существенное значение.Given the growing popularity of computers, more and more data is being stored in databases, such as relational databases. In relational databases, most data is stored as rows in one or more tables. Access to the database can be obtained using one of the totality of objects. Due to the nature of the data stored in the database, authorizing selective access (for example, denying access, access for reading and / or access for reading and writing) to this data is essential.

В основе популярности реляционных БД лежит способность осуществлять ассоциативные запросы по таблицам. Доступ к наборам объектов, хранящимся в таблицах, возможен с помощью языка обработки наборов (например, SQL - языка структурированных запросов). Этот язык обеспечивает задание одной или более таблиц в качестве источника данных и выдачу - если она вообще происходит - только той строки или тех строк, которая или которые удовлетворяют некоторому заданному условию.The popularity of relational databases is based on the ability to perform associative queries on tables. Access to sets of objects stored in tables is possible using the set processing language (for example, SQL, the structured query language). This language provides the specification of one or more tables as a data source and the output - if it occurs at all - of only that row or those rows that or which satisfy some given condition.

Термины «компонент», «программа обработки», «модель», «система» и т.п.в том смысле, в каком они употребляются в данной заявке следует считать относящимися к связанному с компьютером объекту либо аппаратному обеспечению, комбинации аппаратного обеспечения и программного обеспечения, программному обеспечению или находящемуся в стадии выполнения команд программному обеспечению. Например, компонентом может быть - но не в ограничительном смысле - процесс, идущий на процессоре, процессор, объект, исполняемый файл, поток выполняемых задач, программа и/или компьютер. В качестве иллюстрации отметим, что компонентом может быть и активное приложение на сервере, и сам сервер. Один или более компонентов могут постоянно участвовать в реализации процесса и/или потока выполняемых задач, а некоторый компонент может быть локализован на одном компьютере и/или распределен между двумя или более компьютерами. Кроме того, эти компоненты могут работать от различных считываемых компьютером носителей, имеющих различные структуры данных, записанные на них. Компоненты могут осуществлять связь посредством локальных и/или дистанционных процессов, например, в соответствии с сигналом, имеющим один или более пакетов данных (например, данных из одного компонента, взаимодействующего с другим компонентом в локальной системе, распределенной системе, и/или взаимодействующего через сеть, такую как Internet, с другими системами посредством этого сигнала). В соответствии с настоящим изобретением компьютерные компоненты можно хранить, например, на считываемых компьютером носителях, включая - но не в ограничительном смысле -интегральную схему прикладной ориентации (ASIC), компакт-диск (CD), цифровой видеодиск (DVD), постоянную память (ROM), флеш-диск, жесткий диск, электрически стираемую программируемую постоянную память (EEPROM) и память типа "memory stick".The terms “component”, “processing program”, “model”, “system”, etc. in the sense in which they are used in this application should be considered as related to a computer-related object or hardware, a combination of hardware and software software, software, or software in progress. For example, a component can be - but not in a restrictive sense - a process running on a processor, a processor, an object, an executable file, a thread of tasks, a program and / or computer. As an illustration, we note that the component can be both the active application on the server and the server itself. One or more components can constantly participate in the implementation of the process and / or the flow of tasks, and some component can be localized on one computer and / or distributed between two or more computers. In addition, these components can operate from various computer-readable media having various data structures recorded thereon. Components can communicate through local and / or remote processes, for example, in accordance with a signal having one or more data packets (for example, data from one component interacting with another component in a local system, distributed system, and / or interacting through a network such as the Internet, with other systems through this signal). In accordance with the present invention, computer components can be stored, for example, on computer-readable media, including, but not limited to, application-oriented integrated circuit (ASIC), compact disc (CD), digital video disc (DVD), read-only memory (ROM) ), flash drive, hard drive, electrically erasable programmable read-only memory (EEPROM) and memory stick.

В общем случае структурные элементы автоматизированной системы (АС) представляют собой совокупность автоматизированных рабочих мест должностных лиц, БД, коммуникационного оборудования, объединенных проводными и беспроводными линиями связи, позволяющих осуществить доступ к базе данных.In general, the structural elements of an automated system (AS) are a set of automated workplaces for officials, databases, communication equipment, combined by wired and wireless communication lines, allowing access to the database.

Блок-схема 100 последовательности операций способа защищенного доступа к БД, на фиг. 1 обеспечивает защищенный доступ к БД 180 на основе блока 110 повышенной проверки прав доступа на 2-м, 3-м и 7-м уровне модели OSI, сверки логических адресов сети, физических номеров оборудования и ролей пользователей формирователей запроса с множеством доверенных IP-адресов, HWID-номеров и ролей пользователей, хранящихся в запоминающем устройстве 170. Блок 110 повышенной проверки прав доступа позволяет сравнить значение IP-адреса i-го структурного элемента IPi АС из пользовательского контекста с значениями IP-адресов из множества IРразр, значение HWID-номера i-го структурного элемента Hi АС из пользовательского контекста с значениями HWID-номеров из множества Нразр, значение роли пользователя i-го структурного элемента Ri АС из пользовательского контекста с значениями ролей пользователей из множества Rразр, в случае, если данные условия не удовлетворяют заданным параметрам - формируют сигнал тревоги, в случае, если условия проверки удовлетворяют параметрам - осуществляют обращение к БД для выбора строки, подлежащей рассмотрению при построении результата запроса.A flowchart 100 of a method for secure access to a database, in FIG. 1 provides secure access to the database 180 on the basis of block 110 enhanced access control at the 2nd, 3rd and 7th level of the OSI model, reconciliation of logical network addresses, physical numbers of equipment and user roles of forwarders with many trusted IP addresses , HWID numbers and user roles stored in the storage device 170. The increased access control unit 110 allows you to compare the value of the IP address of the i-th structural element IP i AC from the user context with the values of IP addresses from the set of IP bit , the value of HWID- nom the era of the i-th structural element H i AC from the user context with the values of HWID numbers from the set H bit , the role value of the user role of the i-th structural element R i AC from the user context with the values of the roles of users from the set R bit , if the data the conditions do not satisfy the specified parameters — they generate an alarm, if the verification conditions satisfy the parameters — they turn to the database to select the row to be considered when constructing the query result.

Когда формулируется запрос в запросный компонент 120, блок 130 оптимизации запросов может определить «наилучший способ» («оптимизацию») ответа на этот запрос. Например, запросный компонент 120 может применить стратегию оптимизации по затратам, вследствие чего в качестве плана выбирается наиболее дешевый способ выполнения запроса, либо стратегию оптимизации по временному (темпоральному) отрезку, вследствие чего происходит отбор через таблицу времени, что, в свою очередь, сокращает время доступа к необходимой информации.When a request is formulated to the query component 120, the query optimization unit 130 may determine the “best way” (“optimization”) of the response to this request. For example, the query component 120 can apply a cost optimization strategy, as a result of which the cheapest way to execute the request is selected as a plan, or an optimization strategy according to a time (temporal) interval, as a result of which selection through a time table occurs, which, in turn, reduces time access to necessary information.

Запросный компонент 120 может применять известные технологии при перечислении возможных планов и отсекать дорогостоящие. Индексы в таблицах играют важную роль в уменьшении затрат на доступ к данным в этих таблицах. Следует принять во внимание, что можно применить процесс оптимизации любого типа, пригодный для осуществления настоящего изобретения, и все такие типы технологий оптимизации следует считать находящимися в рамках объема притязаний прилагаемой формулы изобретения.Query component 120 may apply well-known techniques in listing possible plans and cutting off costly ones. Indexes in tables play an important role in reducing the cost of accessing data in these tables. You should take into account that you can apply the optimization process of any type suitable for the implementation of the present invention, and all such types of optimization technologies should be considered within the scope of the claims of the attached claims.

Следует принять во внимание, что запросный компонент 120, блок 130 оптимизации запросов и/или блок 140 выполнения запросов могут быть компьютерными компонентами в том смысле, в котором этот термин определен в данном описании.It will be appreciated that the query component 120, the query optimization block 130, and / or the query execution block 140 may be computer components in the sense in which this term is defined herein.

Важно, что когда осуществляется доступ к строкам таблицы, защищенным алгоритмом защиты в форме дескрипторов защиты, процессор 150 БД - как раз перед рассмотрением строк на предмет ввода при построении результата опроса - вынуждает выполнение алгоритма защиты путем подтверждения того, что инициатор запроса имеет разрешение считывать строки, на основании стратегии, определенной дескриптором защиты, связанным с каждой строкой.It is important that when accessing table rows protected by a security algorithm in the form of security descriptors, the database processor 150 — just before considering the lines for input when constructing the poll result — forces the security algorithm to execute by confirming that the requestor has permission to read the rows , based on the strategy defined by the security descriptor associated with each line.

Чтобы пресечь проблему несанкционированного доступа к БД в корне и в то же время не нарушить процесс оптимизации, в настоящем изобретении предложен новый алгоритм, который гарантирует, что все пути доступа к таблице предусматривают наличие столбца, имеющего дескрипторы защиты, а также выполнения повышенная проверка прав доступа на 2-м, 3-ми 7-м уровне модели OSI, посредством сверки логических адресов сети, физических номеров оборудования и ролей пользователей формирователей запроса со списком доверенных адресов, номеров и ролей, хранящихся в запоминающем устройстве 170.In order to stop the problem of unauthorized access to the database at the same time and not to disrupt the optimization process, the present invention proposed a new algorithm that ensures that all access paths to the table include a column that has security descriptors, as well as performing increased access control at the 2nd, 3rd, 7th level of the OSI model, by reconciling the logical addresses of the network, the physical numbers of the equipment, and the roles of the users of the query forwarders with a list of trusted addresses, numbers and roles stored in the storage device 170.

Кэш 160 сеансов пользователей хранит вычисленный результат, обусловленный тем, имеет ли текущий контекст защиты заданное разрешение относительно некоторого IP-адреса, HWID-номера, роли пользователя и дескриптора защиты. Следовательно, результат проверки того, имеет ли принципал доступ к объекту, заданным данными критериями защиты этого объекта, оценивается только по поступлению запроса. Если две строки таблицы имеют одну и ту же стратегию защиты, т.е. имеют один и тот же дескриптор защиты, результат проверки того, имеет инициатор запроса доступ к строке или нет, оценивается в первый раз, и этот результат сохраняется в кэш 160. Кэшированный результат применяется для второй строки.The user session cache 160 stores the calculated result due to whether the current security context has a specified permission with respect to a certain IP address, HWID number, user role, and security descriptor. Therefore, the result of checking whether the principal has access to the object specified by these protection criteria for this object is evaluated only upon receipt of the request. If two rows of the table have the same protection strategy, i.e. have the same security descriptor, the result of checking whether the initiator of the request has access to the row or not is evaluated for the first time, and this result is stored in cache 160. The cached result is applied to the second row.

Кэш 160 становится исключительно полезным средством, когда много строк имеют один и тот же алгоритм защиты, что может иметь место, например, в файловых системах и аналогичных приложениях.Cache 160 becomes an extremely useful tool when many lines have the same security algorithm, which can occur, for example, in file systems and similar applications.

Следует принять во внимание, что кэш сеансов пользователя может быть компьютерным компонентом в том смысле, в котором этот термин определен в данном описании.It will be appreciated that a user session cache may be a computer component in the sense in which this term is defined herein.

Процессор 150 БД принимает информацию запроса, например, от пользователя. Информация запроса включает в себя запрос, который надлежит выполнить в БД 180, и пользовательский контекст, связанный с инициатором запроса (например, имя пользователя, идентификатор пользователя и/или тип пользователя, IP-адрес пользователя, HWID-номер и роль пользователя).The database processor 150 receives the request information, for example, from the user. The request information includes a request to be executed in the database 180 and a user context associated with the initiator of the request (for example, username, user ID and / or user type, user IP address, HWID number and user role).

При выполнении запроса процессор 150 БД принимает от запросного компонента информацию запроса. Информация запроса включает в себя запрос, который надлежит выполнить в БД, и пользовательский контекст, связанный с инициатором запроса (например, имя пользователя, идентификатор пользователя и/или тип пользователя, IP-адрес формирователя запроса, HWID-номер оконечного оборудования, роль пользователя в иерархической структуре).When the query is executed, the database processor 150 receives request information from the query component. The request information includes the request to be executed in the database, and the user context associated with the initiator of the request (for example, username, user ID and / or user type, IP address of the requestor, HWID number of the terminal equipment, user role in hierarchical structure).

Процессор БД сверяет IP-адрес пакета с разрешенным IP-адресом, хранящимся в запоминающем устройстве, сверяет HWID-номер оборудования с разрешенным HWID-номером, хранящимся в запоминающем устройстве, проверяет роль пользователя, формирователя запроса, имел ли право пользователь формировать запрос к БД или нет? Если хотя бы одно из условий не удовлетворяется, то формируют сигнал тревоги 415 и выводят информацию в соответствии с правом доступа 480.The database processor checks the IP address of the packet with the allowed IP address stored in the storage device, checks the HWID number of the equipment with the allowed HWID number stored in the storage device, checks the role of the user, the query builder, if the user had the right to generate a request to the database or not? If at least one of the conditions is not satisfied, an alarm 415 is generated and information is displayed in accordance with access right 480.

Если все условия выполняются, то процессор БД оценивает дескриптор защиты, связанный со строкой (строками) БД 180, к которой (которым) осуществляется доступ, и информацию пользовательского контекста, связанную с запросом, чтобы определить, запросил ли пользователь доступ к строке. После этого процессор 150 БД обеспечивает ответ на информацию запроса на основании этого запроса и - что важно - информации пользовательского контекста. Таким образом, инициатору запроса предоставляется информация только из той БД 180, права доступа (например, просмотра и/или изменения данных) к которой имеет пользователь.If all conditions are met, the database processor evaluates the security descriptor associated with the row (s) of the database 180 to which it is accessed and user context information associated with the request to determine if the user has requested access to the row. After that, the database processor 150 provides a response to the request information based on this request and, importantly, user context information. Thus, the request initiator is provided with information only from that database 180 for which the user has access rights (for example, viewing and / or changing data).

БД 180 хранит данные в структурированном формате. Например, БД 180 может быть реляционной БД, объектной БД и/или объектно-реляционной БД, а также темпоральной БД. В связи с реляционными БД отметим, что набор объектов с одной и той же структурой называют таблицей, а каждый объект называют строкой. Компоненты структуры называют столбцами. Реляционная БД может включать в себя одну таблицу или совокупность таблиц.DB 180 stores data in a structured format. For example, database 180 may be a relational database, an object database, and / or an object-relational database, as well as a temporal database. In connection with relational databases, we note that a set of objects with the same structure is called a table, and each object is called a row. The components of a structure are called columns. A relational database may include one table or a set of tables.

Данные в БД почти всегда неразрывно связаны со временем. Это верно и для транзакционных БД, и тем более для аналитических БД (в частности, время является важнейшим измерением OLAP-кубов).Data in a database is almost always inextricably linked with time. This is true for transactional databases, and even more so for analytical databases (in particular, time is the most important measurement of OLAP cubes).

В соответствии с аспектом настоящего изобретения, по меньшей мере, одна из таблиц, связанная с БД 180, включает в себя столбец, в котором хранится информация о защите, скажем, дескриптор защиты (например, идентификатор, связанный с информацией о защите, хранящийся в запоминающем устройстве 170, рассматриваемом ниже).In accordance with an aspect of the present invention, at least one of the tables associated with OBD 180 includes a column that stores security information, say, a security descriptor (e.g., an identifier associated with security information stored in a storage device 170, discussed below).

Обращение к БД может производиться как обычными SQL-запросами, так и темпоральными TSQL-запросами. В случае формирования темпорального запроса сокращается время поиска информации в БД посредством указания периода времени, затрагивающего необходимое событие.Access to the database can be made both by ordinary SQL-queries and temporal TSQL-queries. In the case of the formation of a temporal query, the time required to search for information in the database is reduced by indicating the time period affecting the necessary event.

Одним из наиболее важных вопросов при использовании БД является эффективность работы приложений с соответствующей СУБД. Для повышения скорости обработки запросов в реляционных СУБД традиционно применяются индексы для выборки данных из таблиц, а также статистики и различные эвристики при выборе алгоритма соединения данных из нескольких таблиц. При разработке темпоральных СУБД значительное внимание уделялось именно вопросам производительности, так как в общем случае небольшая доля «активных» данных из постоянно растущего объема информации в БД приводила к резкому спаду производительности при интенсивном использовании и/или недостаточном внимании при разработке приложения.One of the most important issues when using a database is the efficiency of applications with the corresponding DBMS. To increase the speed of query processing in relational DBMSs, indexes are traditionally used to select data from tables, as well as statistics and various heuristics when choosing an algorithm for combining data from several tables. When developing temporal DBMSs, considerable attention was paid specifically to performance issues, since in the general case, a small fraction of “active” data from the constantly growing amount of information in the database led to a sharp decline in performance with heavy use and / or insufficient attention when developing the application.

Можно использовать три типа темпоральных таблиц - темпоральные таблицы с программным периодом, темпоральные таблицы с системным периодом и битемпоральные таблицы, сочетающие в себе все характеристики первых двух типов. Использование темпоральных таблиц позволяет упростить сервисную логику приложения, предоставлять информацию для аудита изменений в данных, корректировать ошибки в данных, а также увеличить время доступа к данным.Three types of temporal tables can be used - temporal tables with a program period, temporal tables with a system period, and bitemporal tables that combine all the characteristics of the first two types. The use of temporal tables allows us to simplify the service logic of the application, provide information for auditing changes in data, correct errors in data, and also increase the access time to data.

В традиционных реляционных БД алгоритмы защиты не связаны со строками в таблицах. Так, в соответствии с аспектом настоящего изобретения, чтобы указать, что строки в некоторой конкретной таблице БД защищены с помощью стратегии защиты, операторы SQL для создания и замены таблиц расширены для указания этого факта. Один из столбцов в определении этих таблиц расширен по выбору некоторым атрибутом, который указывает, что этот столбец воплощает алгоритм защиты. Значение этого столбца относится к идентификационному параметру некоторого дескриптора защиты, рассмотренного ранее (например, четырехбайтного кода). В одном примере, если значение столбца представляет собой «нуль», то строка не защищена никакой стратегией. С другой стороны, стратегия управления доступом для этой строки выбирается на основе соответствующего дескриптора защиты и связанной с ним информации, хранящейся в запоминающем устройстве 170. В еще одном примере значение по умолчанию столбца можно задать как идентификационный параметр дескриптора защиты, который воплощает стратегию защиты в таблице.In traditional relational databases, protection algorithms are not associated with rows in tables. So, in accordance with an aspect of the present invention, to indicate that rows in a particular database table are protected by a security strategy, the SQL statements for creating and replacing tables are extended to indicate this fact. One of the columns in the definition of these tables is optionally expanded with some attribute that indicates that this column implements the security algorithm. The value of this column refers to the identification parameter of some security descriptor discussed earlier (for example, a four-byte code). In one example, if the column value is “zero”, then the row is not protected by any strategy. On the other hand, the access control strategy for this row is selected based on the corresponding security descriptor and related information stored in memory 170. In another example, the default value of the column can be set as the identification parameter of the security descriptor, which embodies the security strategy in the table .

Следует принять во внимание, что система 100, процессор 150 БД, 180 БД и/или запоминающее устройство 170 могут быть компьютерными компонентами в том смысле, в котором этот термин определен в данном описании.It will be appreciated that the system 100, the OBD processor 150, the OBD 180, and / or the storage device 170 may be computer components in the sense in which this term is defined herein.

Блок 190 выполняет преобразование выводимой информации методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра (УЦ).Block 190 performs the conversion of the displayed information by the encoding method in accordance with the specified conversion function F (x) using the key X received from the Certification Authority (CA).

Пользователи УЦ самостоятельно осуществляют процедуру генерации ключей и формирование запросов на сертификат открытого ключа. Выполнение этих процедур осуществляется с использованием АРМ зарегистрированного пользователя на рабочем месте.CA users independently carry out the procedure for generating keys and generating requests for a public key certificate. These procedures are performed using the workstation of a registered user at the workplace.

Поступающие запросы на сертификаты открытых ключей пользователей обрабатываются администратором УЦ с использованием АРМ администратора Центра Регистрации.Incoming requests for certificates of public keys of users are processed by the administrator of the CA using the workstation of the administrator of the Registration Center.

Схема возможной таблицы 200 БД изображена на фиг. 2 и она включает в себя столбцы 210 данных и строки 220 данных. Кроме того, таблица 200 включает в себя столбец 230 дескрипторов защиты. Например, столбец 230 дескрипторов защиты может хранить - для некоторой конкретной строки - дескриптор защиты, связанный с этой строкой. В одном примере дескриптор защиты является идентификатором, связанным с запоминающим устройством 170.A diagram of a possible database table 200 is shown in FIG. 2 and it includes data columns 210 and data rows 220. In addition, table 200 includes a column 230 of security descriptors. For example, column 230 of security descriptors may store — for a particular row — the security descriptor associated with that row. In one example, the security descriptor is an identifier associated with the storage device 170.

Схема возможной таблицы 300 дескриптора защиты изображена на фиг. 3 в соответствии с аспектом настоящего изобретения. Дескрипторы 310 защиты хранятся в запоминающем устройстве 300. В этом примере конкретный дескриптор 310 защиты дополнительно включает в себя разрешение 330, которое идентифицирует тип доступа, связанный с конкретным дескриптором 310 защиты, например запрет доступа, доступ только для считывания и/или доступ для считывания и записи. Дескриптор 310 защиты дополнительно включает в себя принципала (принципалов) 340, к которому (которым) применяется дескриптор 310 защиты (например, имя пользователя (имена пользователей) группу пользователя (группы пользователей), идентификатор пользователя (идентификаторы пользователей) и/или тип пользователя (типы пользователей).A diagram of a possible security descriptor table 300 is depicted in FIG. 3 in accordance with an aspect of the present invention. Security descriptors 310 are stored in memory 300. In this example, a particular security descriptor 310 further includes a permission 330 that identifies the type of access associated with a particular security descriptor 310, for example, denied access, read-only access and / or read access and records. The security descriptor 310 further includes a principal (s) 340 to which the security descriptor 310 is applied (e.g., username (usernames) user group (user groups), user identifier (user identifiers) and / or user type ( user types).

Способ защищенного доступа к БД 400, который можно воплотить в соответствии с настоящим изобретением проиллюстрирован на фиг. 4. в соответствии с аспектом настоящего изобретения. На этапе 409 предварительно задают разрешенные IP-адреса, HWID-номера и роли пользователей структурных элементов АС в виде множеств IРразр={IP1, IP2, …, IPn}, Нразр={H1, H2, …, Hn} и Rразр={R1,R2, …, Rm} для повышенной проверки прав доступа к БД. Осуществляют прием информации 410, включающей в себя запрос и пользовательский контекст. Сравнивают значение 411IP-адреса i-го структурного элемента IPi АС из пользовательского контекста с значениями IP-адресов из множества IРразр, в случае их несовпадения - формируют сигнал тревоги 415, происходит автоматический доклад в службу безопасности с выводом отчета о попытке проникновения с незарегистрированного IP-адреса, а при совпадении значения IPi со значением IРразр - осуществляют дальнейшую проверку согласно алгоритма изобретения.A secure access method to the database 400 that can be implemented in accordance with the present invention is illustrated in FIG. 4. in accordance with an aspect of the present invention. At step 409, the allowed IP addresses, HWID numbers, and user roles of the structural elements of the AC are pre-set in the form of sets IP bit = {IP 1 , IP 2 , ..., IP n }, N bit = {H 1 , H 2 , ..., H n } and R bit = {R 1 , R 2 , ..., R m } for increased verification of access rights to the database. Information 410, including the request and user context, is received. The value 411 of the IP address of the i-th structural element IP i АС from the user context is compared with the values of IP addresses from the set of IP bits , if they do not match, an alarm 415 is generated, an automatic report is sent to the security service with a report on the attempt to enter from an unregistered IP addresses, and if the IP i value matches the IP bit value, further verification is carried out according to the algorithm of the invention.

Сравнивают значение 412 HWID-номера i-го структурного элемента Hi АС из пользовательского контекста с значениями HWID-номеров из множества Нразр, в случае их несовпадения - формируют сигнал тревоги 415, происходит автоматический доклад в службу безопасности с выводом отчета о попытке проникновения с незарегистрированного HWID-номера, а при совпадении значения IPi со значением IРразр - осуществляют дальнейшую проверку согласно алгоритма изобретения.The value 412 of the HWID number of the i-th structural element H i AC from the user context is compared with the values of the HWID numbers from the set H bit ; if they do not match, an alarm 415 is generated, an automatic report is sent to the security service with a report on an attempt to penetrate unregistered HWID-number, and if the IP i value matches the IP bit value - further verification is carried out according to the algorithm of the invention.

Сравнивают значение 413 роли пользователя i-го структурного элемента Ri АС из пользовательского контекста с значениями ролей пользователей из множества Rpaзp, в случае их несовпадения - формируют сигнал тревоги 415, происходит автоматический доклад в службу безопасности с выводом отчета о попытке создания запроса с ролью, несоответствующую праву доступа, а при совпадении значения Ri со значением Rразр переходят к выбору строки 414, подлежащей рассмотрению при построении результата запроса.The value 413 of the user role of the i-th structural element R i АС from the user context is compared with the values of user roles from the set R pp ; if they do not match , an alarm 415 is generated, an automatic report is sent to the security service with a report on an attempt to create a request with the role , which does not correspond to the access right, and if the values of R i coincide with the value of R bit go to the choice of line 414, which should be considered when constructing the query result.

Сравнивают дескриптор защиты 420 строки с информацией из пользовательского контекста, в случае несовпадения дескриптора защиты строки с информацией из пользовательского контекста - проверяют наличие оставшихся строк в таблице на этапе 430. Если дескриптора защиты строки совпал с информацией из пользовательского контекста на этапе 420, то переходят на этап 440, в котором сравнивают информацию в строке таблицы с запрашиваемой информацией из запроса для построения результата запроса. В случае отсутствия запрашиваемой информации в строке для построения результата запроса - возвращают на этап 414 выбора строки, подлежащей рассмотрению при построении результата запроса. В случае наличия запрашиваемой информации в строке для построения результата запроса - используют упомянутую строку для построения результата запроса 450.Compare the security descriptor 420 of the line with information from the user context, if the security descriptor of the line does not match the information from the user context, check for the remaining rows in the table at step 430. If the security descriptor of the line matches the information from the user context at 420, then go to step 440, which compares the information in the row of the table with the requested information from the query to build the result of the query. If there is no requested information in the line for constructing the query result, they return to step 414 of selecting the row to be considered when constructing the query result. If the requested information is in the line for constructing the result of the query, use the mentioned line to build the result of the query 450.

Проверяют наличие оставшихся строк 430 в таблице, в случае если есть еще строки в таблице - возвращают на этап 414 выбора строки, подлежащей рассмотрению при построении результата запроса. В случае если строк больше не осталось - выполняют 470 преобразование результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра (УЦ) и выводят результат 480 запроса в соответствии с правом доступа в закодированном виде в соответствии с его правами доступа.Check for the remaining rows 430 in the table, if there are more rows in the table, return to step 414 the selection of the row to be considered when constructing the query result. If there are no more lines left, they perform 470 conversion of the request result by encoding in accordance with the specified conversion function F (x) using the key X received from the Certification Authority (CA) and the result of the 480 request is displayed in accordance with the access right in encoded form according to his access rights.

Для детального понимания процесса преобразования выводимой информации 470 методом кодирования, в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от УЦ, обратимся к фиг. 5, где предварительно задают исходные данные 501: функцию преобразования F(x) с ключом X, получаемому от УЦ и набор таблиц с данными Т1, Т2, …, Tn как результат запроса к МБД. Полученные данные передают в блок 502, где осуществляют подсчет количества полученных таблиц Nk, подсчет количества строк Nki и столбцов Nkj для каждой таблицы и устанавливают номер обрабатываемой таблицы k. Далее проверяют 503, все ли таблицы обработаны. В случае, если не все таблицы обработаны - определяют 504 номер строки, с которой начинается обработка всех строк k-ой таблицы.For a detailed understanding of the process of converting the output information 470 by the encoding method, in accordance with the specified conversion function F (x) using the key X received from the CA, we turn to FIG. 5, where the initial data 501 is preliminarily set: the conversion function F (x) with the key X received from the CA and a set of tables with data T 1 , T 2 , ..., T n as a result of a query to the MDB. The data obtained is transmitted to block 502, where the number of received tables N k , the number of rows N ki and columns N kj for each table are counted, and the number of the processed table k is set. Next, check 503 to see if all the tables have been processed. If not all tables have been processed, they determine 504 the row number with which the processing of all rows of the k-th table begins.

Далее проверяют 505, все ли строки k-ой таблицы обработаны. В случае, если не все строки k-ой таблицы обработаны - изменяют i-ю строку 506 в соответствии с заданной функцией преобразования F(x), выбирают 507 новую строку, для чего переходят в блок проверки 505. В случае, если все строки k-ой таблицы обработаны - определяют 508 номер столбца, с которого начинается обработка всех столбцов k-ой таблицы.Next, check 505 whether all rows of the k-th table are processed. If not all rows of the k-th table are processed - change the i-th row 506 in accordance with the specified conversion function F (x), select 507 a new row, for which they go to check block 505. In case all rows k -th table processed - determine the 508 column number from which the processing of all columns of the k-th table begins.

Далее проверяют 509, все ли столбцы k-ой таблицы обработаны. В случае, если не все столбцы k-ой таблицы обработаны - изменяют j-й столбец 510 в соответствии с заданной функцией преобразования F(x), выбирают 511 новый столбец, для чего переходят в блок проверки 509. В случае, если все столбцы k-ой таблицы обработаны выбирают следующую таблицу 512, для чего переходят в блок проверки 503. В случае, если обработаны все таблицы, то осуществляют вывод 513 набора преобразованных таблиц Т'1 Т'2, …, Т'n.Next, check 509 whether all the columns of the kth table are processed. If not all columns of the k-th table are processed, change the j-th column 510 in accordance with the specified transformation function F (x), select 511 a new column, for which go to check block 509. If all columns k of the processed tables, select the following table 512, for which they go to the checker 503. If all the tables are processed, 513 sets of converted tables T ' 1 T' 2 , ..., T ' n are output.

Функция преобразования F(x) осуществляет перестановку строк и столбцов в таблицах по ключу X, который получают централизованно от УЦ распределения ключевой информации.The conversion function F (x) permutes rows and columns in the tables by the key X, which is obtained centrally from the CA distribution of key information.

Исходя из подробного описания, приведем пример с заданными информационными полями:Based on the detailed description, we give an example with the specified information fields:

- на фиг. 6 изображена возможная таблица 600 со следующими информационными столбцами: ФИО 620, город 630, оклад 640, дескриптор защиты 650, каждая строка (6101 6102, 6103) описывает конкретных пользователей согласно информационным столбцам;- in FIG. 6 shows a possible table 600 with the following information columns: full name 620, city 630, salary 640, security descriptor 650, each row (610 1 610 2 , 610 3 ) describes specific users according to the information columns;

- на фиг. 7 изображена возможная таблица, имеющая следующие дескрипторы защиты 700 с заданными параметрами: дескриптор защиты 720, список управления доступом 730 и строки дескрипторов защиты (7101, 7102, 7103) описывающих права доступа пользователей;- in FIG. 7 illustrates a possible table having the following security descriptors 700 with predetermined parameters: security descriptor 720, access control list 730, and security descriptor lines (710 1 , 710 2 , 710 3 ) describing user access rights;

- на фиг. 8 изображена возможная таблица 800, с заданными временными параметрами: время назначения 840 и время увольнения 850 сотрудника ФИО 820 из отдела 830, каждая строка (8101 8102, 8103) описывает конкретных пользователей согласно информационным столбцам;- in FIG. 8 shows a possible table 800, with the given time parameters: the appointment time 840 and the dismissal time 850 of the employee, full name 820 from department 830, each row (810 1 810 2 , 810 3 ) describes specific users according to the information columns;

- на фиг. 9 изображена возможная таблица 900 с множествами разрешенных IP-адресов 930, HWID-номеров 940 и ролей пользователей 950, каждая строка (9101 9102, 9103) описывает права доступа конкретного должностного лица, с конкретного IP-адреса, с заданным HWID-номером и дескриптором защиты строки 920.- in FIG. Figure 9 shows a possible table 900 with sets of allowed IP addresses 930, HWID numbers 940 and user roles 950, each line (910 1 910 2 , 910 3 ) describes the access rights of a particular official, from a specific IP address, with a given HWID- line number and security descriptor 920.

Все эти таблицы 600, 700, 800 и 900 являются связанными. Роли пользователей также могут задаваться отдельными таблицами с иерархической структурой.All of these tables 600, 700, 800 and 900 are related. User roles can also be defined in separate tables with a hierarchical structure.

Когда пользователь Иван запрашивает БД 180 (таблица 600) по «всем позициям», слово «Иван» является пользовательским контекстом, предоставляемым вместе с запросом в процессор 150 БД. После этого процессор 150 БД извлекает информацию о защите, хранящуюся в запоминающем устройстве и сравнивает по таблице 900 значение IP-адреса i-го структурного элемента IPi АС из пользовательского контекста со значением IP-адреса из столбца таблицы 930 IРразр, значение HWID-номера i-го структурного элемента Hi АС из пользовательского контекста со значением HWID-номера из столбца таблицы 940 Нразр, значение роли пользователя i-го структурного элемента Ri АС со значением роли пользователя Rpaзp из столбца таблицы 950, в случае, если данные условия не удовлетворяют заданным параметрам - формируют сигнал тревоги, в случае, если условия проверки удовлетворяют параметрам - процессор 150 БД запрашивает БД 180 и предварительно принимает все три строки. Однако процессор 150 БД затем извлекает информацию о дескрипторе защиты, хранящуюся в запоминающем устройстве 170, связанную с каждой из трех строк, и на основании пользовательского контекста возвращает только первую строку, поскольку пользователь Иван имеет полномочия только считывать эту строку. Вместе с тем, если Администратор делает тот же запрос (например, по «всем позициям»), то возвращаются все три строки, поскольку Администратор имеет полномочия считывать все строки и/или записывать в них. На последнем этапе происходит преобразование информации методом перестановка строк и столбцов в таблице функцией преобразования F(x) по ключу X.When the user Ivan requests the database 180 (table 600) for “all positions”, the word “Ivan” is the user context provided along with the request to the database processor 150. After that, the database processor 150 retrieves the security information stored in the storage device and compares, according to table 900, the IP address value of the i-th structural element IP i AC from the user context with the IP address value from the column of table 930 IP bit , the value of the HWID number of the i-th structural element H i AC from the user context with the value of the HWID number from the column of the table 940 N bit , the value of the user role of the i-th structural element R i AC with the value of the user role R razp from the column of the table 950, in case the data conditions do not satisfy etvoryayut specify parameters - form an alarm if the parameters satisfy the test conditions - the processor 150 queries database 180 and database previously receives all three rows. However, the database processor 150 then retrieves the security descriptor information stored in the storage device 170 associated with each of the three lines, and based on the user context returns only the first line, since user Ivan has the authority to only read this line. However, if the Administrator makes the same request (for example, “all positions”), then all three lines are returned, since the Administrator has the authority to read all lines and / or write to them. At the last stage, the information is converted by the permutation of rows and columns in the table by the conversion function F (x) with the key X.

И пользователь Иван и администратор БД получат строки с запрашиваемыми данными согласно своих дескрипторов защиты, однако эти данные будут перемешанными и неразборчивыми для смыслового содержания. Только пользователь, у которого есть ключ X, полученный от УЦ, сможет расшифровать полученную таблицу с данными с помощью функции преобразования F(x) и извлечь из нее полезную информацию.Both user Ivan and the database administrator will receive rows with the requested data according to their security descriptors, however, this data will be mixed and illegible for semantic content. Only a user who has the key X received from the CA will be able to decrypt the resulting table with data using the conversion function F (x) and extract useful information from it.

Если даже представить, что злоумышленник знает пароль от рабочего места допущенного должностного лица, зайдет именно с его персонального ЭВМ, обратится к БД от допущенного IP-адреса соблюдая все роли, и попытается получить информацию от БД - то ему придет ответ на запрос в закодированном виде, который, без суточного ключа, получаемого от УЦ не будет представлять никакой смысловой нагрузки.If you even imagine that the attacker knows the password from the workplace of an authorized official, logs in from his personal computer, contacts the database from the approved IP address, observing all the roles, and tries to get information from the database, he will receive a response to the request in encoded form , which, without the daily key received from the CA will not represent any semantic load.

На основе проведенных расчетов и описания видно, что в процессе защищенного доступа и представления информации в БД, обеспечивается защита доступа к БД, снижается вычислительная нагрузка на БД, а также повышается защита информации в БД от внутреннего и внешнего нарушителя. Это достигается за счет проверки принадлежности IP-адреса множеству разрешенных IP-адресов, с которых осуществляется доступ, принадлежности HWID-номера множеству разрешенных HWID-номеров, повышенной проверки ролей пользователей на право формирования данного запроса к БД, а также преобразования выводимой информации в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от УЦ.Based on the calculations and description, it is clear that in the process of secure access and presentation of information in the database, access to the database is protected, the computational load on the database is reduced, and the protection of information in the database from internal and external intruders is increased. This is achieved by checking that the IP address belongs to the set of allowed IP addresses from which access is made, the HWID number belongs to the set of allowed HWID numbers, increased checking of user roles for the right to form this request to the database, and also converting the displayed information in accordance with given by the transformation function F (x) with the key X obtained from the CA.

Claims (1)

Способ защищенного доступа к базе данных, заключающийся в том, что принимают информацию, включающую в себя запрос и пользовательский контекст, выбирают строку, подлежащую рассмотрению при построении результата запроса, сравнивают дескриптор защиты строки с информацией из пользовательского контекста и в случае их несовпадения проверяют наличие оставшихся строк в таблице базы данных, а при их совпадении проверяют вклад строки базы данных в результат запроса и при его отсутствии переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а в случае его наличия используют упомянутую строку при построении результата запроса и проверяют наличие оставшихся строк в таблице базы данных, в случае их наличия переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при их отсутствии выводят результат запроса в соответствии с правом доступа, отличающийся тем, что предварительно задают разрешенные IР-адреса, HWID-номеpa и роли пользователей структурных элементов автоматизированной системы в виде множеств IРразр={IР1, IР2, …, IРn}, Нразр={Н1 Н2, …, Нn} и Rpaзp={R1 R2, …, Rm} для повышенной проверки прав доступа к базе данных, а после приема информации, включающей в себя запрос и пользовательский контекст, сравнивают значение IP-адреса i-го структурного элемента IРi автоматизированной системы из пользовательского контекста со значениями IР-адресов из множества IРразр, в случае их несовпадения формируют сигнал тревоги и переходят к выводу результата запроса в соответствии с правом доступа, а при совпадении значения IР-адреса i-го структурного элемента IРi автоматизированной системы из пользовательского контекста со значениями IР-адресов из множества IРразр сравнивают значение HWID-номера i-го структурного элемента Нi автоматизированной системы из пользовательского контекста со значениями HWID-номеров из множества Нразр, в случае их несовпадения переходят к формированию сигнала тревоги, а при совпадении значения HWID-номера i-гo структурного элемента Hi автоматизированной системы из пользовательского контекста со значениями HWID-номеров из множества Нразр сравнивают значение роли пользователя i-го структурного элемента Ri автоматизированной системы из пользовательского контекста со значениями ролей пользователей из множества Rpaзp, в случае их несовпадения переходят к формированию сигнала тревоги, а при совпадении значения роли пользователя i-го структурного элемента Ri автоматизированной системы из пользовательского контекста со значениями ролей пользователей из множества Rpaзp переходят к выбору строки, подлежащей рассмотрению при построении результата запроса, а при отсутствии строк в таблице базы данных выполняют преобразование результата запроса методом кодирования в соответствии с заданной функцией преобразования F(x) по ключу X, получаемому от Удостоверяющего Центра, и переходят к выводу результата запроса в соответствии с правом доступа в закодированном виде.The method of secure access to the database, which consists in accepting information that includes the request and user context, selects the line to be considered when constructing the result of the request, compares the security descriptor of the line with information from the user context and, if they do not match, check for the remaining rows in the database table, and if they match, check the contribution of the database row to the query result and, if there is none, go to the selection of the row to be considered when posting digging the query result, and if there is one, use the mentioned line when building the query result and check for the remaining rows in the database table, if there are any, go to the selection of the row to be considered when constructing the query result, and if not present, display the query result in according to the access rights, characterized in that the pre-set permitted IP addresses, HWID-nomepa user roles and structural elements of the automated system in the form of sets of bit IP = IP {1, IP 2, ..., I n}, N bits = {H 1, H 2, ... H n} and R pazp = {R 1, R 2, ..., R m} for improved verification of access rights to the database, and receiving the information including the request and the user context, compare the IP address value of the i-th structural element IP i of the automated system from the user context with the values of the IP addresses from the set of IP bits , in case of mismatch, they generate an alarm and proceed to output the query result in accordance with the access right, and if the values of the IP address of the i-th structural element of the IP i automate the system from the user context with the values of IP addresses from the set IP bit compare the value of the HWID number of the i-th structural element Н i of the automated system from the user context with the values of HWID numbers from the set Н bit , in case of mismatch proceed to the formation of an alarm and when the values of the HWID number of the i-th structural element H i of the automated system from the user context coincide with the values of the HWID numbers from the set H bit , the role value of the user role of the i-th structure is compared of the element R i of the automated system from the user context with the values of user roles from the set R ra , in case of their mismatch proceed to the formation of an alarm, and if the value of the user role of the i-th structural element R i of the automated system from the user context coincides with the values of the roles of the users a plurality of r pazp transferred to the selection line to be considered in constructing the query result, and when there is no row in the database table operate transformation p query result encoding method in accordance with a predetermined conversion function F (x) by a key X, obtainable from the Certification Center and proceeds to conclusion query result in accordance with the access rights in encrypted form.
RU2019106245A 2019-03-04 2019-03-04 Secure method of access to database RU2709288C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2019106245A RU2709288C1 (en) 2019-03-04 2019-03-04 Secure method of access to database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2019106245A RU2709288C1 (en) 2019-03-04 2019-03-04 Secure method of access to database

Publications (1)

Publication Number Publication Date
RU2709288C1 true RU2709288C1 (en) 2019-12-17

Family

ID=69006948

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019106245A RU2709288C1 (en) 2019-03-04 2019-03-04 Secure method of access to database

Country Status (1)

Country Link
RU (1) RU2709288C1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2722285C1 (en) * 2019-12-27 2020-05-28 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Authentication method of articles
RU2757165C1 (en) * 2021-04-18 2021-10-11 Арташес Валерьевич Икономов Method for obtaining personalized user information
RU2774098C1 (en) * 2021-04-06 2022-06-15 Федеральное государственное казенное военное образовательное училище высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method of protecting relational database descriptors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1320011A2 (en) * 2001-12-12 2003-06-18 Pervasive Security Systems Inc. Method and architecture for providing pervasive security to digital assets
RU2308755C2 (en) * 2002-03-18 2007-10-20 Теленор Аса System and method for providing access to protected services with one-time inputting of password
RU2373571C2 (en) * 2004-03-29 2009-11-20 Майкрософт Корпорейшн Systems and methods for control realised by means of access at level of minor structural units over data stored in relational databases
RU2628170C2 (en) * 2011-10-11 2017-08-15 Парамаунт Пикчерз Корпорейшн System and control method of access to content distributed on network
US10140467B1 (en) * 2017-10-16 2018-11-27 Dropbox, Inc. Workflow functions of content management system enforced by client device
US20190018801A1 (en) * 2015-03-25 2019-01-17 Vera Securing files

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1320011A2 (en) * 2001-12-12 2003-06-18 Pervasive Security Systems Inc. Method and architecture for providing pervasive security to digital assets
RU2308755C2 (en) * 2002-03-18 2007-10-20 Теленор Аса System and method for providing access to protected services with one-time inputting of password
RU2373571C2 (en) * 2004-03-29 2009-11-20 Майкрософт Корпорейшн Systems and methods for control realised by means of access at level of minor structural units over data stored in relational databases
RU2628170C2 (en) * 2011-10-11 2017-08-15 Парамаунт Пикчерз Корпорейшн System and control method of access to content distributed on network
US20190018801A1 (en) * 2015-03-25 2019-01-17 Vera Securing files
US10140467B1 (en) * 2017-10-16 2018-11-27 Dropbox, Inc. Workflow functions of content management system enforced by client device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2722285C1 (en) * 2019-12-27 2020-05-28 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Authentication method of articles
RU2774098C1 (en) * 2021-04-06 2022-06-15 Федеральное государственное казенное военное образовательное училище высшего образования "Краснодарское высшее военное орденов Жукова и Октябрьской Революции Краснознаменное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Method of protecting relational database descriptors
RU2757165C1 (en) * 2021-04-18 2021-10-11 Арташес Валерьевич Икономов Method for obtaining personalized user information
WO2022225425A1 (en) * 2021-04-18 2022-10-27 Арташес Валерьевич ИКОНОМОВ Method for acquiring personalized information about a user

Similar Documents

Publication Publication Date Title
US7299171B2 (en) Method and system for processing grammar-based legality expressions
Xu et al. Building confidential and efficient query services in the cloud with RASP data perturbation
KR20090079248A (en) Pattern-based filtering of query input
US9069987B2 (en) Secure data access using SQL query rewrites
US8316417B2 (en) Method for dynamic secure management of an authenticated relational table in a database
WO2020024904A1 (en) Method and device for searching blockchain data, and readable storage medium
RU2709288C1 (en) Secure method of access to database
Ghazizadeh et al. Data integrity evaluation in cloud database-as-a-service
Miao et al. Ranked keyword search over encrypted cloud data through machine learning method
JP2004164555A (en) Apparatus and method for retrieval, and apparatus and method for index building
US9208234B2 (en) Database row access control
Wang et al. Bucket‐based authentication for outsourced databases
Wei et al. Integrity assurance for outsourced databases without DBMS modification
RU2745679C1 (en) Method for conducting migration and data replication using secured database access technology
Balpande et al. Data integrity and confidentiality in outsourced database
Padmavathi et al. Survey of confidentiality and integrity in outsourced databases
Le et al. Query access assurance in outsourced databases
Bender et al. Advanced data structures for improved cyber resilience and awareness in untrusted environments: LDRD report
Khanh Oblivious search and updates for outsourced tree-structured data on untrusted servers
Sohrabi et al. $\pi $ QLB: A Privacy-preserving with Integrity-assuring Query Language for Blockchain
Fengxiao et al. Privacy‐preserving outsourced gene data search in encryption domain
Pinkas et al. A simple recursive tree oblivious ram
Nalini et al. SecQSON: Secure Query Scheduling and Ontology-Based Searching in Map-Evaluate-Reduce-Enabled Grid Environment
Wang et al. Parallel Integrity Authentication Data Structure Construction for Encrypted Range Queries
Cao et al. Efficient and Flexible Index Access in MapReduce.