Содержание к диссертации
Введение
Глава 1. Обеспечение безопасности семантических баз данных 11
1.1. Семантические технологии Semantic Web 11
1.2. Семантические базы данных 24
1.3. Системы управления семантическими базами данных 27
1.4. Информационные системы на основе семантических баз данных 29
1.5. Проблемы обеспечения безопасности семантических баз данных 34
1.6. Выводы по главе 42
Глава 2. Архитектура системы безопасности семантических баз данных 44
2.1. Онтологические модели в семантической базе данных 44
2.2. Средства обеспечения безопасности семантических баз данных 48
2.3. Предлагаемая архитектура системы обеспечения безопасности семантических баз данных 55
2.4. Постановка задач 62
2.5. Выводы по главе 70
Глава 3. Алгоритмы обеспечения безопасности семантических баз данных . 72
3.1. Алгоритмы согласования уровней безопасности элементов онтологии и метаданных 72
3.2. Алгоритм определения покрытия безопасности семантических баз данных 79
3.3. Алгоритм определения покрытия безопасности результатов логических выводов 83
3.4. Метод обнаружения нарушений результатов логических выводов 85
3.5. Алгоритм контроля выполнения запросов к семантическим базам данных 92
3.6. Пример контроля результатов логических выводов в СБД 95
3.7. Выводы по главе 101
Глава 4. Реализация и исследование алгоритмов обеспечения безопасности семантических баз данных 102
4.1. Реализация программного обеспечения 102
4.2. Исследование эффективности разработанных методов и алгоритмов 113
4.3. Описание внедрения 126
4.4. Выводы по главе 133
Заключение 134
Список сокращений и условных обозначений 136
Словарь терминов 137
Список иллюстративного материала 139
Литература 143
- Информационные системы на основе семантических баз данных
- Средства обеспечения безопасности семантических баз данных
- Алгоритм определения покрытия безопасности результатов логических выводов
- Исследование эффективности разработанных методов и алгоритмов
Введение к работе
Актуальность исследования. В настоящее время современные информационные системы организаций создаются на основе реляционных баз данных (БД), в которых в основном описывается синтаксис данных. Использование реляционных БД имеет ряд недостатков, таких, как жёсткость схем, недостаточная выразительность, сложность интеграции БД и отсутствие возможности выполнения логических выводов на данных. В связи с этим начинают создаваться и использоваться информационные системы организаций, основанные на семантических технологиях, основной идеей которых является переход от работы только с синтаксисом (структурой) информации к работе с её семантикой (смыслом) и к семантическому моделированию (с помощью онтологии) различных предметных областей. С учётом этого основным элементом семантических информационных систем становятся семантические базы данных (СБД), которые включают не только данные, но и семантические модели, на основе которых эти данные формируются. Для практического использования подобных систем требуется исследовать и разработать модели и алгоритмы для набора базовых сервисов. Одним из таких сервисов является обеспечение безопасности работы семантических БД. Задача данного сервиса заключается в том, что только пользователи, имеющие соответствующие права, смогут получить доступ к данным, хранящимся в семантической БД, и они не должны иметь какой-либо возможности получить неразрешённые им элементы онтологии и метаданных с помощью логических правил.
В настоящее время разработано много методов обеспечения информационной безопасности операционных систем и реляционных баз данных. Но данные методы не могут использоваться для обеспечения безопасности семантических БД. Это связано с тем, что для СБД характерна сильная иерархическая связанность между элементами, а кроме этого, в них имеется возможность получения новой информации на основе известных фактов путём использования логических правил. Для решения задач обеспечения безопасности СБД уже разработаны отдельные методы и алгоритмы, такие, как, например: контроль доступа пользователей на основе именованных RDF-графов, контроль доступа пользователей на уровне триплетов в RDF-хранилище. Этому посвящены работы таких зарубежных учёных, как: R. Kienast, С. Baumgartner L. Qin, V. Atluri, N. Yialelis, E. Lupu, M. Sloman, L. Wang, D. Wijesekera, S. Jajodia, Reddivari, P. L. Kagal, T. Finin, A. Joshi, T . Bhavani и др. Но разработанные методы и алгоритмы имеют ряд недостатков, которые не позволяют эффективно обеспечить комплексную безопасность СБД.
Целью исследования является разработка согласованного набора методов и алгоритмов контроля прямого доступа пользователей к элементам семантических баз данных и контроля результатов логических выводов, позволяющих обеспечить комплексную безопасность семантических баз данных.
Задачи исследования. Для достижения поставленной цели в работе определены следующие задачи исследования:
-
Анализ существующих моделей, методов и алгоритмов обеспечения безопасности работы семантических БД.
-
Разработка алгоритмов формирования согласованных уровней безопасности всех элементов онтологии, хранящихся в СБД.
-
Создание алгоритма определения уровней безопасности триплетов в семантических БД.
-
Разработка алгоритма определения уровней безопасности результатов логических выводов.
-
Разработка метода обнаружения нарушений безопасности результатов логических выводов.
-
Разработка алгоритма контроля полученных результатов при выполнении запросов к семантическим БД.
-
Создание архитектуры системы обеспечения безопасности семантических
БД.
8) Реализация программного обеспечения поддержки безопасности работы с
семантическими БД.
Объектом исследования является безопасность семантических БД при выполнении пользователями различных операций.
Предметом исследования являются методы и алгоритмы поддержки безопасности работы с семантическими БД.
Методы исследования. При выполнении диссертационной работы были использованы модели и методы теории множеств, теории графов, семантического моделирования, объектно-ориентированного проектирования и программирования.
Соответствие диссертации паспорту специальности. Работа соответствует следующим пунктам паспорта специальности 05.13.19 «Методы и системы защиты информации, информационная безопасность»:
П.8. Модели противодействия угрозам нарушения информационной безопасности для любого вида информационных систем.
П. 13. Принципы и решения (технические, математические, организационные и др.) по созданию новых и совершенствованию существующих средств защиты информации и обеспечения информационной безопасности.
П. 15. Модели и методы управления информационной безопасностью.
Научная новизна работы.
-
Разработаны алгоритмы согласования уровней безопасности элементов семантических БД, отличающиеся использованием принципа согласования уровней безопасности классов, свойств и индивидов.
-
Создан алгоритм определения покрытия безопасности семантических БД, отличающийся возможностью согласования и определения уровней безопасности RDF -триплетов.
-
Предложен алгоритм определения покрытия безопасности результатов логических выводов семантических БД, отличающийся возможностью определить уровни безопасности всех результатов логических выводов, полученных путём использования логических правил.
-
Создан метод обнаружения нарушений результатов логических выводов в семантических БД, отличающийся возможностью представления СБД в виде RDF-графов и контроля раскрытых триплетов, на основе которых пользователи могут получить неразрешённые результаты логических выводов путём использования логических правил.
-
Разработан алгоритм контроля полученных результатов при выполнении запросов к семантическим БД, отличающийся управлением ответами на прямые и логические запросы.
Практическая значимость диссертационной работы заключается в создании архитектуры обеспечения безопасности семантических БД, позволяющей с допустимыми задержками обеспечить поддержку безопасности СБД при значительной нагрузке, и в возможности практического использования разработанных методов и алгоритмов для поддержки безопасности работы семантических БД в информационных системах организаций. Это подтверждено путём создания прототипов программного обеспечения, на которые были получены два свидетельства Роспатента: «ContrLSD - программа контроля логических выводов в семантических базах данных» и «SecWSD - программа поддержки безопасности работы с семантическими базами знаний».
Предложенные в диссертационной работе методы и алгоритмы (и их программная реализация) прошли опытную эксплуатацию в компаниях «BAVIMILK» (Вьетнам, г. Ханой) и ООО «Томский завод резиновой обуви» (Россия, г. Томск), что подтверждено соответствующими актами. Кроме этого, разработанные методы и алгоритмы используются в учебном процессе кафедры оптимизации систем управления Института кибернетики НИ ТПУ.
Основные положения, выносимые на защиту:
-
Предложенные алгоритмы согласования уровней безопасности элементов семантических БД позволяют надёжно контролировать доступ пользователей к элементам онтологических моделей, хранящихся в семантических БД.
-
Разработанный алгоритм определения покрытия безопасности семантических БД обеспечивает эффективное управление доступом пользователей к каждому RDF -триплету метаданных.
-
Предложенный алгоритм определения покрытия безопасности логических выводов, позволяет выполнять проверку соответствия уровней безопасности результатов логических выводов уровням доступа пользователей.
-
Предложенный метод обнаружения нарушений результатов логических выводов позволяет надёжно контролировать результаты логических выводов в СБД.
-
Алгоритм контроля полученных результатов при выполнении запросов к семантическим БД гарантирует получение пользователями только тех результатов, которые соответствуют их уровням доступа.
-
Созданная архитектура системы обеспечения безопасности семантических БД позволяет с допустимыми задержками обеспечить поддержку безопасности СБД при значительной нагрузке.
Личный вклад автора. Все выносимые на защиту результаты получены автором лично.
Апробация работы. Основные положения и отдельные результаты исследования докладывались и обсуждались на следующих конференциях:
-
VII и VIII Международная научно-практическая конференция «Электронные средства и системы управления» (Томск, 2011, 2012);
-
V, VI и VII Всероссийские научно-практические конференции иностранных студентов, магистрантов и аспирантов, обучающихся в ТПУ «Коммуникация иностранных студентов, магистрантов и аспирантов, в учебно-профессиональной и научной сферах» (Томск, 2011, 2012, 2013);
-
IX Всероссийская научно-практическая конференция студентов, аспирантов и молодых учёных с международным участием «Молодёжь и современные информационные технологии» (Томск, 2012);
-
XVIII Международная научно-практическая конференция студентов и молодых учёных «Современные техника и технологии» (СТТ-2012);
-
X Всероссийская научно-практическая конференция студентов, аспирантов и молодых учёных «Технологии Microsoft в теории и практике программирования» (Томск, 2013);
-
IV Всероссийская конференция с международным участием «ЗНАНИЯ -ОНТОЛОГИИ - ТЕОРИИ» (Новосибирск, 2013).
Публикации. Основные результаты диссертационного исследования изложены в 22 печатных работах, в том числе в 5 статьях из списка рецензируемых журналов, рекомендованных ВАК РФ.
Структура и объем диссертации. Диссертация содержит введение, 4 главы, заключение, список использованной литературы, содержащей 120 наименований. Общий объём диссертации составляет 180 страниц машинописного текста, включающих 57 рисунков, 15 таблиц и 7 приложений.
Информационные системы на основе семантических баз данных
Описания онтологии основываются на различных логиках. К таким логикам относятся логика предикатов первого порядка [29], фреймовая логика и дескриптивная логика. Логика предикатов первого порядка в языке Ontolingua [13], фреймовая логика в языке F-Logic [30], а дескрипционные логики (ДЛ) используются в таких языках, как DAML-ONT [31], OIL [9], DAML+OIL [32] и OWL [12].
Для описания логического вывода в языке описания онтологии OWL используется дескрипционная логика [7] в связи с такими её свойствами, как разрешимость; выразительная вариативность и автоматическая классификация понятий. Свойство разрешимости является важным потому, что при использовании формализма в рамках программной системы не должно возникать ситуаций, когда получение ответа от системы логического вывода невозможно, следовательно, невозможно и выполнение операций, основанных на логическом выводе. Разрешимость логического языка гарантирует получение ответа. Но в зависимости от вычислительной сложности логического языка на поиск ответа может быть потрачено различное количество времени. Существует прямая зависимость между выразительной мощностью логического языка и его вычислительной ресурсоёмко-стью. Чем выразительнее язык, тем более точно можно описать предметную область с помощью этого языка, но и время, затраченное на логический вывод, будет ми потребностями и доступными вычислительными ресурсами. ДЛ представляет множество логических языков, обладающих различной выразительной мощностью. В зависизначительным. Дескриптивная логика (ДЛ) позволяет найти компромисс между выразительнымости от задачи можно выбрать язык с достаточной выразительностью и минимальной вычислительной ресурсоёмкостью. В этом заключается свойство выразительной вариативности дескриптивной логики.
Свойство автоматической классификации понятий основано на логическом выводе и гарантирует, что для каждого понятия будет определено место в иерархии понятий (таксономии) исходя из описания понятия. Это свойство используется для построения таксономии понятий, на основе которой в данном диссертационном исследовании разработаны методы семантической обработки информации.
В дескрипционных логиках синтаксическими строительными блоками являются атомарные понятия (унарные предикаты), атомарные роли (бинарные предикаты) и представители (индивиды, константы). Роли (свойства, отношения) являются самостоятельными элементами, которые затем могут быть связаны с понятиями.
Понятия и роли можно объединять в выражения для описания более сложных понятий с помощью конструкторов (операций). Между понятиями и между ролями можно задать отношения (какие понятия (роли) являются тождественными и какие понятия (роли) включают другие понятия (роли)). Выразительная мощь языка ограничивается тем, что он использует достаточно малый набор конструкторов для построения сложных понятий и ролей. Неявные знания [33] о понятиях и индивидах могут быть выведены из явных [34] автоматически с помощью процедур вывода. В частности, важную роль играют отношения включения (родовидовые отношения - subsumption relationships) между понятиями и отношениями экземпляров.
Возможность работы с SWRL реализована во многих редакторах онтологии, таких, как Protege и Ontolingua. Он поддерживается такими фреймверками, как Jess [37], Sesame [38] и Jena [39]. Существуют много языков запросов к семантическим данным, таких, как N3QL [26], RDFQ [40], RDQL [41], SeRQL [42] и SPARQL [43].
Наиболее распространённым языком запросов к семантическим данным является язык SPARQL (Semantic protocol and RDF query language) разработанный организацией W3C. В сравнении с другими языками, SPARQL обладает следующими преимуществами [44]: используется для представления запросов к разнообразным источникам данных независимо от того, хранятся эти данные непосредственно в RDF или представляются в виде RDF с помощью промежуточного программного обеспечения. обладает возможностями формирования запросов к обязательным и необязательным графовым шаблонам вместе с их конъюнкциями и дизъюнкциями. поддерживает тестирование расширенного значения и ограничение запросов с помощью исходного RDF-графа [45]; результаты запросов SPARQL могут быть представлены в виде результирующих наборов или RDF-графов.
Большая часть запросов SPARQL включает набор шаблонов триплетов, который называется основным графовым шаблоном. Шаблоны триплетов подобны RDF-триплетам, за исключением того, что каждый субъект, предикат и объект может быть переменной. Основной графовый шаблон соответствует подграфу RDF-данных, следовательно, RDF-термины данного подграфа могут быть заменены на переменные, а результатом также является RDF-граф.
Базой данных (БД) называется организованная в соответствии с определёнными правилами совокупность сведений об объектах, процессах, событиях или явлениях, относящихся к некоторой предметной области, теме или задаче. Она организована таким образом, чтобы обеспечить информационные потребности пользователей, а также эффективное хранение этой совокупности данных, как в целом, так и любой её части.
Под семантической БД (СБД) понимается база данных, в которой хранятся онтологии, семантические метаданные и множество логических правил. Она может быть описана, как DBS= {О, М, Щ, где О - онтология, М- семантические метаданные, R - множество логических правил. Множество логических правил R используется для получения логических выводов на основе известных данных. Данное множество может быть разделено на два подмножества R = {R\, R2}, где R\ - множество онтологических логических правил, включённых в язык описания онтологии; R2 - множество пользовательских логических правил, созданных разработчиками и/или пользователями для получения возможных логических выводов.
Средства обеспечения безопасности семантических баз данных
Под политикой безопасности управления доступом (security policy access control) понимается совокупность правил управления доступом пользователей к защищаемой информации (данным). В настоящее время существует много политик безопасности. Наиболее известными являются дискреционная, мандатная и ролевая политики безопасности [77]. На основе данных политик создаётся система обеспечения безопасности работы с семантическими БД [102], в которой политика безопасности основывается на следующих правилах: 1) существует набор ролей Ur и прав доступа Up; 2) создаётся множество меток уровней безопасности MS; 3) всем данным в DBs задаются уровни безопасности slD; 4) каждому пользователю [/задаётся уровень доступа slv; 5) владелец может указать уровень безопасности slD для своих данных. 6) пользователь имеет доступ к данным тогда и только когда ему заданы права доступа к данным дискреционной политикой или slv slD.
Для определения возможности получения доступа пользователей к данным СБД выполняется сравнение уровня доступа пользователей slv с уровнями безопасности данных SID, хранящихся в СБД.
Под уровнем безопасности slD данных понимается уровень защищённости (секретности) данных, который определяет, в какой степени данные доступны для пользователей. Например, данные могут быть доступными всем пользователям или быть совершено секретными, к которым доступ имеет только очень ограниченная группа пользователей.
Значение slD задаётся из множества меток уровней безопасности данных MS, которое может быть представлено в виде набора номеров, строк и т.д. Иерархические отношения между различными элементами MS (задаваемые символами " ", " ", " " или " ") позволяют описать степень защищённости данных. Например, множество меток уровней безопасности может быть следующим: MS = {«совершенно секретно», «секретно», «конфиденциально», «несекретно»}, где «совершенно секретно» «секретно» «конфиденциально» «несекретно».
Для разных систем значение элементов множества MS может различаться. Например, MS может выглядеть следующим образом: 1. Каждый элемент MS является словом: MS = {«совершенно секретно», «секретно», «конфиденциально», «несекретно»}. 2. Каждый элемент MS является номером: MS = {0, 1... 100} и т.д. В соответствии с уровнями безопасности данных каждому пользователю U задаётся уровень доступа slv, позволяющий ему иметь доступ к данным. Считается, что если slv slD, то пользователь U имеет доступ к данным D, иначе он не имеет доступа к этим данным.
В семантических БД для обеспечения безопасности каждому элементу онтологии О и каждому триплету t семантических метаданных М могут задаваться уровни безопасности slDi Є MS. Тогда множество уровней безопасности SLDB элементов в СБД определяется как SLDB = {SLo, SLM}, где SLM- множество уровней безопасности триплетов в М, SLo - множество уровней безопасности всех элементов онтологии О.
Как было отмечено выше, в онтологии О содержатся множества классов С (понятий) и свойств Р; между классами существуют отношения подклассов (sub-ClassOf), а свойствами - отношение подсвойство (subPropertyOf). В связи с этим должно выполняться следующее согласование уровней безопасности элементов онтологии: slcsub slcsup, где slcSub - уровень безопасности подкласса, slCsub - уровень безопасности суперкласса. slix slcy, где slix - уровень безопасности индивида іх (іх ЄI, где І = {і\, ... , 4} - множество индивидов класса су онтологии), slcy - уровень безопасности классов су, которым индивид ix принадлежит; slPsub slPsup, где slPsub - уровень безопасности подсвойства psub, slPsup - уровень безопасности других свойств psup, которым psub принадлежит.
Множество уровней безопасности всех элементов онтологии SLo может быть определено как SLo = {SLQ, SLP}, где SLQ = {slci, , slcm} - множество всех уровней безопасности классов в онтологиях СБД, a SLp = {slP\, ..., slPn} - множество уровней безопасности свойств онтологии СБД. Для контроля возможности выполнения логических правил г, Є R = {Г\, ..., ги] каждому логическому правилу должен задаваться уровень безопасности slr. Тогда множество уровней безопасности результатов логических правил можно обозначить как SLR = {slr\, ..., slrk}, где slri- уровень безопасности логического правила гг. Пользователь может использовать логические правила гг для получения результатов логических выводов только в том случае, если slv slH.
В DBS хранится множество триплетов Тш = {То, Тм}, где Т0 - множество триплетов онтологии, Тм- множество триплетов семантических метаданных.
Безопасность СБД оценивается защищённостью каждого триплета. Следовательно, семантическая БД DBS является безопасной только в случае, когда все триплеты tDBi Є TDB являются защищенными [103].
Как было отмечено выше, каждому триплету tDBi может быть задан начальный уровень безопасности slDBi Є MS. Обозначаем пару триплета tDBi и его уровня безопасности slDBi как scDBi = (tDBi, slDBl). Тогда безопасность СБД характеризуется множеством SCDB = {TDB, SLDB}, которое называется покрытием безопасности.
Определение 2.4. Под покрытием безопасности СБД понимается множество SCDB = {TDB, SLDB}, где TDB- множество всех триплетов в СБД, SLDB- множество
ВСЄХ уровней беЗОПаСНОСТИ slDBU СООТВеТСТВуЮЩИХ tDBi Є TDB. Соответствие (sloBi, tDBi) должно быть однозначным. Определение 2.5. Каждая пара scDBi = (tDBi, slDBi), состоящая из триплета и его уровня безопасности, называется парой безопасности триплета. Алгоритмы определения покрытия безопасности СБД SCDB рассматривается в разделе 3.2. Покрытие безопасности результатов логических выводов в семантических БД
С помощью логических правил R пользователь U может получить результаты логических выводов RL. Элементам в онтологии О и триплетам t в метаданных М могут быть заданы уровни безопасности slt Є MS. Тогда получаемые результаты логических выводов также имеют уровни безопасности SIRI Е MS. Безопасность каждого результата логических выводов оценивается sci = (rL, SIRL), где rL Е RL-результат логических выводов, SIRL - уровень безопасности rL.
Определение 2.6. Множество всех пар sci = (rL, SIRJ), полученных в СБД, называется покрытием безопасности результатов логических выводов, которое обозначается как SCL = {RL, SLRL}.
Алгоритм определения покрытия безопасности результатов логических выводов
Множество триплетов может быть представлено в виде RDF-графа, в котором каждый триплет соответствует одному направленному ребру, связывающему две вершины. При этом ребро направлено от вершины-субъекта к вершине-объекту. С учётом этого, набор онтологии и множество семантических метаданных могут рассматриваться как RDF-граф Q.
Пользователю U, в соответствии с его уровнем доступа slv, разрешается видеть только некоторые вершины (субъект, объект триплетов) и ребра (предикат триплетов) графа Q. Однако пользователь путём применения логических правил R к видимым вершинам и рёбрам может попытаться получить связи к другим вершинам и рёбрам (получить результаты логических выводов RL). В связи с этим возникает задача контроля результатов логических выводов в семантических БД, которая связана с задачей контроля получения новых вершин и рёбер в RDF-графе. Для решения данной задачи необходимо определять возможности по лучения результатов логических выводов между двумя вершинами и контролировать новые получаемые вершины и ребра.
С учётом этого задача обнаружения нарушений результатов логических выводов может быть разделена на такие подзадачи, как представление семантических БД в виде RDF-графов; определение возможности получения результатов логических выводов между двумя вершинами; контроль полученных результатов логических выводов.
Семантическая БД может быть представлена в виде RDF-графов, таких, как онтологический, видимый, невидимый, логический и несанкционированный RDF-графы.
Определение 3.3. Семантическая БД может быть представлена в виде RDF-графа Q, состоящего из множества вершин V (множество субъектов и объектов) и множества рёбер G (множество предикатов), который обозначается как Q = {V, G}, где V Є С LJ /, G Є Р. Каждая вершина графа Q соответствует субъекту или объекту некоторого триплета СБД, а каждое ребро соответствует предикату данного триплета [114].
Определение 3.4. Онтологическим графом Q является результат применения множества онтологических логических правил R\ к графу Q, Q Я Q.
Определение 3.5. Видимым графом Qs для пользователя U является часть графа Q, содержащая все триплеты, у которых уровни безопасности меньше или равны уровню доступа пользователя slv (т.е. пользователь имеет к ним доступ). Определение 3.6. Невидимым графом Qh для пользователя [/является часть графа Q1, содержащая все триплеты, у которых уровни безопасности больше, чем уровень доступа пользователя slv (т.е. к ним пользователь не имеет права доступа). Из определений 3.3-3.6 может быть получено отношение между графами Q1, Qs и Qh, которое определяется по формуле Qh П Qs = 0, Qh = Q1 \ Qs или Q1 = Qs U Qh.
Определение 3.7. Логическим графом Q s для пользователя U является результат применения множества пользовательских логических правил R.2 к видимому графу Qs, и получено отношение Ql Q Qj.
Определение 3.8. Несанкционированным графом Qt является множество несанкционированных результатов логических выводов, элементами которых являются триплеты, которые находятся одновременно в двух графах Qs ttQh.
Если в графе Q между вершинами А и В не существует никаких общих рёбер Gi (предикатов) или связей с общими вершинами Vj, то между ними и не существует пути от А до В или от В до А. Тогда на основе этих вершин не могут быть получены результаты логических выводов.
Для вершины А потоком информации С(А) является мно 88 жество всех рёбер, непосредственно связанных с ней. Предположим, что в графе Q имеется множество вершин, из которых вершины А и в имеют потоки информации С(А) и С(В), где С(А), С(В) Q Q. Если С(А) г\ С(В) = 0, то пользователь U не может получить результаты логических выводов (путь между А и В) из этих вершин [115]. Предположим, что поток информации С(А) имеет максимальный уровень т, а поток информации С(В) имеет максимальный уровень п, где п т. Пользователь U имеет уровень доступа slu, где п slv т и не имеет доступа к какой-то части данных.
На рисунке 3.4 показана схема алгоритма 3.6, разработанного для определения возможности получения результатов логических выводов между вершинами А и В. Входными данными алгоритма 3.6 являются С(А), С(В), Со т(А), Со п(В), т, п, slu и значение Re = false. Выходными данными является значение Re. Если полученное значение Re = true, то можно связать А и В, следовательно, отсюда может быть получен результат логических выводов. В противном случае, если Re = false, то нельзя связать вершины А и В, следовательно, из них не может быть получен результат логических выводов.
Для выполнения контроля результатов логических выводов нужно определить понятие обнаружения нарушений результатов логических выводов.
Определение 3.10. Обнаружение нарушений результатов логических выводов является процессом определения всех связей и вершин, находящихся в несанкционированном графе Qt. Для контроля результатов логических выводов, выполненных пользователем по запросу q, необходимо проверить, не принадлежит ли ответ А на запрос q множеству Qt. Если А не находится в Qt, то А является санкционированным результатом логических выводов (к которому пользователь U имеет доступ) и пользователь [/может получить его.
В противном случае, если А находится в Qt, то А является несанкционированным результатом логических выводов и пользователь U не имеет права на получение данных результатов. В этом случае необходимо контролировать процесс получения ответа [116]. Это может быть выполнено следующим образом: 1) определить все триплеты Т (раскрытые триплеты), использующиеся в соответствующих логических правилах R для получения ответа ; 2) изменить уровни безопасности триплетов Т, чтобы U не мог использовать какой-либо триплет из них в семантических правилах R для получения ответа А
На основе сказанного выше смысл контроля результатов логических выводов в DBs может быть пояснён следующим образом: 1)Для конкретной группы пользователей UB результате решений задач 1-3 после обнаружения выводов все связи и вершины разделяются на два типа: раскрытые (на основе которых могут быть получены несанкционированные результаты логических выводов) и безопасные (на основе которых не могут быть получены несанкционированные результаты логических выводов). 2) Для обеспечения безопасности результатов логических выводов СБД необходимо контролировать раскрытые связи и вершины, чтобы пользователь не мог их использовать для получения несанкционированных результатов логических выводов.
Исследование эффективности разработанных методов и алгоритмов
Для обеспечения безопасности информации всех индивидов в СБД, которые принадлежат классу «производственного директора» {Product Director) онтологии, данному классу был задан уровень безопасности sle = 3. С учётом этого все пользователи U, у которых уровни безопасности меньше 3 (slu 3), не могут иметь возможности узнать информацию любого члена данного класса.
В семантических БД хранятся логические правила, с помощью которых пользователи могут получить новую информацию. В качестве таких правил использовались: правило 1: «если объект А руководит каким-нибудь объектом Б, то А является объектом класса Product Director». На языке SWRL данное правило может быть описано следующим образом: «A isProductSuperiorOf В — A owl:type Product Director»; правило 2: «если объект А руководит каким-нибудь объектом В и если В является сотрудником какого-нибудь объекта С, то следует, что А руководит С». На языке SWRL данное правило может быть описано следующим образом: «А isProductSuperiorOf В, В iscomid С — A isProductSuperiorOf С».
На основе этих логических правил, если пользователи хотели узнать «кто является членом класса Product Director?», то он может отправлять один из двух следующих запросов: Запрос 1: «определить все объекты А, которые руководят каким-нибудь объектом В», может быть описан на языке SPARQL следующим образом «SELECT а b WHERE {?а http://ontology, company. owl#isProductSuperiorOf b.j». Запрос 2: «определить все объекты А, которые являются элементами класса Product Director», может быть описан на языке SPARQL следующим образом: «SELECT а WHERE {?а http://www.w3.org/1999/02/22-rdf-syntax-nsmype http://ontology, company. owl#Product Director } ».
Если данные запросы выполнены с помощью алгоритмов контроля логиче результатов ских выводов в СБД, то на них пользователи получают следующие ответы:
Ответ 1: http://ontology, company.owl#Product Person director (рисунок 4.19). Ответ 2: множество триплетов, показанное на рисунке 4.20. Пользователи имеют право на доступ ко всем полученным триплетам. Пользователи не только получают информацию о директоре отдела, а также и обо всех членах отдела, которыми данный директор руководит. Graph IRI http://ontology.company.owl Logical query Select a Where {?a http:/; www.w3.org/1999/02/22-rdf-syntax-ns#type hltp://ontology.company.owl#Product_Director } Result Number a Level 0 hltp://ontology.company.owl#Product_person_director 3 Рисунок 4.19. Результат выполнения запроса 1 с помощью алгоритмов контроля результатов логических выводов в СБД
Данные результаты показывают, что пользователи не имеют права узнать информацию об индивидах класса Product Director, а это означает, что поддерживается безопасность семантической БД.
Разработан метод обнаружения нарушений результатов логических выводов и алгоритм контроля результатов логических запросов позволяют пользователям получить результаты логических выводов в соответствии с их уровнями доступа, и гарантируют безопасность семантической БД.
Исследование эффективности метода обнаружения нарушений результатов логических выводов в семантических БД Для исследования эффективности метода обнаружения нарушений результатов логических выводов в СБД приведены два эксперимента: в первом исследовалась зависимость времени работы программы от количества понятий; во втором исследовалась зависимость времени работы программы от количества триплетов метаданных.
Полученные результаты экспериментов приведены на рисунках 4.25, 4.26. Данные результаты показывают, что время выполнения контроля результатов логических выводов значительно зависит от количества понятий в семантических БД, и не сильно зависит от количества триплетов метаданных.
Все разработанные алгоритмы были реализованы в программах контроля результатов логических выводов в семантических БД - ContrLSD и поддержки безопасности работы с семантическими базами знаний - SecSWD, которые были практически использованы в различных организациях. В данной главе описываются варианты внедрения. Акты внедрения приведены в Приложении 6.
Внедрение в компании BAVIMILK Постановка: В информационной системе компании BAVIMILK имеется подсистема управления электронными ресурсами и профилями сотрудников, которая работает с данными, представленными в виде наборов триплетов, хранящихся в семантических БД. Одной из задач, решаемой компанией BAVIMILK, является контроль доступа пользователей и результатов логических выводов при работе сотрудников с данной подсистемой.
Решение: Внедрение разработанных методов и алгоритмов определения всех уровней безопасности триплетов данных и обнаружения нарушений результатов логических выводов для построения подсистем обеспечения безопасности семантических БД.
В семантических БД компании сохраняется множество онтологии и метаданные 116 профилей сотрудников и 546 документов. Общее количество понятий составило 162, количество отношений - 137, количество триплетов - 0.23 миллиона. Основными онтологиями в семантической БД компании являются онтология пользователей, онтология ресурсов, онтология предметных областей. На рисунке 4.27 показана часть онтологии предметной области компании.