Защита на основе пользователей
С позиции традиционной защиты, работающей на основе пользователей, вопрос опознавания состоит в следующем: "Что за личность пытается выполнить определенное действие?" Под личностью обычно понимается имя или учетная запись пользователя. Мандат – это то, что вы предъявляете, чтобы показать, кто вы такой. Он является свидетельством, представленным для проверки.
Мандатом пользователя может быть пароль, смарт-карта (интеллектуальная карта) или какое-нибудь биометрическое устройство. Такой мандат должен проверяться некоторым средством защиты. Примером может служить проверка пароля пользователя на соответствие регистрационному имени, которая выполняется на основе информации базы данных с пользовательскими именами и зашифрованными паролями. Если система разрешает доступ без проверки, то говорят, что такая система разрешает анонимный доступ. На жаргоне специалистов по системам защиты личность, которая может быть опознана, называется принципалом (principal).
Что касается вопроса о разрешении, то он состоит в следующем: "Может ли личность выполнять нужные ей действия?" Данные принципала затем сравниваются с некоторым списком прав, чтобы определить, разрешен принципалу доступ или нет. Например, чтобы получить доступ к файлу, имя пользователя проверяется в списке доступа (ACL), составленном для той операции, которую нужно выполнить. Эта проверка делается для того, чтобы определить, можете ли вы иметь доступ к файлу. Конечно, доступ – это не всегда все или ничего. Например, у вас может быть право читать файл, но при этом могут отсутствовать права делать в нем изменения.
В многоуровневой архитектуре личность сервера часто обладает очень большой властью, и потому необходимо ограничить подмножество полномочий сервера, которое может запросить клиент. В других случаях, например, анонимного доступа, сервер может не знать, кем в действительности является его клиент. В таких случаях сервер исполняет роль клиента. При выполнении код сервера временно использует личность клиента, а не сервера.
В случае анонимного доступа сервер использует личность специально подготовленной учетной записи пользователя. Например, встроенная учетная запись для анонимного доступа на информационный сервер Internet (Internet Information Server, IIS) называется Internet Guest Account (учетная запись гостя Internet).
В основу системы защиты Windows, на которой, в свою очередь, построена защита .NET и ASP.NET, положены принципы защиты на основе пользователей.