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

Рисунок 21-1Простая модель проверки полномочий
На рис. 21-2 показано, почему такая базовая модель недостаточна для обеспечения хотя бы минимального уровня безопасности. Если Процессу 2 удастся выдать себя за Процесс 1, то он сможет выполнять действия, разрешенные Процессу 1 (но не Процессу 2). Поэтому очевидно, что необходимы какие-то дополнительные меры, которые мы и обсудим в следующем разделе.

Рис. 21-2Необходимость проверки подлинности в дополнение к проверке полномочий