Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита баз данных.doc
Скачиваний:
0
Добавлен:
29.04.2019
Размер:
356.35 Кб
Скачать

Метки безопасности и принудительный контроль доступа

Системы уровня безопасности В к каждой реляционной таблице добавляется столбец содержащий метки безопасности для строк таблицы. Метка безопасности состоит из следущие компонентов

  1. Уровень секретности - смысл интерпретируется приложением, обычно применяется традиционный диапазон уровней секретности.

  1. Категории - позволяет разделить данные на отдельные виртуальные таблицы, позволяющие регулировать доступ приложений и пользователя

  1. Области - позволяет разделить исходную таблицу в соответствии с географическими или пространственными характеристиками

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

Поддержание целостности в субд

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

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

Примеры нарушения целостности бд

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

  1. Установка флажка "начало операции" блокируется доступ к таблицам пользователя и для внешних приложений

  1. Обновляется таблица 1

  1. Пересчитывается значение для таблицы 2

  1. Обновляется поле таблицы 2

  1. Сбрасывается флажок, разрешается доступ

Последовательность действий является транзакцией, которая должна обладать следущими свойствами

  1. Атомарность

  1. Согласованность - возможность перевода из одного согласованного то есть целостного состояния в другое между которыми согласованность будет нарушаться

  1. Изоляция - одновременно выполняемые транзакции различных пользователей не взаимодействуют друг с другом

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

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

  1. Commit work завершает текущую транзакцию и автоматически начинает новую. Обеспечивает фиксацию результатов завешенной транзакции.

  1. Rollback work - все изменения сделанные текущей транзакцией откатываются и автоматически начинается новая транзакция

  1. Произошло отключение пользователя от СУБД. Происходит автоматическая фиксация транзакции

  1. Сбой в системе при последующем запуске происходит анализ выполнившихся на момент сбоя транзакций, те транзакции для которых была подана команда commit work но результаты которых не были занесены в БД на момент сбоя выполняются снова. Транзакции для которых не была подана команда commit work откатываются.

Указанные свойства могут реализовываться в различных БД в различной объеме.