Научная статья на тему 'Контроль логических выводов в семантических базах данных'

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

CC BY
271
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕМАНТИЧЕСКАЯ БАЗА ДАННЫХ / ТРИПЛЕТЫ / КОНТРОЛЬ ДОСТУПА / ЛОГИЧЕСКИЙ ВЫВОД / SEMANTIC DATABASE / TRIPLE / SECURITY ACCESS / INFERENCE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хоанг Ван Кует, Тузовский Анатолий Федорович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хоанг Ван Кует, Тузовский Анатолий Федорович

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

The article considers the method for solving the problem of controlling user asses to semantic databases containing simple statements consisting of three elements (triples). The application of this method does not allow admitting the obtaining of data using which the users may get logically the forbidden information. The authors set the task of controlling inferences based on the data obtained and proposed the algorithms for its solution.

Текст научной работы на тему «Контроль логических выводов в семантических базах данных»

УДК 004.415

КОНТРОЛЬ ЛОГИЧЕСКИХ ВЫВОДОВ В СЕМАНТИЧЕСКИХ БАЗАХ ДАННЫХ

Хоанг Ван Кует, А.Ф. Тузовский

Томский политехнический университет E-mail: student8050@sibmail.com

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

Ключевые слова:

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

Key words:

Semantic database, triple, security access, inference.

Введение

Одним из современных направлений развития информационных технологий является переход к работе с семантикой информации. В основном эти работы связаны с созданием следующего поколения Web сети, называемой Semantic Web [1]. Работы в данном направлении инициируются и активно поддерживаются организацией W3C, которая уже приняла набор стандартов, связанных с Semantic Web, таких, как языки RDF, RDFS, OWL, SPARQL и RIF. Совместно все эти стандарты называются семантическими технологиями. Взаимосвязи между языками Semantic Web показаны на рис. 1.

Доверие

Доказательств о

Унифицированная

логика

SPARQL OWL RIF

RDFS

RDF

XML

1 JRMRI

Рис. 1. Стек технологий концепции Semantic Web

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

технологий, как RDFS и OWL, которые также основаны на RDF.

Для хранения больших объемов RDF данных в настоящее время разработаны специальные семантические базы данных, как, например, Virtuoso, Sesame [2]. Для описания запросов к таким базам данных используется специальный язык SPARQL [3].

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

Основные понятия обеспечения безопасности

семантических баз данных

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

Под семантической базой данных в данной статье понимается некоторый RDF-граф G, состоящий из множества вершин P (множество субъектов и объектов) и множества рёбер E (множество предикатов). В общем виде семантическая база данных может описываться следующим образом: G=(P,E), где P - это вершины, используемые в качестве субъектов или объектов триплетов; E -это ребра, используемые в качестве предикатов триплетов (отношения между субъектами и объектами) [5].

Для описания прав пользователей семантической базы данных используются уровни доступа. Под уровнем доступа RyAB(S,P,PS,C) понимается утверждение о том, как элемент А связан с элементом В с помощью бинарного отношения у. Для каждого уровня доступа R задается индекс безопасности AC=(S,P,PS,C), состоящий из 4 показателей: чувствительность S задает уровень значимости или важности связи (предиката), а также её уязвимости перед несанкционированным лицом; приватность Р задает права владельца на возможность передачи данной информации другим пользователям; персональная безопасность PS определяет уровень защиты персональной информации человека или организации; конфиденциальность C задаёт возможность использования данной информации с другими ресурсами.

Каждый показатель S, P, PS, C может принимать значения из множества меток безопасности Х={неклассифицированный (Ьи), конфиденциальный (LC), секретный (LS) и сверхсекретный (Lra)}, где LU<LC<LS<LirS. В рассматриваемой задаче контроля логических выводов предполагается, что эти показатели могут принимать только значение 0 (unclassified) или значение 1 (confidential).

Права доступа пользователей к данным также задаются с помощью 4 показателей: чувствительности, приватности, персональной безопасности и конфиденциальности и записываются как ACs=(Ss,Ps,PSs,Q.

Для пояснения работы метода контроля логических выводов удобно использовать два типа графов, описывающих связи между элементами графа семантической базы данных: видимый граф и логический граф. Для пользователя, имеющего уровень доступа ACs, видимым графом является граф Gs, состоящий из триплетов, к элементам которых (субъекту, предикату и объекту) пользователь имеет доступ в соответствии с политикой безопасности. Таким образом, G<^G. Под логическим графом Gs понимается граф, получаемый путем применения основных логических правил и добавления полученных результатов к графу G. При этом G^G .

Формальное описание задачи

контроля логических выводов

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

На множестве триплетов, получаемых из семантической базы, могут выполняться различные логические выводы. Если множество всех ресурсов (объектов или субъектов) обозначить как P={A,B,C,...,Z}, а множество всех бинарных отношений обозначить как X={X1,X2,...,Xn}, где и>1, тогда логические

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

• симметричность: если XteX является симметричным бинарным отношением, то для любых объектов A, BeP из триплета AXfi выводится триплет BXA;

• транзитивность: если XteX является транзитивным бинарным отношением, то для любых объектов A,B, Ce P (которые не совпадают АфВф C) из триплетов AXfi и BXfi выводится триплет AXC;

• импликация: если бинарное отношение XeXзаключает в себе отношение XjeX, то для любых объектов A,BeP из триплета AXB выводится триплет AXfi;

• корреляция: если XeX является корреляционным бинарным отношением, то для любых не совпадающих объектов A,B,C,DeP(т. е. A^C, ВфС, АфБ, ВфБ) из триплетов AXBи CX.fi выводится триплет AX C;

• декомпозиция: если XeX является разложимым бинарным отношением, то для любых не совпадающих объектов A,BeP (т. е. АфВ) из триплета AXfi выводятся два триплета AXA и BXfi. В семантической базе данных для любого пользователя s, имеющего уровень доступа ACs, несанкционированным логическим выводом является процесс добавления дополнительного ребра е к видимому графу Gs, где ее G\Gs. На основе этого можно сделать вывод о том, что доступ к семантической базе данных будет нарушаться только в случае, когда полученная связь между вершинами находится в невидимой части данных.

Таким образом, метод решения задачи обнаружения нарушений логических выводов заключается в поиске всех связей, находящихся в невидимой части графа G\GS.

Алгоритмы решения задачи

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

Алгоритм 1: определение возможности получения логических выводов между двумя вершинами.

Введем понятие потока информации - для вершины А, под потоком информации С(А) понимается множество всех рёбер, непосредственно связанных с вершиной А. Предположим, что в графе GS вершины А и В имеют потоки информации C(A) и C(B), где C(A),C(B)çGs'. Если C(A)nC(B)=0, то пользователь не может выполнять логические выводы с использованием данных вершин и их связей. На основе этого можно описать алгоритм определения возможности возникновения логических выводов из известных связей и вершин, показанный на рис. 2.

В соответствии с этим алгоритмом, если между вершинами А и В обнаружены связи, то пользователь может применять логические правила и полу-

Рис. 2. Алгоритм определения возможности получения логических выводов из двух вершин

чать выводы. В противном случае, пользователь не может получить логических выводов из вершин А и В. Входными данными алгоритма 1 являются множества всех вершин и рёбер графа. Выходными данными являются вершины, между которыми имеется возможность выполнять логический вывод.

Алгоритм 2: определение возможности получения логических выводов между двумя вершинами А и В, имеющими разные максимальные уровни безопасности.

Предположим, что в графе О[ вершины А и В имеют потоки информации С(А) и С(В), где С(А),С(В)сО^. Пусть С(А) имеет максимальный уровень т, а С (В) имеет максимальный уровень п, где п>т, пользователь имеет уровень доступа АС=с1 и не имеет доступа к какой-то части данных. Часть потока информации вершины А, содержащая только триплеты, уровни безопасности которых не больше, чем т, обозначается как С0^т(А).

Часть потока информации вершины В, содержащая только триплеты, уровни безопасности которых не больше, чем п, обозначается как С0^т(В). Булева переменная В. используется для указания возможности связать вершины А и В. Если В=Ые, то вершины А и В могут быть связаны; а если В=/аЬе, то вершины А и В связать нельзя.

В зависимости от значения уровня доступа пользователя с1 поиск общей связи информации между вершинам А и В выполняется в следующих случаях:

• Если с1<т, то осуществляется поиск общих связей между потоками информации С0^с;(А) и Снс(В).

• Если с1<п и с1>т, то осуществляется поиск общих связей между потоками информации

С0^т(А) и С0^с1(В).

• Если с1>п, то осуществляется поиск общих связей между потоками информации С0^т(А) и Снп(В).

Рис. 3. Алгоритм определения возможности получения логических выводов из двух вершин, имеющих разные уровни права доступа

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

Алгоритм 3: обнаружение нарушений логических выводов.

Обозначим множество всех связей, имеющих более высокие уровни безопасности, чем уровень доступа пользователя АС„ как Ек, где Ек={е;.ее О\Ои где е! является ребром}, а множества всех раскрытых и безопасных связей, имеющих высокие уровни безопасности, обозначаются как Её и Еа, соответственно.

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

Шаг 1: определение видимых пользователем частей графа.

Разделение всех связей на связи, у которых уровень меньше, чем уровень доступа пользователя и связи, у которых уровень больше, чем уровень доступа пользователя (такие связи будут помечаться) [7]. Таким образом, выполняется определение видимого графа О, и множества связей, имеющих высокие уровни безопасности Е=[е;. е;е О\О5}.

Шаг 2: применение основных логических правил для получения логического графа ОI Связи, полученные в результате логического вывода, которые находятся в невидимых частях графа, называются раскрытыми связями. Такие связи будут специальным образом помечаться. Остальные связи, не находящиеся в невидимых частях графа, называются обычными связями. Таким образом, выполняется определение и добавление раскрытых связей е1 к множеству Её, где ее О'ДО,.

Шаг 3: применение алгоритма 1 для помеченных вершин логического графа О,. Если существует одна или несколько связей между двумя такими вершинами, то к ним возможно, с некоторой ве-рояностью [8], применять логические правила. Если между двумя вершинами невозможно получить вывод на более высоком уровне безопасности, то все связи между ними являются безопасными, в противном случае все связи между ними являются подозреваемыми; Таким образом выполняется определение и добавление безопасных связей е1 к множеству Еа, где ее ЕДЕ*

Шаг 4. если найдены подозреваемые связи, то необходимо рассчитать вероятность их выполнения с использованием теории вероятностей. Выполнение таких логических выводов будем называть вероятностным выводом. Если вероятность такого логического вывода больше или равна заданной вероятности р (пороговому значению), то эти подозреваемые связи помечаются как раскрытые связи, в противном случае они помечаются как безопасные связи. Таким образом выполняется определение и добавление безопасных связей е1 и раскрытых связей е] в Еа и Её путем сравнения вероятности логического вывода с заданным значением р, где е! и ееЕДЕДЕш.

Пример применения разработанных алгоритмов

для контроля логических выводов

Рассмотрим следующий пример. пусть имеется семантическая база данных, которая содержит множество триплетов со своими индексами безопасности В={В1АВ(0100), В5А(0110), В9ав(1100), В8ав(0000), ВУ1111), В'ве(0000), В2вс(1110), В6Св(1100), В3св(1000), В75С(0110), В‘%(1100), Вм(1110)}. Предположим, что пользователь имеет уровень доступа АС=(1100).

Требуется определить набор триплетов, которые пользователь может использовать для выполнения вывода данных, превышающих его уровень доступа АС5.

На рис. 4 показан фрагмент RDF-графа.

Л^(ОИО) £‘.«(0100)

а4ш(ніоі\0<^

Л10д(1Ю0)^^

Рис. 4. Граф связей между элементами триплетов в базе данных

Используемые в данном графе отношения {ХЬХ2,...,Х10} обладают следующими свойствами: Х1 является симметричной связью; Х3 - транзитивной связью; <Х6,Х8> - доминирующее правило (в данной задаче <Х9,Х5> - левое доми-

нирующее правило, т. е., если Л и Ц левое доминирующее правило, то хЛу^-хЛ^, х^у (в данной задаче, Л ^Лл).

Для решения данной задачи безопасности семантической базы данных может быть применен алгоритм 3.

Шаг 1: определение видимых триплетов (граф О).

При выполнении прямой проверки прав доступа пользователям нельзя видеть триплеты Цл(0110), ЛУП11), Л*м(Ш0), ^(0110), Л2ВС(1110), так как их уровень доступа меньше, чем уровень безопасности триплетов. На рис. 5 показан видимый пользователю граф триплетов.

Шаг 2: определение логических и видимых триплетов (граф О').

В соответствии с заданными правилами Л>АВ доминирует над Л5а и Л6СВ доминирует над Л8^, в результате получается логический граф, представленный на рис. 6.

Шаг 3: определение раскрытых, безопасных и подозреваемых триплетов.

Один из двух логических результатов Л А является нарушенным триплетом, потому что Л 5АєО\Оу В результате будут получены: раскрытая связь Л А

и неясные связи В9ае(1111), В45Е(1110), В75С(0110), В2вс(1110). Для контроля неясных связей необходимо проверить такие пары вершин, как {<А,Е>,< ДЕ>,<ДС>,<С,В>}.

Л'^ОІОО)

Л10д(ПОО)

Рис. 5. Граф триплетов, видимых пользователю &Л Ä^(0100)

Рис. 6. Логический граф

Так как известно, что.

• С(А)пС(Е)ф0 (между вершинами А и Е существует общая вершина В), значит, из них может следовать другой триплет;

• С(Б)пС(Е)=0, значит, из них не может следовать другой триплет;

• С(Б)пС(С)=0, значит, из них не может следовать другой триплет;

• С(В)пС(С)ф0, значит, из них может следовать другой триплет.

После этого шага получается множество нарушенных связей {В5а}, множество безопасных связей {В45Е(1110), В75С(0110)} и множество подозреваемых связей {В9ае(1111), В2вс(1110)}.

Шаг 4: проверка выводимых триплетов.

Вначале проверяется связь В9ае(1111) между вершинами А и Е. основными триплетами, не влияющими на подозреваемую связь В9ае(1111), являются {В3св,В6св,В8св,В105}; основными триплетами, влияющими на подозреваемую связь В9ае(1111), являются {в1ав,В9ав,В8ав,В1вЕ}.

Тогда можно определить цепочки логического вывода {В‘ав,В‘ве}, {Валове}, {В8ав,В1ве}. Сихпомо-щью пользователь, с некоторой вероятностью, может выводить триплет В9ае.

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

Для того чтобы пользователь не смог вывести В9ае, в этих парах не должен присутствовать один из элементов. В данном случае пользователю нельзя видеть триплет В1вЕ или, по крайней мере, один из триплетов {В1ав,В9ав,В8ав}.

Теперь переходим к проверке связи В2вс между вершинами В и С. связи ВАВ, В8ав, ВАВ, В'ВЕ и В'% не имеют отношений с В2вс, а связи В3СВ, В6СВ, В8ВС имеют отношения с В2вс. Из этих триплетов пользователь может вывести В2вс с некоторой вероятностью. Для того чтобы пользователь не мог это сделать, ему должны быть невидимы триплеты В3СВ, В6СВ, В8ВС.

Заключение

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

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

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

1. Berners T The Semantic Web // Scientific American. - 2001. -№ 120. - P. 220-225.

2. Ford W. Security constraint processing in a distributed database management system // IEEE Transactions on Knowledge and Data Engineering. - 1995. - № 85. - P. 274-293.

3. Duchanrne B. Learning SPARQL. - California: Gravenstein Highway North, 2011. - 256 p.

4. Thuraisingham B. Secure Sematic Web Services. - Texas: Department of Computer Science, 2007. - 286 p.

5. Fensel D. Layering the semantic web: Problems and Directions // International semantic web Conference. - 2002. - № 74. -P. 476-485.

6. Thuraisingham B. Building Trustworthy Semantic Webs. - Texas: Department of Computer Science, 2008. - 434 p.

7. Morgenstern M. Controlling logical inference in multilevel database systems // Proceedings of the IEEE Symposium on Security and Privacy. - 1988. - № 74. - P. 245-255.

8. Dechter R. A unifying framework for probabilistic inference // Uncertainty in Artificial Intelleigence. - 1996. - № 74. - P. 2l1-219.

nocmymma 13.09.2012 г.

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