BC/NW 2011; №2 (19):11.3

 

СОЗДАНИЕ СОЦИАЛЬНОЙ СЕТИ, ОСНОВАННОЙ НА СЕМАНТИЧЕСКОЙ СЕТИ С ЭЛЕМЕНТАМИ СЕТЕЙ ПЕТРИ В АСПЕКТЕ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ

Матвеев В.С.

(Национальный исследовательский университет «МЭИ», Россия)

 

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

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

- проработана логика проекта;

- создана база данных;

- написан действующий каркас в среде .net;

- осуществлена интеграция системы посредством веб-интерфейса.

Были также рассмотрены ключевые аспекты работы социальных сетей. Изучена структура наиболее популярных из них. Проделан анализ их структур и API.

В результате анализа была выработана методология, в соответствии с которой была сформирована модель социальной сети. В основе этой модели был заложен неориентированный граф и написан алгоритм, по которому подобная сеть может функционировать.

Результатом работы является действующая модель социальной сети.

Проектирование алгоритма.

Аутентификация пользователя в системе.

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

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

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

 

usecase.png

Рис. 1. Диаграмма вариантов использования для пользователя сети

 

Работа пользователя в системе

На своей персональной странице пользователь должен иметь следующий обязательный функционал:

1.     Переход на персональные страницы друзей.

2.     Поиск и добавление друзей.

3.     Возможность оставлять комментарии.

4.     Возможность менять своё изображение.

5.     Возможность оставлять фотографии.

6.     Возможность искать группы.

7.     Возможность оставлять записи в группах.

 

Структура базы данных имеет следующие таблицы:

idef1x2.png

Рис. 2. Логическая модель структуры базы данных

 

Реализация алгоритма Сети Петри при обработке

В данной работе Сети Петри используются для ограничения доступа пользователей с отсутствием грантов к конфиденциальной информации.

Согласно схеме, описанной в теоретической части:

Рис. 3. Пример построения сети Петри

 

Реализован функционал «Разрешений члена группы» на получение грантов. Рассмотрим на примере:

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

В свою очередь он может давать гранты «красным» пользователям – по одному гранту каждому такому пользователю.

Когда у «красного» пользователя станет достаточно грантов (в конкретном случае это равняется трём, исходя из схемы выше), сеть Петри срабатывает, и разрешает пользователю доступ к информации.

Количество необходимых грантов для получения информации зависит от свойств группы – необходимое число грантов может равняться 1 или больше.

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

Информация о выданном гранте заносится в базу, и содержится там до тех пор, пока не наберётся нужное количество грантов от разных пользователей для авторизации в заданной группе. После срабатывания сети Петри информация о грантах не нужна, т.к. пользователь приобретает более «привилегированный» статус – не нужные данные затираются в базе.

Литература

1.      Максим Шатилов. Инструменты для социальных сетей http://www.osp.ru/os/2008/04/5114182/

2.      Приложения для социальных сетей

http://www.intuit.ru/department/internet/webtechno/36/

3.     Блог, посвящённый семантическим сетям

http://habrahabr.ru/blogs/sw/

4.     Котов В.Е. Сети Петри. М.: Изд. Наука. Главная редакция физ.-мат. литературы, 1984.

5.     ВКонтакте API – форум для разработчиков приложений для социальной сети http://vkontakte.ru/club1

6.     Портал Микрософт, посвящённый платформе .NET

http://www.microsoft.com/net/

7.     Роберт Тейбор. Реализация XML Web-служб на платформе Microsoft .NET. м.: Изд. Вильямс, 2002.

8.     Мэтью Мак-Дональд, Марио Шпушта, Microsoft ASP.NET 3.5 с примерами на C# 2008 и Silverlight 2 для профессионалов. Изд. Apress, 2008.