Традиционные системы контроля доступа защищают данные от несанкционированного доступа с помощью механизмов аутентификации, таких, как пароли, биометрические средства или смарт-карты. По поступлении каждого запроса на допуск запускается системный компонент, страж (guard), являющийся частью доверительной вычислительной платформы (trusted computing base). Страж предоставляет доступ или отказывает в нем, проверяя запросы на доступ по таким критериям, как пользователь, запрос и политика контроля доступа, применяемая данной системой [1]. Решения о предоставлении доступа отчасти зависят от того, какая программа направляет запрос. К примеру, пользователь может санкционировать доступ к содержащим финансовую информацию файлам лишь для нескольких программ.
Расширение практически любой построенной на идентификации пользователей системы контроля доступа до уровня модели доступа на базе программ проблемы не представляет [2]. Например, для какого-нибудь ресурса можно составить список доступа, который будет разрешать доступ входящим в этот перечень программам, но не пользователям, выполняющим эти программы. Мы полагаем, что большинство систем, обеспечивающих режим функционирования с аутентификацией, будут принимать решения по предоставлению доступа по запросам на использование ресурса, исходящим как от программ, так и от пользователей.