Аутентификация процессов и разрешения на ресурсы

Иллюстрации

Показать все

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных. Система содержит: один или более процессоров; запоминающее устройство, подключенное к одному или более процессорам с возможностью осуществления связи; и компонент аутентификации процессов, сохраненный в запоминающем устройстве и содержащий инструкции, которые при их исполнении одним или более процессорами предписывают одному или более процессорам: принимать исполняемый файл, который включает в себя цифровую подпись; выбирать открытый ключ расшифрования, соответствующий закрытому ключу шифрования, использованному для генерирования цифровой подписи; аутентифицировать исполняемый файл посредством проверки цифровой подписи с помощью открытого ключа расшифрования; создавать процесс для исполнения аутентифицированного исполняемого файла и назначать этому процессу совместно измерение и уровень на основе открытого ключа расшифрования, причем уровень представляет собой один из множества ранжированных уровней разрешений доступа к системным ресурсам, а измерение представляет собой одно из множества ранжированных измерений, служащих для задания связанности разных наборов уровней разрешений доступа. 3 н. и 14 з.п. ф-лы, 7 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

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

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

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0008] Фиг. 1 иллюстрирует примерную вычислительную среду, в которой устройство реализует безопасный модуль обработки, который включает в себя компонент аутентификации процессов и компонент разрешений на ресурсы.

[0009] Фиг. 2 иллюстрирует первое примерное отношение между измерениями и уровнями, которое может использоваться для задания разрешений доступа к ресурсам, в соответствии с некоторыми реализациями.

[0010] Фиг. 3 иллюстрирует второе примерное отношение между измерениями и уровнями, которое может использоваться для задания разрешений доступа к ресурсам, в соответствии с некоторыми реализациями.

[0011] Фиг. 4 иллюстрирует пример измерений и уровней, изображающих различные наборы разрешений доступа к ресурсам, в соответствии с некоторыми реализациями.

[0012] Фиг. 5 иллюстрирует блок-схему алгоритма, изображающую способ для предоставления процессу доступа к системному ресурсу, когда измерение и уровень доверия к процессу удовлетворяют заданным требованиям, в соответствии с некоторыми реализациями.

[0013] Фиг. 6 иллюстрирует блок-схему алгоритма способа для назначения измерения и уровня некоему процессу после аутентификации этого процесса, в соответствии с некоторыми реализациями.

[0014] Фиг. 7 иллюстрирует вычислительное устройство, которое может конфигурироваться для реализации безопасного модуля обработки, который включает в себя компонент аутентификации процессов и компонент разрешений на ресурсы, в соответствии с некоторыми реализациями.

ПОДРОБНОЕ ОПИСАНИЕ

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

[0016] В некоторых случаях, если операционная система должна просто создать процесс для исполняемого файла без какого-либо типа аутентификации, то существует опасность, что исполняемый файл был изменен с включением в него вируса. В этом сценарии, когда операционная система создает процесс для исполнения исполняемого файла, вирус попал бы в операционную систему. Для решения этой проблемы в некоторых реализациях для определения, принят ли исполняемый файл от поставщика или издателя программного обеспечения без какой-либо фальсификации или модификаций, издатель программного обеспечения может снабдить исполняемый файл цифровой подписью, чтобы операционная система могла аутентифицировать исполняемый файл. Цифровая подпись может создаваться издателем программного обеспечения с использованием ключа шифрования. Кроме того, в некоторых реализациях идентичность издателя программного обеспечения можно определить из ключа шифрования или расшифрования. В свою очередь операционная система может использовать ключ расшифрования, соответствующий ключу шифрования, чтобы аутентифицировать исполняемый файл на основе расшифрования цифровой подписи. В некоторых реализациях могут использоваться методики асимметричного шифрования при определении, что программное обеспечение из данного источника заслуживает доверия. Например, цифровую подпись можно создать с использованием секретного ключа, и цифровую подпись можно расшифровывать с использованием открытого ключа.

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

[0018] В некоторых реализациях операционная система может ограничивать даже пользователей с наивысшими возможными уровнями пользовательского доступа в доступе к некоторым системным ресурсам. Более того, операционная система может резервировать измерение и уровень доступа к ресурсам некоторым набором системных процессов и препятствовать равному уровню доступа к ресурсам у любого пользователя. При использовании в данном документе измерение, в дополнение к наборам уровней, обеспечивает компонент разрешений на ресурсы возможностью задавать наборы разрешений для доступа к системным ресурсам, которые гибче, чем при использовании концентрически или иерархически унаследованных уровней разрешений. Кроме того, в некоторых реализациях конкретное сочетание измерения и уровня может называться уровнем доверия или кортежем. В реализации, использующей два измерения, можно определить кортеж, например {ИЗМЕРЕНИЕ,УРОВЕНЬ}, в соответствии с двумя параметрами: (1) измерение и (2) уровень. Вообще, уровень доверия, или кортеж, может определяться в соответствии с дополнительными измерениями. Например, в реализации, использующей два измерения, соответствующий кортеж может называться двумерным кортежем. Аналогичным образом в реализации, использующей N измерений, соответствующий кортеж может называться N-мерным кортежем, который может определяться в соответствии с N параметрами.

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

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

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

Примерные реализации

[0022] Фиг. 1 иллюстрирует вычислительную среду 100, включающую в себя устройство 102, которое включает в себя компьютерную систему 104, которая может конфигурироваться для реализации безопасного модуля 106 обработки, компонента 108 аутентификации процессов и компонента 110 разрешений на ресурсы. В этой реализации устройство 102 может предоставить операционную систему, которая позволяет пользователям устанавливать новое программное обеспечение, например, с использованием интернет-магазина приложений, или по беспроводной линии связи, или сменной карты памяти, или посредством некоторого другого способа для доступа к программному обеспечению.

[0023] В конкретной реализации устройство 102 может обращаться к программному обеспечению по сети, например сети 112, которая может предоставляться издателем программного обеспечения. В этом примере издатель программного обеспечения может предоставлять сервер 114 издателя программного обеспечения, который может осуществлять связь с устройством 102, чтобы предоставлять программное обеспечение. Сервер 114 издателя программного обеспечения может хранить исполняемые файлы для программного обеспечения в хранилище 116 данных издателя программного обеспечения. В этом примере исполняемый файл, предоставленный издателем программного обеспечения, может быть исполняемым файлом 118. Обычно исполняемый файл может быть любым файлом, который может использоваться в качестве основы для создания программного процесса для исполнения в операционной системе. Исполняемый файл также может называться, помимо прочих специальных терминов, двоичным файлом, двоичной или исполняемой программой, динамически загружаемым модулем.

[0024] Как обсуждалось выше, исполняемый файл может включать в себя цифровую подпись, например цифровую подпись 120. Хотя в этом примере цифровая подпись внедряется в исполняемый файл, в других примерах цифровая подпись может предоставляться отдельно от исполняемого файла либо в ответ на запрос исполняемого файла, либо в ответ на отдельный и специальный запрос цифровой подписи. Кроме того, в некоторых реализациях ключ шифрования, используемый при создании цифровой подписи, и ключ расшифрования, используемый при аутентификации исполняемого файла с использованием цифровой подписи, могут управляться центром сертификации, например центром 122 сертификации. Центр 122 сертификации, в свою очередь, может хранить ключ (ключи) 126 шифрования и ключ (ключи) 128 расшифрования в хранилище 124 данных центра сертификации.

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

[0026] В этом примере в ответ на инициирование пользователем загрузки и установки программного приложения сервер 114 издателя программного обеспечения может передать исполняемый файл 118, сохраненный в хранилище 116 данных издателя программного обеспечения. Кроме того, в этом примере исполняемый файл 118 может включать в себя цифровую подпись 120. В этом примере издатель программного обеспечения или разработчик программного обеспечения при создании исполняемого файла может создать цифровую подпись, используя ключ шифрования.

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

[0028] Как изображено в пояснительной реализации из фиг. 1, центр 122 сертификации может использоваться в качестве доверенного посредника для хранения и предоставления ключей шифрования и/или расшифрования, например ключа (ключей) 126 шифрования и ключа (ключей) 128 расшифрования. Например, центр 130 сертификации может предоставить устройству 102 необходимый ключ расшифрования, соответствующий ключу шифрования, использованному издателем программного обеспечения при создании цифровой подписи. Однако в других сценариях операционная система в устройстве 102 и сервер 114 издателя программного обеспечения могут получать необходимые ключи шифрования и расшифрования иными способами, например без использования центра сертификации.

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

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

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

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

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

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

[0035] Для иллюстрации этого вместо использования трех пар ключей шифрования и расшифрования для определения трех концентрических уровней привилегий ресурсов каждая отличная пара ключей шифрования/расшифрования может соответствовать конкретному измерению и уровню привилегий ресурсов, и количество отличных пар ключей шифрования/расшифрования может зависеть от количества измерений и количества уровней привилегий ресурсов. Кроме того, для установки уровня доступа, достаточного для доступа к конкретному ресурсу, можно задать, что процесс имеет по меньшей мере данное измерение и уровень разрешения на ресурсы перед установкой достаточного разрешения для доступа к ресурсу по меньшей мере в измерение и уровень доступа, ассоциированные с процессом. Другими словами, конкретный пользователь или процесс не может устанавливать разрешение на ресурсы выше разрешений на ресурсы, выданных конкретному пользователю или процессу.

[0036] Фиг. 2 предоставляет пояснительную реализацию использования измерений и уровней при задании привилегий доступа к ресурсам. В этом примере существует три уровня привилегий ресурсов, так что в данном измерении привилегии ресурсов каждого увеличивающегося уровня включают в себя все привилегии ресурсов всех более низких уровней. В этом примере уровень 1 может соответствовать наименьшему уровню привилегий доступа к ресурсам, уровень 2 может соответствовать среднему уровню привилегий доступа к ресурсам, который включает в себя все привилегии доступа к ресурсам уровня 1, включая дополнительные привилегии доступа к ресурсам, и уровень 3 может соответствовать среднему уровню привилегий доступа к ресурсам, который включает в себя все привилегии доступа к ресурсам уровней 1 и 2, включая дополнительные привилегии доступа к ресурсам не с более низких уровней.

[0037] Как проиллюстрировано, фиг. 2 изображает один пример с двумя измерениями, где каждое измерение включает в себя три уровня. А именно измерение 1, изображенное по ссылке 202, с соответствующими уровнями 3, 2 и 1, изображенными соответственно по ссылкам 204, 206 и 208, и измерение 2, изображенное по ссылке 210, и соответствующие уровни 3, 2 и 1, изображенные соответственно по ссылкам 212, 214 и 216. В этом примере задаются два измерения, но в других примерах может использоваться другое количество измерений.

[0038] В этой пояснительной реализации того, что конкретный уровень привилегии доступа к ресурсам больше другого уровня, недостаточно, чтобы операционная система предоставила привилегии доступа к ресурсам, соответствующие более низким уровням. Другими словами, уровень 3 необязательно включает в себя разрешения для уровня 2. Вместо этого компонент разрешений на ресурсы использует некоторое количество измерений в сочетании с уровнем, чтобы решить, предоставляется ли конкретному ресурсу доступ к процессу или пользователю.

[0039] Как изображено на фиг. 2, имеется шесть разных возможных предоставлений привилегий доступа к ресурсам, соответствующих двухэлементному кортежу {измерение, уровень}, которые в этом случае можно представить с помощью {D1,L1}, {D1,L2}, {D1,L3}, {D2,L1}, {D2,L2} и {D2,L3}, где D1 относится к измерению 1, D2 относится к измерению 2, а L1-L3 относятся к уровням 1-3. Как отмечалось выше, в других реализациях могут быть дополнительные измерения.

[0040] В этой реализации каждый кортеж измерения/уровня соответствует соответствующему набору привилегий доступа к ресурсам. Другими словами, данный уровень доверия может включать в себя конкретный набор разрешений доступа к ресурсам в дополнение к возможному включению других разрешений доступа к ресурсам. В частности, {D1,L1} соответствует одному или нескольким наборам привилегий доступа к ресурсам; {D1,L2} соответствует одному или нескольким наборам привилегий доступа к ресурсам, которые охватывают привилегии доступа к ресурсам из {D1,L1}; {D1,L3} соответствует одному или нескольким наборам привилегий доступа к ресурсам, которые охватывают привилегии доступа к ресурсам из {D1,L2} и {D1,L1}; {D2,L1} соответствует одному или нескольким наборам привилегий доступа к ресурсам, которые охватывают привилегии доступа к ресурсам из {D1,L1}; {D2,L2} соответствует одному или нескольким наборам привилегий доступа к ресурсам, которые охватывают привилегии доступа к ресурсам из {D2,L1}, {D1,L2} и {D1,L1}; и {D2,L3} соответствует одному или нескольким наборам привилегий доступа к ресурсам, которые охватывают привилегии доступа к ресурсам из {D2,L2}, {D2,L1}, {D1,L3}, {D1,L2} и {D1,L1}. Кроме того, в некоторых реализациях, когда данный уровень доверия соответствует одному или нескольким данным наборам привилегий доступа к ресурсам, может быть так, что подмножество одного или нескольких наборов охватывает привилегии доступа к ресурсам с другим уровнем доверия.

[0041] В некоторых реализациях, когда данный уровень доверия соответствует одному или нескольким наборам разрешений доступа к ресурсам, которые охватывают наборы разрешений доступа к ресурсам с другим уровнем доверия, можно сказать, что данный уровень доверия "преобладает" над другим уровнем доверия. В задании измерения и уровня из фиг. 2 вышеприведенное описание также можно записать как {D1,L1}, не преобладающий над другим уровнем доверия; {D1,L2}, преобладающий над {D1,L1}; {D1,L3}, преобладающий над {D1,L2} и {D1,L1}; {D2,L1}, преобладающий над {D1,L1}; {D2,L2}, преобладающий над {D2,L1}, {D1,L2} и {D1,L1}; {D2,L3}, преобладающий над {D2,L2}, {D2,L1}, {D1,L3}, {D1,L2} и {D1,L1}.

[0042] Другими словами, в этом примере имеются наборы привилегий доступа к ресурсам на более высоких уровнях, которые не включают в себя или не охватывают все привилегии доступа к ресурсам более низких уровней. Например, {D1,L3} не включает в себя привилегии доступа к ресурсам ни из какого кортежа, включающего в себя измерение 2, включая кортежи с измерением 2 на более низких уровнях, включающих {D2,L2} и {D2,L1}.

[0043] При наличии такого набора разрешений доступа к ресурсам, соответствующего измерениям и уровням из фиг. 2, компонент аутентификации процессов и компонент разрешений на ресурсы могут обращаться к одной и той же инфраструктуре для задания разрешений на ресурсы. Другими словами, привилегии доступа к ресурсам, предоставленные процессу, который может создаваться соответствующим аутентифицированному исполняемому файлу, могут зависеть от того, какой ключ расшифрования используется для аутентификации двоичного файла. В примерных измерениях и уровнях, проиллюстрированных на фиг. 2, может быть шесть разных пар ключей шифрования/расшифрования, соответствующих шести кортежам {D1,L1}, {D1,L2}, {D1,L3}, {D2,L1}, {D2,L2} и {D2,L3}. В таком задании набора привилегий доступа к ресурсам пары ключей шифрования/расшифрования необязательно имеют относительное ранжирование, потому что некоторые наборы разрешений доступа к ресурсам на более высоких уровнях могут не охватывать наборы разрешений доступа к ресурсам с более низких уровней.

[0044] Фиг. 3 иллюстрирует другое задание измерений и уровней, которое может использоваться при реализации компонента разрешений на ресурсы. Как проиллюстрировано на фиг. 3, разные измерения могут иметь разные уровни, ассоциированные с конкретным измерением. Как проиллюстрировано, измерение 1 может иметь пять уровней, изображенных с помощью 302, 304, 306, 308 и 310, а измерение 2 может иметь три уровня, изображенных с помощью 312, 314 и 316. В этой реализации для более простого описания операций сравнения уровни измерения 1 последовательно обозначаются как 1-5, а уровни измерения 2 обозначаются как 2, 3 и 5. Более общее описание соотнесения между уровнями доверия обсуждается ниже. Однако даже в такой реализации определение, обладает ли пользователь или процесс достаточным доступом к системному ресурсу, может выполняться на основе двух сравнений в случае, когда используются два измерения, аналогично реализации, описанной в отношении фиг. 2. Вообще, для N-мерного кортежа разрешение может определяться с помощью N сравнений. В частности, при реализации из фиг. 3, когда одно измерение и уровень соответствует нескольким уровням другого измерения, определение, преобладает ли одно измерение и уровень над каким-нибудь из нескольких уровней в другом измерении, может выполняться с помощью двух сравнений.

[0045] В этой реализации {D1,L1} может соответствовать набору привилегий доступа к ресурсам; {D1,L2} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D1,L1}; {D1,L3} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D1,L2} и {D1,L1}; {D1,L4} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D1,L1}, {D1,L2} и {D1,L3}; {D1,L5} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D1,L1}, {D1,L2}, {D1,L3} и {D1,L4}; {D2,L2} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D1,L2} и {D1,L1}; {D2,L3} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D2,L2}, {D1,L3}, {D1,L2} и {D1,L1}; {D2,L5} может соответствовать набору привилегий доступа к ресурсам, который охватывает привилегии доступа к ресурсам из {D2,L3}, {D2,L2}, {D1,L5}, {D1,L4}, {D1,L3}, {D1,L2} и {D1,L1}. Например, чтобы определить, преобладает ли {D2,L2} над любым другим уровнем доверия, можно провести вычисление с двумя сравнениями: сравнение D2 с другим измерением и сравнение L2 с другим измерением, где выясняется, больше либо равно D2 другому измерению, и больше либо равен L3 другому уровню.

[0046] Хотя определено, что уровни в измерении 2 не используют соотнесение и сохраняют простое сравнение значений для определения, преобладает ли уровень в одном измерении над уровнем другого измерения, обычно уровни могут задаваться в соответствии с любым произвольным маркером, где таблица соотнесения может задавать относительные указания "больше" или "меньше" между любыми двумя данными маркерами. Например, в отношении фиг. 3 уровни 2, 3 и 5 можно переопределить соответственно как уровни "C", "B" и "A", где можно определить соотнесение для задания того, что {D2,A} преобладает над {D2,B}, {D2,C}, {D1,L5}, {D1,L4}, {D1,L3}, {D1,L2} и {D1,L1}; {D2,B} преобладает над {D2,C}, {D1,L3}, {D1,L2} и {D1,L1}; {D2,C} преобладает над {D1,L2} и {D1,L1}; {D1,L5} преобладает над {D1,L4}, {D1,L3}, {D1,L2} и {D1,L1}; {D1,L4} преобладает над {D1,L3}, {D1,L2} и {D1,L1}; {D1,L3} преобладает над {D1,L2} и {D1,L1}; {D1,L2} преобладает над {D1,L1}; и {D1,L1} не преобладает над другим уровнем доверия.

[0047] В некоторых реализациях в отношении использования измерений и уровней при задании разрешений доступа к ресурсам данный процесс в операционной системе может изменять измерение и/или уровень для задания разрешений доступа к ресурсам у другого процесса или ресурса. Например, процесс может быть системным процессом с разрешениями доступа к ресурсам, соответствующими {D2,L3}, а другой процесс может быть пользовательским процессом с разрешениями доступа к ресурсам, соответствующими {D1,L4}. В этом примере системный процесс может изменить разрешения доступа к ресурсам для пользовательского процесса с {D1,L4} на любое сочетание измерения и уровня, потому что системный процесс находится на высшем сочетании доверия или высшем сочетании измерения и уровня. В некоторых случаях системный процесс может уменьшить объем разрешений доступа к ресурсам у пользовательского процесса с {D1,L4}, например, до {D1,L2}. В иных случаях системный процесс может изменить (возможно, увеличить) объем разрешения доступа к ресурсам у пользовательского процесса с {D1,L4}, например, до {D2,L2}.

[0048] Фиг. 4 иллюстрирует визуальное представление измерений и уровней, используемых при задании разрешений доступа к ресурсам, так что визуальное представление занимает пространство xyz. Однако это визуальное представление предназначено для пояснительных целей и служит для углубления понимания измерений и уровней, которые используются компонентом разрешений на ресурсы. В этом визуальном представлении наборов разрешений на ресурсы плоскость x-y может представлять наборы разрешений на ресурсы, которые возможны без использования измерений. В частности, если бы можно было использовать только плоскость x-y, то наборы разрешений на ресурсы были бы концентрическими, и наборы разрешений на ресурсы меньшего или более низкого уровня были бы охвачены наборами разрешений на ресурсы большего или более высокого уровня.

[0049] В этом пояснительном визуальном представлении проекции прямоугольников измерения/уровня, которые находились бы исключительно на плоскости x-y, могут соответствовать концентрическим наборам разрешений, причем каждый более крупный набор разрешений наследует или охватывает разрешения из меньшего набора разрешений. В таком случае не было бы измерений, только уровни. Другими словами, проекции трех прямоугольников измерения/уровня образуют три концентрических набора, причем наименьший, самый глубокий набор соответствует первому уровню, который может быть охвачен следующим наибольшим набором, соответствующим второму уровню, который может быть охвачен наибольшим набором, соответствующим третьему уровню. Однако при использовании измерений в дополнение к использованию уровней уровень доступа к ресурсам необязательно включает в себя более низкий уровень разрешения доступа к ресурсам.

[0050] В этом визуальном представлении, соответствующем измерениям и уровням из фиг. 2, примерные наборы разрешений доступа к ресурсам можно задать с помощью двух измерений и трех уровней в каждом измерении. В частности, в данном измерении, например измерении 1, может быть три концентрических набора разрешений, где каждый более крупный набор охватывает (то есть наследует) привилегии или разрешения доступа из меньшего набора. В этом визуальном представлении набор разрешений, представленный в виде измерений, занятых в плоскости x-y, соответствует уровням в одном измерении. Однако, когда рассматривается второе измерение, набор разрешений в одном измерении на одном уровне необязательно может наследовать все разрешения из набора разрешений в другом измерении на более низком уровне.

[0051] В этом визуальном представлении измерение 1 занимает плоскость x-y и включает в себя концентрические квадраты, изображенные с помощью {ИЗМЕРЕНИЕ 1, УРОВЕНЬ 1} 402, {ИЗМЕРЕНИЕ 1, УРОВЕНЬ 2} 404 и {ИЗМЕРЕНИЕ 1, УРОВЕНЬ 3} 406, где каждый более высокий уровень в измерении наследует привилегии доступа к ресурсам с охваченного более низкого уровня. В этом визуальном представлении объем наборов разрешений, визуально представленных как 402, 404 и 406, может не распространяться на ось z и поэтому не иметь разрешений из визуально представленных наборов разрешений, которые могут распространяться на ось z.

[0052] Однако, когда рассматривается второе измерение, наборы разрешений можно представить как визуальное распространение на ось z, посредством этого придавая объем представлениям наборов разрешений. Другими словами, в этом примере добавленное измерение допускает {ИЗМЕРЕНИЕ 2, УРОВЕНЬ 1} 408, который охватывал бы набор разрешений, пре