[Знания о безопасности] Каковы различия между моделями контроля доступа DAC, MAC, RBAC и ABAC?
[Знания о безопасности] Каковы различия между моделями контроля доступа DAC, MAC, RBAC и ABAC?

Различные компании или поставщики программного обеспечения разработали бесчисленное множество способов контроля доступа пользователей к функциям или ресурсам. Но независимо от типа конструкции, его можно разделить на четыре классические модели разрешений — дискреционное управление доступом (DAC, Discretionary Access Control), обязательное управление доступом (MAC, Mandatory Access Control), управление доступом на основе ролей (RBAC, Role-Control). управление доступом на основе атрибутов) и управление доступом на основе атрибутов (ABAC, контроль доступа на основе атрибутов).

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

Три элемента модели контроля доступа

  • Субъект относится к объекту, который активно выполняет действия над другими объектами.
  • Объект — это сущность, которая пассивно принимает доступ от других сущностей.
  • стратегия контроля (Policy) Это рабочее поведение субъекта и ограничения на объект.

Модель дискреционного контроля доступа (DAC)

концепция

Дискреционная модель контроля доступа (DAC, Discretionary Accessory Access Control)основан наПолитика дискреционного контроля доступамодель создана,позволятьЗаконные пользователи как пользователи или группы пользователей.Политика доступа предусматриваетобъект,Также запретите неавторизованным пользователям доступ к объекту. Пользователи, владеющие объект Разрешения,Это может бытьобъектиз Разрешенияназначено другимпользователь。Например, нет файла File1 Пользователи с правами доступа могут получить доступ к B Пользователь имеет права доступа туда.

Реализация ЦАП контроля доступа

список контроля разрешений

Список управления доступом (ACL), каждый объект снабжен списком, в котором записаны, какие операции субъект выполняет над объектом. Когда система пытается получить доступ к объекту, она сначала проверяет этот список, чтобы узнать, есть ли какие-либо права доступа для текущего пользователя. ACL — это ресурсно-ориентированная модель управления доступом, и ее механизм вращается вокруг ресурсов.

Для ACL файлового объекта:

  • Alice: read,write
  • Bob: read

Указывает, что Алиса может читать и записывать файл, а Боб может только читать его.

матрица контроля разрешений

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

Сценарии применения

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

Особенности и недостатки

Функции

Субъект реализации авторизации (1. Субъект, который может авторизовать; 2. Авторизованный объект управления; 3. Группа авторизации) самостоятельно отвечает за предоставление и отзыв прав доступа других субъектов к ресурсам объекта. Модель DAC обычно использует матрицы управления доступом и списки управления доступом для хранения информации управления доступом различных субъектов, чтобы ограничить права доступа субъектов.

недостаток

  1. Разрешение темы слишком велико.,Информация может быть утечка непреднамеренно
  2. Список контроля доступа не может защитить от троянских атак
  3. При наличии большого количества пользователей и большого объема данных управления список ACL станет очень большим. Непрост в обслуживании.

Обязательный контроль доступа MAC

Модель обязательного контроля доступа (MAC, Mandatory Access Control), Это чтобы компенсировать это DAC Разрешения родились из проблемы чрезмерного рассредоточения контроля. В области компьютеров под безопасностью понимается контроль, управляемый операционной системой. доступа,目标да限制主体或发起者访问或对对象或目标执行某种操作из能力。任何主体对任何对象из任何操作都将根据一组Правила авторизации (также называемые политиками)тест,Определите, разрешена ли операция.

  • Субъекту присвоен определенный уровень Безопасности.
  • Объекту присвоен определенный уровень Безопасности.
  • Subject Доступен Object Это решение определяется уровнем безопасности отношений между двумя сторонами и обычно имеет жесткие системные ограничения.

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

Обязательная политика доступа

Система определяет режим доступа на основе конфиденциальной метки субъекта, и этот режим включает в себя

  • Не читаю(NRU),Субъект не может читать данные, уровень Безопасности которых выше его;
  • Нет нижнего чтения (NRD), субъект не может читать данные с уровнем безопасности ниже, чем его
  • Не написано выше (NWU), субъект не может записывать данные с уровнем Безопасности выше, чем у него.
  • Больше не писать(NWD),Субъект не может записывать данные уровня Безопасности ниже, чем он сам.

Из соображений безопасности этот метод использовался военными. Ниже описаны две широко используемые модели безопасности с обязательным контролем доступа.

  • BLP Модель: в BLP В модели не допускается чтение и не допускается запись, то есть пользователям с низким уровнем Безопасности не разрешается читать информацию с высоким уровнем Безопасности, высокочувствительную информацию нельзя записывать в низко- зоны чувствительности, и передача информации с высоких уровней на низкие уровни запрещена. контроль доступ обеспечивает односторонний поток информации через этот градиент. Метка безопасности.
  • Biba Модель: из-за BLP Существование модели не защищает целостность и доступность информации и не предполагает контроля. доступа не хватает, поэтому используйте Biba В качестве дополнения модель направлена ​​на защиту целостности информации и в основном используется в невоенных сферах. 模型使用Ни читать, ни писатьиз原则来保证数据из完整性,В реальных приложениях это делается главным образом для того, чтобы прикладная программа не модифицировала некоторые важные системные программы или системные базы данных.,Это гарантирует целостность ресурса. То есть напишите,Он может только читать приказы, отправленные ему начальством.,Невозможно прочитать, какие приказы получили его подчиненные.

Управление доступом на основе ролей (RBAC)

Администратор определяет ряд Роль(roles)и назначьте их по теме。Системный процессиобычнопользователь可能有不同из Роль。Присвоить объекту определенный тип,主体具有相应из Рольвы можете получить к нему доступ。Это освобождает администратора от необходимости определять каждыйпользовательиз许可Разрешенияиз繁冗工作中解放出来。

Управление доступом на основе ролей (RBAC, Role Based Access Control) Представлен среди пользователей и Разрешения "Роль" изконцепция,РольразвязкаПонятнопользовательи Разрешения之间из关系。

Основные отличия группы Роли

  • Группа — это совокупность пользователей
  • Рольда Разрешенияизнабор合
  • Роль / Коэффициент изменения между Разрешениями / Изменения между взаимоотношениями пользователей происходят относительно намного медленнее, что снижает сложность управления авторизацией.

Управление доступом на основе ролей模型 RBAC, иногда называемый RBAC на основе правил. доступом на основе ролей(Rule-Based Role-Based Access Control,РБ-RBAC). Он содержит механизм динамического назначения Роль субъектам в соответствии с правилами, определяемыми атрибутами и политиками субъекта. Например,Ты субъект в сети,Вы хотите получить доступ к объекту в другой сети. Эта сеть находится на другой стороне маршрутизатора, для которого определен список доступа. Маршрутизатор на основе вашего сетевого адреса или протокола,Дать тебе некую Роль,Это определяет, имеете ли вы право доступа.

История развития

RBAC0

RBAC0 作为базовая модель,Содержит только три основных элемента,пользователь,Роль,Разрешения。пользовательи Роль可以да多对多из关系,Разрешенияи Роль также является отношением многие-ко-многим.

RBAC1

RBAC1 включено RBAC0 并且添加Понятнонаследование ролей。Как следует из названия,наследование ролей означает, что Роль может наследовать от других Ролей,Имея другие Роль Разрешения,Вы также можете самостоятельно связать дополнительные Разрешения. Данная конструкция позволяет группировать и наслаивать Роль.,Это в определенной степени упрощает управленческую работу «Разрешения». То есть между Ролем существуют отношения начальник-подчиненный.,Проекту сущности соответствует самоассоциация сущности Роль.

RBAC2

RBAC2 также включает в себя RBAC0 и добавлены ограничения. RBAC1 и RBAC2 независимы друг от друга. RBAC2 Ограничения определяют обязательные правила, которым следует следовать, когда роли назначаются разрешения или когда роль назначается пользователю, а также когда пользователь активирует роль в определенный момент.

взаимоисключающие ограничения:включить взаимное исключениепользователь,взаимоисключающие,взаимоисключающие Разрешения。тот же самыйпользователь不能拥有相互排斥из Роль,двавзаимоисключающие不能分配一样из Разрешениянабор,Взаимоисключающие Разрешения не могут быть назначены на одну и ту же Роль.,существовать session , одна и та же роль не может иметь взаимоисключающие разрешения.

ограничения мощности:один Роль被分配изпользователь Количество ограничено,它指изда有多少пользовательможет иметь это Роль。Например:один Рольспециально для компаний CEO Создано, количество этой роли ограничено.

Необходимые роли:指要想获得较高из Разрешения,Сначала у вас должен быть более низкий уровень Разрешения. Например: Сначала идет заместитель генерального директора Разрешения.,Только тогда может быть генеральный директор Разрешения.

RBAC3

RBAC3 — это полнофункциональный RBAC3, объединяющий RBAC0, RBAC1 и RBAC2.

Управление доступом на основе атрибутов (ABAC)

基于属性изКонтроль доступа (ABAC, контроль доступа на основе атрибутов) выполняет оценку авторизации путем динамического расчета того, удовлетворяет ли атрибут или группа атрибутов определенным условиям.。可以按需实现不同颗粒度из Разрешенияконтроль,Но определениеРазрешенияИногда трудно увидетьпользовательи对象间из关系。Если правила сложные,Легко доставить менеджерам проблемы с обслуживанием и отслеживанием.

Недвижимость обычно делится на четыре категории:

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

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

и RBAC По сравнению с АБАК Управление разрешениями является более детальным, например управление скоростью доступа пользователя. В реальной разработке его можно комбинировать RBAC Преимущества Роль менеджмента ABAC гибкость для совместного использования.

Источник статьи: Блог Парк

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose