Главная страница
Навигация по странице:

  • Парольная идентификация

  • Лекции и практики (1). Курс лекций и материалы для практических занятий


    Скачать 1.01 Mb.
    НазваниеКурс лекций и материалы для практических занятий
    Дата17.03.2023
    Размер1.01 Mb.
    Формат файлаdocx
    Имя файлаЛекции и практики (1).docx
    ТипКурс лекций
    #996812
    страница35 из 75
    1   ...   31   32   33   34   35   36   37   38   ...   75

    Защита от несанкционированного доступа


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

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

    • назначение отдельным группам пользователей прав доступа (привилегий) к отдельным группам данных в соответствии с правилами ПрО;

    • организация системы контроля доступа к данным;

    • тестирование вновь создаваемых средств защиты данных;

    • периодическое проведение проверок правильности работы системы защиты, исследование и предотвращение сбоев в её работе.

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

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

    Парольная идентификация заключается в присвоении каждому пользо- вателю двух параметров: имени (login) и пароля (password). При входе в систе- му она запрашивает у пользователя его имя, а для подтверждения того, что это

    имя ввёл его владелец, система запрашивает пароль. Имя выдаётся пользовате- лю при регистрации администратором, пароль пользователь устанавливает сам.

    При задании пароля желательно соблюдать следующие требования:

    • длина пароля должна быть не менее 6-и символов;

    • пароль должен содержать комбинацию букв и цифр или специальных зна- ков, пароль не может содержать пробелы;

    • пароли должны часто меняться.

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

    Управление доступом к данным осуществляется через СУБД, которая и обеспечивает защиту данных. Но такие данные вне СУБД становятся общедо- ступны. Если известен формат БД, можно осуществить к ней доступ с помощью другой программы (СУБД), и никакие ограничения при этом не помешают. Для таких случаев предусмотрено кодирование данных. Используются различные методы кодирования: перекомпоновка символов в кортеже, замена одних сим- волов (групп символов) другими символами (группами символов) и т.д. Коди- рование может быть применено не ко всему кортежу, а только к ключевым по- лям. Декодирование производится непосредственно в процессе обработки, что, естественно, увеличивает время доступа к данным. Поэтому к кодированию прибегают только в случае высоких требований к конфиденциальности данных. Предоставление прав доступа (привилегий) в системах, поддерживаю-

    щих язык SQL, осуществляется с помощью двух команд:

    1. GRANT предоставление одной или нескольких привилегий пользователю (или группе пользователей):

    GRANT { <список привилегий> | ALL PRIVILEGES } ON <имя объекта>

    TO {<список пользователей> | PUBLIC} [WITH GRANT OPTION];

    где <список привилегий> – набор прав, которые необходимо предоставить, или ALL PRIVILEGES все права на данный объект;

    <имя объекта> имя объекта БД, к которому предоставляется доступ;

    <список пользователей> – перечень пользователей (или ролей, см. дальше), которым будут предоставлены указанные права;

    PUBLIC – предопределённый пользователь, привилегии которого доступны всем пользователям БД.

    WITH GRANT OPTION – ключевые слова, дающие возможность пользовате- лям из списка пользователей предоставлять назначенные права другим пользователям (т.е. передавать эти права).

    Права, подразумеваемые под словами ALL PRIVILEGES, зависят от типа объекта. Примерный перечень прав в зависимости от типа объекта БД при- ведён в табл. 7.1.

    Таблица 7.1. Использование объектных привилегий


    Привилегия

    Операции

    Таблицы

    Представления

    Процедурные объекты

    ALTER

    изменение опреде- ления объекта

    +

    +

    +

    DELETE

    удаление данных

    +

    +




    EXECUTE

    выполнение объекта







    +

    INSERT

    добавление данных

    +

    +




    SELECT

    чтение данных

    +

    +




    REFERENCES

    создание ссылки на таблицу










    UPDATE

    изменение данных

    +

    +




    Примечание: процедурные объекты – это хранимые процедуры и функции.

    1. REVOKE отмена привилегий:

    REVOKE [GRANT OPTION FOR]

    { <список привилегий> | ALL PRIVILEGES } ON <имя объекта>

    FROM {<список пользователей> | PUBLIC}

    { RESTRICT | CASCADE };

    где [GRANT OPTION FOR] отмена права передачи привилегий;

    CASCADE – при отмене привилегий у пользователя отменяются все приви- легии, которые он передавал другим пользователям;

    RESTRICT – если при отмене привилегий у пользователя необходимо отме- нить переданные другим пользователям привилегии, то операция заверша- ется с ошибкой.

    Другие ключевые слова имеют то же значение, что и в команде GRANT.

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

    Кроме привилегий на доступ к объектам СУБД ещё может поддерживать так называемые системныепривилегии: это права пользователя на созда- ние/изменение/удаление (create/alter/drop) объектов различных типов. В неко- торых системах такими привилегиями обладают только пользователи, вклю- чённые в группу АБД. Другие СУБД предоставляют возможность назначения дифференцированных системных привилегий любому пользователю в случае такой необходимости. Например, в СУБД Oracle права на создание таблиц и представлений, а также право на удаление любых представлений пользователю manager можно предоставить с помощью той же команды GRANT, только без указания объекта:

    GRANT create table, create view, drop any view TO manager;

    "Плохтотплан,которыйнедопускаетизменений".

    Публиус Сирус, древнеримский мыслитель

    1   ...   31   32   33   34   35   36   37   38   ...   75


    написать администратору сайта