Стандарт управления правами доступа к корпоративным файловым информационным ресурсам. Каждому свое

Автоматизированная система АСОМИ предусматривает возможность гибкого разграничения прав доступа пользователей к хранимой метрологической информации. Такой подход обеспечивает защиту хранящейся и обрабатываемой информации, а именно:

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

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

Доступ к учетным данным определяется через следующие концептуальные понятия:

  • Лицо, ответственное за обработку текущего статуса средства измерения - это сотрудник предприятия, который в текущем статусе СИ должен выполнить определенные этим статусом действия и перевести СИ в последующий статус в рамках рабочего цикла одной из метрологических работ. Определяется из параметров текущего статуса СИ. Например, таким лицом является лицо, исполняющее роль диспетчера (далее по тексту Диспетчер), принявшее СИ для выполнения ремонта и обязанное его затем передать лицу, исполняющему роль исполнителя ремонта (далее по тексту Исполнитель ремонта).
  • Материально-ответственное за СИ лицо - это сотрудник предприятия, который несет материальную ответственность за средство измерения или эксплуатирует его. Определяется в учетной карточке СИ. Как правило, таким лицом является мастер, в ведении которого находится это СИ.
  • Руководители "первых двух" лиц - буквально по определению. Определяются из организационной структуры предприятия по следующему принципу: они являются руководителями лиц из первых двух категорий "Лицо, ответственное за обработку текущего статуса СИ" и "Материально-ответственное за СИ лицо"; либо они являются руководителями вышестоящего подразделения предприятия, в состав которого входит (подчиняется) структурное подразделение, где исполнителями работают лица из первых двух категорий. В рамках АСОМИ этот концептуальный принцип приводит к тому, что информация о СИ доступна как всем вышестоящим руководителям Метролога, так и всем вышестоящим руководителям исполнителей тех или иных МР (например, начальник цеха имеет доступ к информации о СИ, за которые ответственны его мастера).
  • Лицо, ответственное за метрологический надзор и контроль - это, например, сотрудник поверочного, ремонтного подразделения или метролог структурного подразделения, исполняющий обязанности по надзору и контролю. В соответствии с его обязанностями, он вправе иметь доступ на чтение учетной информации обо всех СИ, закрепленных за ним.

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

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

Теперь рассмотрим Правила и порядок доступа к справочным данным. Такие функции как просмотр и использование справочных данных для выполнения своих обязанностей по метрологическому обеспечению доступны всем пользователям АСОМИ.

При этом доступ на пополнение и редактирование справочных данных разрешается только сотрудникам предприятия, исполняющим в системе АСОМИ роль администратора или контролера. Они полностью ответственны за актуальность и корректность информации, содержащейся в справочниках. При заполнении справочников, касающихся структуры прав доступа в АСОМИ, используются данные из справочников, входящих в справочный блок "Структура прав доступа в АСОМИ". При заполнении специфических (дополнительных) справочников используются данные из НТД (нормативно-технической документации) на СИ, данных Госреестра СИ, допущенных к применению на территории РФ, других достоверных источников.

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

В рамках отчетности может быть организован доступ к специальным функциям. Примером такой функции может являться поиск и получение информации о любом из учтенных в системе СИ по различным его параметрам, к примеру, мастер будет иметь возможность вывести в виде отчета список всех СИ, зарегистрированных в АСОМИ, для того, чтобы, например, подыскать варианты замены своего СИ на такое же СИ, которое находится на консервации в соседнем цехе.

Доступ к операционным данным (протоколам работы пользователей) разрешен только Администраторам АСОМИ и Главному метрологу предприятия.

Правила и порядок назначения и изменения доступа к информационным данным могут быть назначены или изменены только Администратором АСОМИ.


Если Вас заинтересовал данный продукт или возникли вопросы,
которые Вы хотели бы задать, пишите:

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

Что ж, сама по себе данная тема довольно грузная, и требует определённого времени на анализ и постанувку задачи.

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

Давайте с самого начала обсудим архитектуру модульной системы на выбранной нами псевдо-системе.

Все модули представлены ввиде подключаемых к главному документу (индекс-файлу) вставок. Запрос модуля происходит из строки запроса QUERY_STRING, и название подключаемого модуля передаётся в качестве аргумента act. В некотором месте индекса файла происходит изъятие и обработка данного параметра. После, если у пользователя достаточно прав для доступа к модулю в контексте чтения, происходит проверка существования указанного в строке запроса модуля, и если таковой существует, то происходит его подключение к индекс файлу.

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

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

Значение do буду фиксированными, данная переменная будет принимать следующие значения:

  • main - главная часть модуля (доступно в контексте чтения)
  • config - раздел настройки модуля (доступно в контексте записи)
  • create - произвести некоторые действия, по добавлению информации в БД (доступно в контексте записи)
  • delete - доступ к разделу, предоставляющему возможности удалить некоторую информацию, в контексте данного модуля (доступно в контексте записи)
  • edit - доступ к редактированию информации в контексте модуля (доступно в контексте записи)

В целом, этот список можно увеличить, при этом всё зависит лишь только от масштабов проекта и его потребностей в функционале.

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

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

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

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

Что ж, давайте рассмотрим эту особую структуру. Она будет следующей: [ module_indefier: + \: + \;] *

То есть идёт список из пар: имя модуля ":" права чтения "," права записи ";". При этом данная метка обновляется в момент внесения изменений о правах доступа пользователя к системе. Если в системе появляется информация о модуле, который не вошёл в данную метку, то стоит просто произвести процедуру редактирования, и данные сохранятся автоматически.

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

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

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

Таблица `modules`:

CREATE TABLE `modules` (`id` bigint(20) NOT NULL auto_increment, `indefier` text collate utf8_unicode_ci NOT NULL, `title` text collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Таблица `secure_groups`:

CREATE TABLE `secure_groups` (`id` bigint(20) NOT NULL auto_increment, `title` text collate utf8_unicode_ci NOT NULL, `perms` text collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

Таблица `users`

CREATE TABLE `users` (`id` bigint(20) NOT NULL auto_increment, `login` text collate utf8_unicode_ci NOT NULL, `passwd` text collate utf8_unicode_ci NOT NULL, `groupId` int(1) NOT NULL default "0", PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

temp=array(); $this->temp["_result"]=0; $this->temp["_uid"]=explode("::",$_COOKIE["site_hash"]); $this->temp["_uid"]=$this->temp["_uid"]; $this->temp["_gid"]=$this->getUserSecurityAccess($this->temp["_uid"]); $this->temp["_conn_id"]=mysql_connect("host","user","passwd"); mysql_select_db("database"); $this->temp["_q1"]=mysql_query("SELECT perms" ."FROM `secure_groups`" ."WHERE id=".$this->temp["_gid"]); $this->temp["_access_stamp"]=mysql_fetch_assoc($this->temp["_q1"]); $this->temp["_access_stamp"]=$this->temp["_access_stamp"]["perms"]; $this->temp["_access_stamp"]=explode(";",$this->temp["_access_stamp"]); $this->temp["_access_stamp"]=array_slice($this->temp["_access_stamp"],0,-1); foreach($this->temp["_access_stamp"] as $this->temp["v"]){ $this->temp["_mod_access"]=explode(":",$this->temp["v"]); $this->temp["_mod_indefier"]=$this->temp["_mod_access"]; if($this->temp["_mod_indefier"]==$module){ $this->temp["_perms"]=explode(",",$this->temp["_mod_access"]); switch($act){ case "r": $this->temp["_result"]=($this->temp["_perms"]==1)? 1:0; break; case "w": $this->temp["_result"]=($this->temp["_perms"]==1)? 1:0; break; } break; } } mysql_close($conn_id); return $this->temp["_result"]; } } ?>

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

Функция secure::getUserId()

Используя данную функцию, мы подразумеваем, что во время авторизации пользователя в системе в переменной среде $_COOKIE была установлена переменная `site_hash`, состоящая из идентификатора пользователя в системе и хеша для проверки аутентичности его в системе. Функция просто изымает значение идентификатора, возращая его значение на выходе.

Функция secure::getUserSecurityAccess($id)

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

Функция secure::checkUserPermission($module,$act))

Производится запрос к БД, относительно прав пользователя на произведение действий чтения/записи в контексте переданного в качестве параметра модуля.

Осталось лишь описать процедуру формирования переменной в среде $_COOKIE, и тему статьи можно будет считать расскрытой.

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

Для проверки аутентичности данных хранимых в переменной среде $_COOKIE, мы будем использовать функцию EatCookie(), которая будет производить валидацию данных, возвращая булевый результат проверки (истина - ложь).

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

  • `ulogin` - логин пользователя
  • `upasswd` - пароль пользователя
  • `stime` - время сессии, устанавливаемое пользователем (от 1 до 5 часов)
  • `auth` - имя кнопки отправки

Вот, в целом и всё. Осталось лишь пробовать, экспериментировать, ошибатся и находить решение, что я всецело и оставляю вам.

Надеюсь, что мы скоро встретимся, а для тех кто имеет ко мне вопрос в отношении статьи, да и не только - писать на [email protected], либо на [email protected].

С уважением Карпенко Кирилл, глава IT-отдела ИНПП.

Разграничение доступа.

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

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

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

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

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

По степени важности;

По степени секретности;

По выполняемым функциям пользователей, устройств;

По наименованию документов;

По видам документов;

По видам данных;

По наименованию томов, файлов, массивов, записей;

По имени пользователя;

По функциям обработки информации: чтению, записи, исполнению;

По времени дня.

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

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

Функции обеспечения безопасности информации должны выполняться специальным подразделением в организации-владельце ИС, вычислительной сети или АСУ;

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

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

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

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

В указанных целях при проектировании вычислительных средств для построения ИС проводятся:

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

Изоляция областей доступа;

Разделение базы данных на группы;

Процедуры контроля перечисленных функций.

Разработка и реализация функциональных задач по разграничению и контролю доступа к аппаратуре и информации как в рамках данного ИС, так и АСУ (сети) в целом;

Разработка аппаратных средств идентификации и аутентификации пользователя;

Разработка программных средств контроля и управления разграничением доступа;

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

Выбор конкретных признаков разграничения доступа и их сочетаний производится в соответствии с техническим заданием при проектировании программного обеспечения автоматизированной системы.

Информация, подлежащая защите, должна быть размещена в непересекающихся областях памяти. В любой из этих областей хранится совокупность информационных объектов, каждый из которых подлежит защите. Защита в этом случае сводится к тому, что доступ к информационному объекту осуществляется через единственный охраняемый вход. В функцию «охраны» входят опознание пользователя по имени (или условному номеру) и коду предъявленного пароля. При положительном результате проверки разрешается допуск его к информации в соответствии с выделенными ему полномочиями. Эти процедуры выполняются при каждом обращении пользователя: запросе, выдаче команд и т.д. Чтобы не набирать каждый раз пароль, удобно предъявляемый пароль хранить на специальном физическом носителе (ключе, карте), который перед входом в вычислительную систему должен вставляться пользователем в специальное гнездо АРМ. Кроме того, после изъятия носителя с паролем из гнезда вход в систему сразу блокируется.

Если же требования к защите информации для конкретной системы позволяют применение набора пароля вручную, необходимо сделать так, чтобы предъявляемый пароль при повторных обращениях в процессе работы с информацией находился в памяти данного АРМ. Хранение в центральном вычислителе допускается только при обеспечении его связки с условным номером данного АРМ, т.е. все последующие обращения в центральном вычислителе должны приниматься на обработку только с условным номером АРМ, с которого предъявлялся хранимый код пароля. По окончании работы для исключения возможности несанкционированного доступа со стороны посторонних пользователей необходимо с АРМ ввести соответствующую команду, по которой предъявленный ранее и хранимый пароль стирается. О факте стирания на АРМ пользователя должно быть выдано сообщение. Для проверки последней операции полезно повторить одно из предыдущих обращений без пароля и убедиться в этом по отрицательной реакции вычислительной системы.

Цель: освоение приемов обмена файлами между пользователями локальной компьютерной сети; осуществление защиты информации.

Сведения из теории

1. Виды компьютерных сетей.

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

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

    GAN (Global Area Network – глобальная сеть), общее планетное соединение компьютерных сетей - Интернет;

    WAN (Wide Area Network – широкомасштабная сеть), континентальное на уровне государства объединение компьютерных сетей;

    MAN (Metropolitan Area Network – междугородняя сеть), междугороднее и областное объединение компьютерных сетей;

    LAN (Local Area Network – локальная сеть) сетевое соединение, функционирующее обычно в стенах одной организации.

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

Многие организации, заинтересованные в защите информации от несанкционированного доступа (например, военные, банковские и пр.), создают собственные, так называемые корпоративные сети. Корпоративная сеть может объединять тысячи и десятки тысяч компьютеров, размещенных в различных странах и городах (в качестве примера можно привести сеть корпорации Microsoft, MSN).

2. Локальная компьютерная сеть.

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

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

Рассмотрим преимущества, получаемые при сетевом объединении персональных компьютеров в виде внутрипроизводственной вычислительной сети.

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

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

    Разделение программных средств: разделение программных средств, предоставляет возможность одновременного использования централизованных, ранее установленных программных средств.

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

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

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

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

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

Определение 1

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

Определение 2

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

Определение 3

Право доступа к объекту – право на доступ к объекту по одному или нескольким методам доступа.

Определение 4

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

Модели разграничения доступа

Наиболее распространенные модели разграничения доступа:

  • дискреционная (избирательная) модель разграничения доступа;
  • полномочная (мандатная) модель разграничения доступа.

Дискреционная

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

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

Полномочная модель характеризуется следующими правилами:

  • каждый объект обладает грифом секретности. Гриф секретности имеет числовое значение: чем оно больше, тем выше секретность объекта;
  • у каждого субъекта доступа есть уровень допуска.

Допуск к объекту в этой модели субъект получает только в случае, когда у субъекта значение уровня допуска не меньше значения грифа секретности объекта.

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

Методы разграничения доступа

Виды методов разграничения доступа:

    Разграничение доступа по спискам

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

    Использование матрицы установления полномочий

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

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

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

    Разграничение доступа по уровням секретности и категориям

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

    Парольное разграничение доступа

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: