Архив: Реализация дискреционной модели политики безопасности
- Описание
Цель работы: ознакомиться с проблемами реализации политик безопасности в компьютерных системах на примере дискреционной модели.
Задание
Пусть множество S возможных операций над объектами компьютерной системы задано следующим образом: S = {«Доступ на чтение», «Доступ на запись», «Передача прав»}.
Получить данные о количестве пользователей и объектов компьютерной системы из табл. 2, соответственно варианту.
Реализовать программный модуль, создающий матрицу доступа пользователей к объектам компьютерной системы. Реализация данного модуля подразумевает следующее:
2.1. Необходимо выбрать идентификаторы пользователей, которые будут использоваться при их входе в компьютерную систему (по одному идентификатору для каждого пользователя, количество пользователей указано для варианта). Например, множество из трёх идентификаторов пользователей {Ivan, Sergey, Boris}. Один из данных идентификаторов должен соответствовать администратору компьютерной системы (пользователю, обладающему полными правами доступа ко всем объектам).
2.2. Реализовать программное заполнение матрицы доступа, содержащей количество пользователей и объектов, соответственно Вашему варианту.
2.2.1. При заполнении матрицы доступа необходимо учитывать, что один из пользователей должен являться администратором системы (допустим, Ivan). Для него права доступа ко всем объектам должны быть выставлены как полные.
2.2.2. Права остальных пользователей для доступа к объектам компьютерной системы должны заполняться случайным образом с помощью датчика случайных чисел. При заполнении матрицы доступа необходимо учитывать, что пользователь может иметь несколько прав доступа к некоторому объекту компьютерной системы, иметь полные права, либо совсем не иметь прав.
2.2.3. Реализовать программный модуль, демонстрирующий работу в дискреционной модели политики безопасности.
Данный модуль должен выполнять следующие функции:
3.1. При запуске модуля должен запрашиваться идентификатор пользователя (проводится идентификация пользователя), при успешной идентификации пользователя должен осуществляться вход в систему, при неуспешной – выводиться соответствующее сообщение.
3.2. При входе в систему после успешной идентификации пользователя на экране должен распечатываться список всех объектов системы с указанием перечня всех доступных прав доступа идентифицированного пользователя к данным объектам. Вывод можно осуществить, например, следующим образом:
User: Boris
Идентификация прошла успешно, добро пожаловать в систему
Перечень Ваших прав:
Объект1: Чтение
Объект2: Запрет
Объект3: Чтение, Запись
Объект4: Полные права
Жду ваших указаний >
3.3. После вывода на экран перечня прав доступа пользователя к объектам компьютерной системы, необходимо организовать ожидание указаний пользователя на осуществление действий над объектами в компьютерной системе. После получения команды от пользователя, на экран необходимо вывести сообщение об успешности либо не успешности операции. При выполнении операции передачи прав (grant) должна модифицироваться матрица доступа. Программа должна поддерживать операцию выхода из системы (quit), после которой запрашивается идентификатор пользователя. Диалог можно организовать, например, так:
Жду ваших указаний > read
Над каким объектом производится операция? 1
Операция прошла успешно
Жду ваших указаний > write
Над каким объектом производится операция? 2
Отказ в выполнении операции. У Вас нет прав для ее осуществления
Жду ваших указаний > grant
Право на какой объект передается? 3
Отказ в выполнении операции. У Вас нет прав для ее осуществления
Жду ваших указаний > grant
Право на какой объект передается? 4
Какое право передается? read
Какому пользователю передается право? Ivan
Операция прошла успешно
Жду ваших указаний > quit
Работа пользователя Boris завершена. До свидания.
User:
Количество субъектов
доступа (пользователей)
Количество объектов
доступа
4
4
- Категория
Похожие проекты
Похожая удалённая работа
- Удаленная работа для веб-программиста
- Удаленная работа для разработчика баз данных
- Удаленная работа для прикладного программиста
- Удаленная работа для системного программиста
- Удаленная работа для разработчика игр
- Удаленная работа для разработчика мобильных приложений
- Удаленная работа для тестировщика ПО
- Удаленная работа для 1С программиста
- Удаленная работа для разработчика встраиваемых систем
- Удаленная работа для разработчика CRM и ERP