Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книга по БД.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
882 Кб
Скачать
☆
      1. Идентификация пользователя

Предполагается, что АБД, пре­доставляя пользователям определенные права санкционированно­го доступа, должен указать системе, какие операции разрешены пользователю, сформировать паспорт пользователя и обеспечить средства идентификации пользователей при работе с системой.

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

      1. Управление доступом

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

Однако в ряде случаев информация о составе разрешенных пользователю операций оказывается недостаточной для решения вопроса о допустимости выполнения этих операций с конкретны­ми данными. Поэтому каждое групповое данное должно иметь свя­занный с ним набор ограничений доступа. Этот набор ограничений содержит: условие, которому должен удовлетворять пользователь, чтобы иметь доступ к групповому данному; пароль, предъявляемый при выборке некоторых комбинаций данных из группового данного;

пароль, предъявляемый при модификации этих данных, и т. п.

Специальная подпрограмма СУБД проверяет, не нарушено ли какое-либо ограничение из набора. В случае нарушения подавляется выполнение операции пользователя, выдается ему сигнал ошиб­ки и фиксируется в специальном журнале факт попытки нарушения безопасности данных.

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

Аксиома безопасности. Если комбинация атрибутов Л доступна (запрещена) пользователю Х в зависимости от условия В, то каждая подкомбинация А также доступна (запрещена) пользо­вателю Х по условию В.

Состав проверок может быть, например, следующим.

1. Все ли отношения, упомянутые в запросе, доступны пользователю X?

2. Все ли поколения, упомянутые в запросе, доступны пользователю X?

3. Все ли комбинации атрибутов, упомянутые в запросе, доступны пользователю X?

4. Задано ли квалифицирующее выражение, которое ограничивает для пользователя Х диапазон значений атрибутов, и если да, то лежат ли их значения внутри диапазона, доступного для X?

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