Мандатная защита

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

Метка доступа в СУБД ЛИНТЕР состоит из трех составляющих: метка группы пользователя и два уровня доступа к этой группе.

Пользователи могут быть разбиты на непересекающиеся группы (до 250 групп). Администратор безопасности не должен менять свою группу, номер его группы всегда 0.

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

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

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

В общем случае уровень доступа представляет собой идентификатор, соответствующий числовому значению в диапазоне от 1 до 10. Два уровня доступа отражают ограничения на действия, связанные с чтением и модификацией данных: уровень доступа на чтение RAL (Read Access Level) и уровень доступа на запись WAL (Write Access Level).

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

Метки доступа являются неотъемлемой частью самих данных и физически хранятся вместе с данными.

Все субъекты доступа также снабжаются метками. При проверке доступа субъекта к конкретному объекту СУБД осуществляет дополнительную проверку и отвергает действие субъекта при отсутствии у него соответствующих прав.

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

Описание уровней доступа:

  1. уровни доступа для пользователя (субъекта):

    • RAL-уровень доступа. Пользователь может читать информацию, RAL-уровень которой не выше его собственного уровня доступа;

    • WAL-уровень доверия на понижение уровня конфиденциальности. Пользователь не может вносить информацию с уровнем доступа (RAL-уровнем) более низким, чем данный WAL-уровень пользователя. Т.е. пользователь не может сделать доступную ему информацию менее секретной, чем указано в данном параметре.

  2. для информации (данных) вводятся следующие уровни доступа:

    • RAL-уровень чтения. Информация может быть прочитана пользователем, RAL-уровень которого не ниже RAL-уровня информации (т.е. только тем пользователем, который обладает достаточно высоким уровнем доступа);

    • WAL-уровень ценности или уровень доступа на запись (модификацию, удаление). Информация может быть модифицирована (удалена) пользователем, RAL-уровень которого не ниже WAL-уровня модифицируемой информации.

  3. для таблиц и их столбцов уровни доступа имеют несколько иную интерпретацию:

    • RAL-уровень чтения. Указывает минимальный уровень доступа пользователя (RAL), который необходим для получения любых данных из таблицы (столбца), т.е. RAL-уровень для таблиц и столбцов по смыслу идентичен RAL-уровню данных;

    • WAL-уровень записи. Ограничивает снизу уровень чтения данных (RAL), которые могут быть помещены в таблицу.

Пользователь не ограничивается в повышении уровня чтения данных. При желании он может заносить в БД информацию, RAL-уровень которой выше его собственного RAL-уровня. В частности, к таким пользователям можно отнести категорию информаторов, которые имеют самый низкий RAL-уровень. Они не могут читать никакой секретной информации, но могут размещать её в БД (для этого необходимо поднять их значение WAL-уровня).

При установленной мандатной защите уровни доступа субъекта и объекта БД контролируются СУБД ЛИНТЕР при попытке получения любого доступа субъекта к объекту.