Тема #8: Идентификация и аутентификация, управление доступом 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема #8: Идентификация и аутентификация, управление доступом



Тема #8: Идентификация и аутентификация, управление доступом

Идентификация и аутентификация

Основные понятия

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

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

(Заметим в скобках, что происхождение русскоязычного термина "аутентификация" не совсем понятно. Английское "authentication" скорее можно прочитать как "аутентикация"; трудно сказать, откуда в середине взялось еще "фи" – может, из идентификации? Тем не менее, термин устоялся, он закреплен в Руководящих документах Гостехкомиссии России, использован в многочисленных публикациях, поэтому исправить его уже невозможно.)

Аутентификация бывает односторонней (обычно клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации – процедура входа пользователя в систему.

В сетевой среде, когда стороны идентификации/аутентификации территориально разнесены, у рассматриваемого сервиса есть два основных аспекта:

· что служит аутентификатором (то есть используется для подтверждения подлинности субъекта);

· как организован (и защищен) обмен данными идентификации/аутентификации.

Субъект может подтвердить свою подлинность, предъявив по крайней мере одну из следующих сущностей:

· нечто, что он знает (пароль, личный идентификационный номер, криптографический ключ и т.п.);

· нечто, чем он владеет (личную карточку или иное устройство аналогичного назначения);

· нечто, что есть часть его самого (голос, отпечатки пальцев и т.п., то есть свои биометрические характеристики).

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

 

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

Во-первых, почти все аутентификационные сущности можно узнать, украсть или подделать.

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

В-третьих, чем надежнее средство защиты, тем оно дороже.

 

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

Таким образом, необходимо искать компромисс между надежностью, доступностью по цене и удобством использования и администрирования средств идентификации и аутентификации.

Любопытно отметить, что сервис идентификации / аутентификации может стать объектом атак на доступность. Если система сконфигурирована так, что после определенного числа неудачных попыток устройство ввода идентификационной информации (такое, например, как терминал) блокируется, то злоумышленник может остановить работу легального пользователя буквально несколькими нажатиями клавиш.

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

Главное достоинство парольной аутентификации – простота и привычность. Пароли давно встроены в операционные системы и иные сервисы. При правильном использовании пароли могут обеспечить приемлемый для многих организаций уровень безопасности. Тем не менее, по совокупности характеристик их следует признать самым слабым средством проверки подлинности.

Чтобы пароль был запоминающимся, его зачастую делают простым (имя подруги, название спортивной команды и т.п.). Однако простой пароль нетрудно угадать, особенно если знать пристрастия данного пользователя. Известна классическая история про советского разведчика Рихарда Зорге, объект внимания которого через слово говорил "карамба"; разумеется, этим же словом открывался сверхсекретный сейф.

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

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

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

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

Тем не менее, следующие меры позволяют значительно повысить надежность парольной защиты:

· наложение технических ограничений (пароль должен быть не слишком коротким, он должен содержать буквы, цифры, знаки пунктуации и т.п.);

· управление сроком действия паролей, их периодическая смена;

· ограничение доступа к файлу паролей;

· ограничение числа неудачных попыток входа в систему (это затруднит применение "метода грубой силы");

· обучение пользователей;

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

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

Одноразовые пароли

Рассмотренные выше пароли можно назвать многоразовыми; их раскрытие позволяет злоумышленнику действовать от имени легального пользователя. Гораздо более сильным средством, устойчивым к пассивному прослушиванию сети, являются одноразовые пароли.

Наиболее известным программным генератором одноразовых паролей является система S/KEY компании Bellcore. Идея этой системы состоит в следующем. Пусть имеется односторонняя функция f (то есть функция, вычислить обратную которой за приемлемое время не представляется возможным). Эта функция известна и пользователю, и серверу аутентификации. Пусть, далее, имеется секретный ключ K, известный только пользователю.

На этапе начального администрирования пользователя функция f применяется к ключу K n раз, после чего результат сохраняется на сервере. После этого процедура проверки подлинности пользователя выглядит следующим образом:

· сервер присылает на пользовательскую систему число (n-1);

· пользователь применяет функцию f к секретному ключу K (n-1) раз и отправляет результат по сети на сервер аутентификации;

· сервер применяет функцию f к полученному от пользователя значению и сравнивает результат с ранее сохраненной величиной. В случае совпадения подлинность пользователя считается установленной, сервер запоминает новое значение (присланное пользователем) и уменьшает на единицу счетчик (n).

На самом деле реализация устроена чуть сложнее (кроме счетчика, сервер посылает затравочное значение, используемое функцией f), но для нас сейчас это не важно. Поскольку функция f необратима, перехват пароля, равно как и получение доступа к серверу аутентификации, не позволяют узнать секретный ключ K и предсказать следующий одноразовый пароль.

Система S/KEY имеет статус Internet-стандарта (RFC 1938).

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

Матрица доступа

ü что такое политика безопасности и матрица доступа,

ü как работают дискреционный, мандатный и ролевой принципы построения матрицы доступа.

 

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

Первым вариантом построения правил доступа является дискреционный принцип – построение полной матрицы доступа в явном виде. Матрица доступа выполняется в виде таблицы, по строкам и столбцам размещаются выделенные классы субъектов и объектов системы. На пересечении соответствующего столбца и строки указываются права доступа, предоставленные данному субъекту над данным объектом.

Приведем пример явно заданной матрицы доступа для примера, похожего на рассмотренный в предыдущей теме – таблица 2.2.1.

 

Таблица 2.2.1. Пример задания матрицы доступа в явном виде

Субъекты Объекты руководство операторы аналитический отдел
стратегические планы чтение изменение
внутренние нормативы чтение изменение чтение чтение
отчеты чтение чтение изменение чтение
рекомендации, тактические планы чтение изменение чтение изменение

 

Данный способ хорошо зарекомендовал себя в небольших (до 10 классов субъектов и до 30 классов объектов) информационных системах. Его преимуществами являются:

- явное задание прав доступа, что наиболее наглядно для специалистов по информационной безопасности и минимизирует объем ошибок;

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

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

Первой альтернативой явному заданию матрицы является мандатный принцип к построению правил доступа. Он состоит во введении нескольких (от 2 до 5) уровней значимости объектов – степеней секретности – и соответствующего количества уровней допуска субъектов к операциям над объектами. Субъект имеет право выполнять операцию над объектом только в том случае, если его уровень допуска равен или выше степени секретности объекта.

Мандатный принцип ограничения допуска принят в сфере защиты сведений, составляющих государственную тайну РФ.

Максимальная пятиуровневая схема реализации мандатного принципа состоит обычно из следующих степеней секретности:

- открытый;

- для служебного пользования (ДСП);

- секретный (С);

- совершенно секретный (СС);

- особой важности (ОВ).

На практике чаще всего применяется четырех- или даже трех- уровневая мандатная система.

Матрица доступа при мандатном принципе задается неявно, а через матрицу степеней секретности и уровней допуска (табл. 2.2.2).

 

Таблица 2.2.2. Матрица 4-уровневого мандатного доступа

   

уровень допуска субъекта

    1 2 3 4

степень секретности

объекта

1 + + + +
2   + + +
3     + +
4       +

 

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

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

Ролевой принцип лишен этого недостатка – каждая группа субъектов наделяется тем множеством ролей, которое адекватно отражает все ее информационные потребности. Например, в организации среднего размера набор ролей может содержать следующие функциональные нагрузки:

- базовая роль любого сотрудника фирмы (кроме обслуживающего персонала);

- работа с оперативной информацией (статистика, отчеты);

- работа с тактической информацией (бизнес-планы);

- работа с бухгалтерскими документами;

- техническая поддержка компьютерного парка;

- аудит информационной безопасности системы;

- работа с персоналом;

- стратегическое планирование.

Базовая роль обычно отвечает за допуск ко внутренней нормативной, справочной информации, телефонной и компьютерной сети организации. Группы, объединяющие рядовых сотрудников, обычно получают в соответствие одну (или две, считая базовую) роль, непосредственно отражающую их функциональные обязанности. Начальники отделов, менеджмент получают в зависимости от занимаемой должности от 3 до 10 ролей. Руководство организации получает набор из всех основных ролей организации.

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

Подведем итоги

· для построения правил доступа используется один из трех принципов: дискреционный, мандатный или ролевой;

· дискреционный принцип задает всю матрицу прав доступа явно;

· мандатный принцип вводит степени секретности объектов и уровни доступа субъектов;

· ролевой принцип выделяет набор однотипных функций персонала, а затем присваивает субъектам наборы ролей, а самим ролям – права доступа на объекты.

вопросы для самоконтроля

1. Перечислите преимущества и недостатки всех принципов построения правил доступа.

2. Каким принципом Вы будете пользоваться при построении правил доступа для большого или федерального предприятия?

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

1. Проведите классификацию субъектов (3–5 классов) и объектов (4–8 классов) организации в которой Вы работаете или которая Вам хорошо знакома и постройте для нее матрицу доступа в явном виде по дискреционному принципу.

 

вопросы для самоконтроля

1. В чем заключаются две основные задачи, формулируемые для моделей доступа в информационных системах?

2. Какие изменения привносит в базовую модель модель "take-grant" и к каким дополнительным свойствам системы это приводит?

проверьте Ваше знание КЛЮЧЕВЫХ ТЕРМИНОВ

субъект

объект

операция

права доступа

классификация субъектов и объектов

матрица доступа

дискреционный принцип организации доступа

мандатный принцип организации доступа

степень секретности объекта

уровень допуска субъекта

ролевой принцип организации доступа

эффективные права доступа

 

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

Основные понятия

С традиционной точки зрения средства управления доступом позволяют специфицировать и контролировать действия, которые субъекты (пользователи и процессы) могут выполнять над объектами (информацией и другими компьютерными ресурсами). В данном разделе речь идет о логическом управлении доступом, которое, в отличие от физического, реализуется программными средствами. Логическое управление доступом – это основной механизм многопользовательских систем, призванный обеспечить конфиденциальность и целостность объектов и, до некоторой степени, их доступность (путем запрещения обслуживания неавторизованных пользователей).

Рассмотрим формальную постановку задачи в традиционной трактовке. Имеется совокупность субъектов и набор объектов. Задача логического управления доступом состоит в том, чтобы для каждой пары "субъект-объект" определить множество допустимых операций (зависящее, быть может, от некоторых дополнительных условий) и контролировать выполнение установленного порядка.

Отношение "субъекты-объекты" можно представить в виде матрицы доступа, в строках которой перечислены субъекты, в столбцах – объекты, а в клетках, расположенных на пересечении строк и столбцов, записаны дополнительные условия (например, время и место действия) и разрешенные виды доступа. Фрагмент матрицы может выглядеть, например, так:

Таблица 10.1. Фрагмент матрицы доступа

  Файл Программа Линия связи Реляционная таблица
Пользователь 1 orw с системной консоли e rw с 8:00 до 18:00  
Пользователь 2       a

"o" – обозначает разрешение на передачу прав доступа другим пользователям,

"r" – чтение,

"w" – запись,

"e" – выполнение,

"a" – добавление информации

Тема логического управления доступом – одна из сложнейших в области информационной безопасности. Дело в том, что само понятие объекта (а тем более видов доступа) меняется от сервиса к сервису. Для операционной системы к объектам относятся файлы, устройства и процессы. Применительно к файлам и устройствам обычно рассматриваются права на чтение, запись, выполнение (для программных файлов), иногда на удаление и добавление. Отдельным правом может быть возможность передачи полномочий доступа другим субъектам (так называемое право владения). Процессы можно создавать и уничтожать. Современные операционные системы могут поддерживать и другие объекты.

Для систем управления реляционными базами данных объект – это база данных, таблица, представление, хранимая процедура. К таблицам применимы операции поиска, добавления, модификации и удаления данных, у других объектов иные виды доступа.

Разнообразие объектов и применимых к ним операций приводит к принципиальной децентрализации логического управления доступом. Каждый сервис должен сам решать, позволить ли конкретному субъекту ту или иную операцию. Теоретически это согласуется с современным объектно-ориентированным подходом, на практике же приводит к значительным трудностям. Главная проблема в том, что ко многим объектам можно получить доступ с помощью разных сервисов (возможно, при этом придется преодолеть некоторые технические трудности). Так, до реляционных таблиц можно добраться не только средствами СУБД, но и путем непосредственного чтения файлов или дисковых разделов, поддерживаемых операционной системой (разобравшись предварительно в структуре хранения объектов базы данных). В результате при задании матрицы доступа нужно принимать во внимание не только принцип распределения привилегий для каждого сервиса, но и существующие связи между сервисами (приходится заботиться о согласованности разных частей матрицы). Аналогичная трудность -Ѕ возникает при экспорте/импорте данных, когда информация о правах доступа, как правило, теряется (поскольку на новом сервисе она не имеет смысла). Следовательно, обмен данными между различными сервисами представляет особую опасность с точки зрения управления доступом, а при проектировании и реализации разнородной конфигурации необходимо позаботиться о согласованном распределении прав доступа субъектов к объектам и о минимизации числа способов экспорта/импорта данных.

При принятии решения о предоставлении доступа обычно анализируется следующая информация:

  • идентификатор субъекта (идентификатор пользователя, сетевой адрес компьютера и т.п.). Подобные идентификаторы являются основой произвольного (или дискреционного) управления доступом;
  • атрибуты субъекта (метка безопасности, группа пользователя и т.п.). Метки безопасности – основа принудительного (мандатного) управления доступом.

Матрицу доступа, ввиду ее разреженности (большинство клеток – пустые), неразумно хранить в виде двухмерного массива. Обычно ее хранят по столбцам, то есть для каждого объекта поддерживается список "допущенных" субъектов вместе с их правами. Элементами списков могут быть имена групп и шаблоны субъектов, что служит большим подспорьем администратору. Некоторые проблемы возникают только при удалении субъекта, когда приходится удалять его имя из всех списков доступа; впрочем, эта операция производится нечасто.

Списки доступа – исключительно гибкое средство. С их помощью легко выполнить требование о гранулярности прав с точностью до пользователя. Посредством списков несложно добавить права или явным образом запретить доступ (например, чтобы наказать нескольких членов группы пользователей). Безусловно, списки являются лучшим средством произвольного управления доступом.

Подавляющее большинство операционных систем и систем управления базами данных реализуют именно произвольное управление доступом. Основное достоинство произвольного управления – гибкость. Вообще говоря, для каждой пары "субъект-объект" можно независимо задавать права доступа (особенно легко это делать, если используются списки управления доступом). К сожалению, у "произвольного" подхода есть ряд недостатков. Рассредоточенность управления доступом ведет к тому, что доверенными должны быть многие пользователи, а не только системные операторы или администраторы. Из-за рассеянности или некомпетентности сотрудника, владеющего секретной информацией, эту информацию могут узнать и все остальные пользователи. Следовательно, произвольность управления должна быть дополнена жестким контролем за реализацией избранной политики безопасности.

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

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

Удобной надстройкой над средствами логического управления доступом является ограничивающий интерфейс, когда пользователя лишают самой возможности попытаться совершить несанкционированные действия, включив в число видимых ему объектов только те, к которым он имеет доступ. Подобный подход обычно реализуют в рамках системы меню (пользователю показывают лишь допустимые варианты выбора) или посредством ограничивающих оболочек, таких как restricted shell в ОС Unix.

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

Ролевое управление доступом

При большом количестве пользователей традиционные подсистемы управления доступом становятся крайне сложными для администрирования. Число связей в них пропорционально произведению количества пользователей на количество объектов. Необходимы решения в объектно-ориентированном стиле, способные эту сложность понизить.

Таким решением является ролевое управление доступом (РУД). Суть его в том, что между пользователями и их привилегиями появляются промежуточные сущности – роли. Для каждого пользователя одновременно могут быть активными несколько ролей, каждая из которых дает ему определенные права (см. рис. 10.2).


Рис. 10.2. Пользователи, объекты и роли.

Ролевой доступ нейтрален по отношению к конкретным видам прав и способам их проверки; его можно рассматривать как объектно-ориентированный каркас, облегчающий администрирование, поскольку он позволяет сделать подсистему разграничения доступа управляемой при сколь угодно большом числе пользователей, прежде всего за счет установления между ролями связей, аналогичных наследованию в объектно-ориентированных системах. Кроме того, ролей должно быть значительно меньше, чем пользователей. В результате число администрируемых связей становится пропорциональным сумме (а не произведению) количества пользователей и объектов, что по порядку величины уменьшить уже невозможно.

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

В 2001 году Национальный институт стандартов и технологий США предложил проект стандарта ролевого управления доступом (см. http://csrc.nist.gov/rbac/), основные положения которого мы и рассмотрим.

Ролевое управление доступом оперирует следующими основными понятиями:

  • пользователь (человек, интеллектуальный автономный агент и т.п.);
  • сеанс работы пользователя;
  • роль (обычно определяется в соответствии с организационной структурой);
  • объект (сущность, доступ к которой разграничивается; например, файл ОС или таблица СУБД);
  • операция (зависит от объекта; для файлов ОС – чтение, запись, выполнение и т.п.; для таблиц СУБД – вставка, удаление и т.п., для прикладных объектов операции могут быть более сложными);
  • право доступа (разрешение выполнять определенные операции над определенными объектами).

Ролям приписываются пользователи и права доступа; можно считать, что они (роли) именуют отношения "многие ко многим" между пользователями и правами. Роли могут быть приписаны многим пользователям; один пользователь может быть приписан нескольким ролям. Во время сеанса работы пользователя активизируется подмножество ролей, которым он приписан, в результате чего он становится обладателем объединения прав, приписанных активным ролям. Одновременно пользователь может открыть несколько сеансов.

Между ролями может быть определено отношение частичного порядка, называемое наследованием. Если роль r2 является наследницей r1, то все права r1 приписываются r2, а все пользователи r2 приписываются r1. Очевидно, что наследование ролей соответствует наследованию классов в объектно-ориентированном программировании, только правам доступа соответствуют методы классов, а пользователям – объекты (экземпляры) классов.

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

Можно представить себе формирование иерархии ролей, начиная с минимума прав (и максимума пользователей), приписываемых роли "сотрудник", с постепенным уточнением состава пользователей и добавлением прав (роли "системный администратор", "бухгалтер" и т.п.), вплоть до роли "руководитель" (что, впрочем, не значит, что руководителю предоставляются неограниченные права; как и другим ролям, в соответствии с принципом минимизации привилегий, этой роли целесообразно разрешить только то, что необходимо для выполнения служебных обязанностей). Фрагмент подобной иерархии ролей показан на рис. 10.3.


Рис. 10.3. Фрагмент иерархии ролей.

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

Статическое разделение обязанностей налагает ограничения на приписывание пользователей ролям. В простейшем случае членство в некоторой роли запрещает приписывание пользователя определенному множеству других ролей. В общем случае данное ограничение задается как пара "множество ролей – число" (где множество состоит, по крайней мере, из двух ролей, а число должно быть больше 1), так что никакой пользователь не может быть приписан указанному (или большему) числу ролей из заданного множества. Например, может существовать пять бухгалтерских ролей, но политика безопасности допускает членство не более чем в двух таких ролях (здесь число=3).

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

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

Рассматриваемый проект стандарта содержит спецификации трех категорий функций, необходимых для администрирования РУД:

  • Административные функции (создание и сопровождение ролей и других атрибутов ролевого доступа): создать/удалить роль/пользователя, приписать пользователя/право роли или ликвидировать существующую ассоциацию, создать/удалить отношение наследования между существующими ролями, создать новую роль и сделать ее наследницей/предшественницей существующей роли, создать/удалить ограничения для статического/динамического разделения обязанностей.
  • Вспомогательные функции (обслуживание сеансов работы пользователей): открыть сеанс работы пользователя с активацией подразумеваемого набора ролей; активировать новую роль, деактивировать роль; проверить правомерность доступа.
  • Информационные функции (получение сведений о текущей конфигурации с учетом отношения наследования). Здесь проводится разделение на обязательные и необязательные функции. К числу первых принадлежат получение списка пользователей, приписанных роли, и списка ролей, которым приписан пользователь.

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

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

Принципы аутентификации.

1) Пользователь знает;

2) Пользователь имеет;

3) Пользователь есть.

 

1. Существует 3 метода аутентификации.

1) Метод паролей и его модификации.

Пароль выбирается пользователем.

Ожидаемое безопасное время – полупроизведение числа возможных паролей и времени, необходимого для того, чтобы попробовать один из возможных паролей.

 

Модификации метода простых паролей:

i) Пароль с выборкой символов.

Система просит ввести случайную последовательность символов, составляющую пароль.

ii) Метод однократного пароля.

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

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

iii) При завершении сеанса работы система просит ввести пароль на следующий сеанс.

Правила обращения с паролями.

(1) Пароли нельзя хранить в системе в явном виде.

(2) Пароли нельзя отображать в явном виде.

(3) Пароль необходимо менять как можно чаще.

(4) Система не должна вырабатывать новый пароль в конце сеанса работы.

2) Метод «вопрос-ответ».

Пользователь при входе отвечает на m ориентированных и n стандартных вопросов.

Стандартные вопросы не касаются пользователя и вводятся в систему заранее.

3) Метод секретного алгоритма.

Система выдает случайное число. Пользователь, зная секретный алгоритм, сообщает системе результаты вычислений по алгоритму.

2. Пользователь имеет.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 707; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.134.87.95 (0.12 с.)