ПРЕДСТАВЛЕНИЕ КОНТЕКСТА ОПЕРАЦИОННОЙ СИСТЕМЫ В ДОВЕРЕННОМ ПЛАТФОРМЕННОМ МОДУЛЕ
PRESENTING OPERATING SYSTEM CONTEXT IN TRUSTED PLATFORM MODULE

Уровень техники
[0001] Поскольку компьютеры становятся все более обыденными, увеличивающиеся объемы данных хранятся на компьютерах. Это имеет множество преимуществ для пользователей, включающих в себя способность хранить большие объемы данных в относительно малых пространствах. Однако, некоторые из этих данных часто предназначены для хранения в тайне или раскрываться только определенным людям. Эти данные могут быть защищены различными способами, такими как использование паролей или персональных идентификационных номеров. Хотя такая защита может быть полезной, компьютеры могут быть уязвимы для атак, таких как атаки "перебором по словарю" или атаки перебором, когда выполняются многочисленные попытки угадать пароль или персональный идентификационный номер.
Эти уязвимости могут приводить к тому, что пользователи имеют пониженное доверие к своим компьютерам, что уменьшает положительное пользовательское восприятие.
Сущность изобретения
[0002] Это краткое изложение сущности изобретения предусмотрена для введения упрощенной форме подборки концепций, которые дополнительно описываются ниже в подробном описании. Данное краткое изложение сущности изобретения не предназначена ни для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого изобретения, ни для того, чтобы быть использованной в качестве помощи при определении объема заявляемого изобретения.
[0003] Описываются технологии представления контекста операционной системы в доверенном платформенном модуле. По меньшей мере, в некоторых вариантах осуществления субъекты авторизации, которые соответствуют представлениям контекста операционной системы, получаются в доверенном платформенном модуле. Субъекты авторизации могут быть использованы, чтобы определять политики авторизации для доступа к средствам обеспечения безопасности, хранящимся в доверенном платформенном модуле.
Краткое описание чертежей
[0004] Подробное описание описывается со ссылкой на сопровождающие чертежи. На чертежах, самая левая цифра(ы) ссылки с номером идентифицирует чертеж, на котором впервые появляется ссылка с номером. Использование одинаковых ссылочных номеров в различных примерах в описании и на чертежах может указывать аналогичные или идентичные элементы.
[0005] Фиг. 1 - иллюстрация окружения в примерной реализации, которое функционирует, чтобы применять технологии, обсуждаемые в данном документе, в соответствии с одним или более вариантами осуществления.
[0006] Фиг. 2 иллюстрирует примерные реализации субъектов авторизации в соответствии с одним или более вариантами осуществления.
[0007] Фиг. 3 иллюстрирует примерные реализации политик авторизации в соответствии с одним или более вариантами осуществления.
[0008] Фиг. 4 - блок-схема последовательности операций, которая описывает этапы в способе получения субъекта авторизации в соответствии с одним или более вариантами осуществления.
[0009] Фиг. 5 - блок-схема последовательности операций, которая описывает этапы в способе для привязки политики авторизации к средству обеспечения безопасности в соответствии с одним или более вариантами осуществления.
[0010] Фиг. 6 - блок-схема последовательности операций, которая описывает этапы в способе инструктирования привязки политики авторизации к средству обеспечения безопасности в соответствии с одним или более вариантами осуществления.
[0011] Фиг. 7 иллюстрирует примерную систему и вычислительное устройство, которое описывается со ссылкой на фиг. 1, которые конфигурируются, чтобы реализовывать варианты осуществления технологий, описанные в данном документе.
Подробное описание изобретения
Обзор
[0012] Описываются технологии представления контекста операционной системы в доверенном платформенном модуле. Как правило, доверенные платформенные модули относятся к функциональности, которая защищается от общего доступа к системе, такую как защищенные аппаратные средства и/или микропрограммное окружение. Доверенный платформенный модуль, например, представляет устойчивое к вмешательству окружение, в котором код может безопасно исполняться.
[0013] Согласно различным реализациям, контекст операционной системы выражается посредством субъектов авторизации, которые реализуются через доверенный платформенный модуль. Как правило, контекст операционной системы представляет различные стационарные состояния на основе идентичности, которые могут возникать относительно операционной системы. Примеры атрибутов контекста операционной системы включают в себя идентификаторы пользователей, идентификаторы приложений и процессов, идентификаторы групп (например, для пользовательских групп), идентификаторы привилегий (например, для различных уровней доступа и привилегий безопасности) и т.д.
[0014] Согласно различным реализациям субъекты авторизации определяются на основе контекста операционной системы. Например, атрибуты контекста операционной системы обрабатываются посредством модуля доступа к доверенному платформенному модулю (TPM), чтобы формировать соответствующие субъекты авторизации. Субъекты авторизации могут быть привязаны к средствам обеспечения безопасности, сохраненным в доверенном платформенном модуле, таким как ключи безопасности (например, закрытые ключи), сертификаты безопасности, защищенные данные и т.д. Например, политики авторизации могут быть сконфигурированы с помощью субъектов авторизации, чтобы управлять доступом к привязанным средствам обеспечения безопасности.
[0015] Согласно различным реализациям, технологии, обсуждаемые в данном документе, предоставляют возможность представления контекстов операционной системы в доверенном платформенном модуле и, таким образом, увеличивают безопасность системы в различных реализациях операционной системы. Дополнительно, технологии, обсуждаемые в данном документе, обеспечивают широкое множество связанных с операционной системой атрибутов, которые должны быть охарактеризованы и представлены в доверенном платформенном модуле, таким образом, увеличивая способность существующих доверенных платформенных модулей защищать средства обеспечения безопасности, ассоциированные с различными контекстами операционной системы.
[0016] В последующем обсуждении сначала описывается примерное окружение, которое функционирует, чтобы выполнять технологии, описанные в данном документе. Далее, раздел, озаглавленный "Примерные процедуры", описывает некоторые примерные способы для представления контекста операционной системы в доверенном платформенном модуле в соответствии с одним или более вариантами осуществления. Наконец, раздел, озаглавленный "Примерная система и устройство", описывает примерную систему и устройство, которые функционируют, чтобы использовать технологии, обсуждаемые в данном документе в соответствии с одним или более вариантами осуществления.
Примерное окружение
[0017] Фиг. 1 является иллюстрацией окружения 100 в примерной реализации, которое функционирует, чтобы использовать технологии представления контекста операционной системы в доверенном платформенном модуле, обсуждаемом в данном документе. Окружение 100 включает в себя вычислительное устройство 102, которое может быть осуществлено как любое подходящее устройство, такое как, в качестве примера, а не ограничения, смартфон, планшетный компьютер, переносной компьютер (например, портативный компьютер), настольный компьютер, носимое устройство и т.д. Один из множества различных примеров вычислительного устройства 102 показывается и описывается ниже на фиг. 7.
[0018] Как правило, вычислительное устройство 102 доступно для различных пользователей 104, которые представляют лиц, которые могут эффективно использовать вычислительное устройство 102, чтобы выполнять различные задачи. Пользователи 104, например, могут использовать вычислительное устройство 102 для задач, связанных с производительностью труда (например, обработки текста, манипулирования данными и т.д.), для связи (например, электронной почты, общения в социальных сетях и т.д.), для потребления контента (например, аудиоконтента, видеоконтента и т.д.) и для множества других задач. Пользователи 104 ассоциируются с идентификаторами (ID) 106 пользователей, которые представляют данные, которые могут быть эффективно использованы, чтобы идентифицировать отдельных пользователей 104 и отличать отдельных пользователей 104 друг от друга.
[0019] Согласно различным реализациям, пользователи 104 могут быть собраны в различные группы 108 на основе различных критериев. Отдельная из групп 108, например, представляет совокупности пользователей 104, которые совместно используют общие привилегии безопасности и/или доступа. Группы 108 отличаются друг от друга посредством идентификаторов (ID) 110 групп, которые представляют названия групп, которые могут быть использованы, чтобы отличать одну группу 108 от другой группы 108.
[0020] Вычислительное устройство 102 включает в себя множество различных функциональных возможностей, которые предоставляют возможность выполнения различных действий и задач, например, пользователями 104. Например, вычислительное устройство 102 включает в себя операционную систему 112 и приложения 114. Как правило, операционная система 112 представляет функциональность для абстракции различных компонентов системы вычислительного устройства 102, таких как аппаратные средства, модули и службы на уровне ядра и т.д. Операционная система 112, например, может абстрагировать различные компоненты вычислительного устройства 102 для приложений 114, чтобы предоставлять возможность взаимодействия между компонентами и приложениями 114.
[0021] Приложения 114 представляют функциональность, чтобы предоставлять возможность выполнения различных задач и действий посредством вычислительного устройства 102, таких как обработка текста, веб-просмотр, электронная почта, социальные сети, корпоративные задачи и т.д. Приложения 114 могут быть установлены локально на вычислительное устройство 102, чтобы исполняться посредством локальной среды выполнения, и/или могут представлять порталы для удаленной функциональности, такой как облачные службы, веб-приложения и т.д. Таким образом, приложения 114 могут принимать множество форм, таких как локально исполняемый код, порталы для удаленно размещенных служб и т.д.
[0022] Вычислительное устройство 102 дополнительно включает в себя доверенный платформенный модуль (TPM) 116, который представляет фрагмент вычислительного устройства 102, который защищается от общего доступа посредством большинства или все других функциональных возможностей вычислительного устройства 102. TPM 116 может быть реализован различными способами, такими как отдельная, специализированная аппаратная среда (например, специализированная микросхема), подразделенный фрагмент существующей аппаратной среды (например, субфрагмент центрального процессора (CPU)), защищенная микропрограммная среда, и т.д. В одной или более реализациях TPM 116 является модулем в соответствии со спецификацией доверенного платформенного модуля (TPM), доступной от группы доверенных вычислений (TCG). Это не предназначено быть ограничивающим, однако, TPM 116 может быть реализован множеством других способов.
[0023] Согласно различным реализациям, взаимодействие с TPM 116 регулируется посредством модуля 118 TPM-доступа. В целом, модуль 118 TPM-доступа представляет функциональность, чтобы предоставлять возможность различным компонентам вычислительного устройства 102 взаимодействовать с TPM 116, таким как компоненты операционной системы 112, приложения 114, пользователи 104 и т.д. По меньшей мере, в некоторых реализациях модуль 118 TPM-доступа служит в качестве единственного интерфейса для TPM 116. Модуль 118 TPM-доступа, например, представляет драйвер устройства для TPM 116. Модуль 118 TPM-доступа может быть реализован различными способами, такими как компонент операционной системы 112, отдельный компонент системы вычислительного устройства 102 (например, компонент уровня ядра), их комбинации и т.д.
[0024] TPM 116 включает в себя TPM-процессор 120 и TPM-хранилище 122. Согласно различным реализациям, TPM-процессор 120 представляет специализированный аппаратный процессор, который может быть эффективно использован посредством TPM 116, чтобы выполнять различные задачи обработки. TPM-хранилище 122 представляет емкость запоминающего устройства для TPM 116, и которое защищается от доступа посредством объектов, внешних по отношению к TPM 116.
[0025] В TPM-хранилище 122 хранятся средства 124 обеспечения безопасности, политики 126 безопасности и субъекты 128 авторизации. В целом, средства 124 обеспечения безопасности представляют различные типы связанной с безопасностью информации, которая может быть эффективно использована, чтобы проверять идентичности некоторых объектов, аутентичность и/ли доверенный статус различных типов данных и т.д. Примеры средств 124 обеспечения безопасности включают в себя ключи безопасности (например, криптографические ключи), сертификаты безопасности, алгоритмы шифрования и дешифрования, защищенные данные и т.д. В то время как субъекты 128 авторизации иллюстрируются отдельно от других функциональных возможностей TPM 116, по меньшей мере, в некоторых реализациях субъект 128 авторизации может быть выражен посредством существующих объектов (например, средств 124 обеспечения безопасности) в TPM. Подробности, касающиеся способов, которыми средства 124 обеспечения безопасности могут быть сконфигурированы и эффективно использованы, обсуждаются ниже.
[0026] Политики 126 авторизации представляют различные условия, правила, параметры и инструкции для управления доступом к средствам 124 обеспечения безопасности. Например, отдельные политики 126 авторизации могут быть привязаны к отдельным средствам 124 обеспечения безопасности, так что доступ к отдельным средствам 124 обеспечения безопасности может контролироваться через соответствующие политики 126 авторизации.
[0027] Согласно различным реализациям, субъекты 128 авторизации представляют корневые объекты, которые предоставляют возможность выражения контекстов операционной системы (OS) для TPM 116, например, для конфигурирования политик 126 авторизации, чтобы управлять доступом к средствам 124 обеспечения безопасности. В целом, OS-контексты соответствуют различным атрибутам и параметрам операционной системы, которые возникают в отношении различных сценариев исполнения для вычислительного устройства 102. Примеры различных атрибутов OS-контекста, которые могут быть представлены посредством субъектов 128 авторизации, включающие в себя ID 106 пользователей, ID 110 групп, идентификаторы (ID) 130 приложений для приложений 114 и т.д. Как дополнительно детализируется ниже, политики 126 авторизации могут быть сконфигурированы с помощью одного или более субъектов 128 авторизации, чтобы привязывать отдельные средства 124 обеспечения безопасности к конкретным политикам 126 авторизации.
[0028] По меньшей мере, в некоторых реализациях субъекты 128 авторизации являются отдельно идентифицируемыми через соответствующие идентификаторы (ID) 132 субъектов, каждый из которых относится к отличному от других экземпляру субъектов 128 авторизации. Согласно различным реализациям ID 132 отдельных субъектов формируются на основе соответствующих OS-контекстов, для которых создается соответствующий субъект 128 авторизации. Например, ID 132 субъекта, который идентифицирует конкретный субъект 128 авторизации, может быть сформирован посредством хэширования идентификатора для соответствующего OS-контекста, чтобы формировать хэш-сумму OS-контекста, такую как хэш-сумма ID 106 пользователя, ID 110 группы, ID 130 приложения, их комбинации и т.д.
[0029] Хотя ID 132 субъектов иллюстрируются как реализуемые отдельно от субъектов 128 авторизации, это не подразумевается как ограничение. Например, по меньшей мере, в некоторых реализациях, ID 132 субъектов могут быть внедрены в и/или реализованы как часть субъектов 128 авторизации. Например, по меньшей мере, в некоторых реализациях, ID 132 субъектов могут представлять фрагменты субъектов 128 авторизации, на которые можно сослаться, чтобы идентифицировать и различать различные субъекты 128 авторизации.
[0030] В качестве дополнительной или альтернативной реализации использованию ID 132 субъектов модуль 118 TPM-доступа может эффективно использовать соответствие 134 субъектов авторизации, чтобы хранить соответствие OS-контекста соответствующим субъектам 128 авторизации, и на основе соответствия 124 субъектов авторизации может использовать субъекты 128 авторизации для доступа к средствам 124 обеспечения безопасности для привязки к соответствующим субъектам 128 авторизации в TPM 116.
[0031] TPM 116 дополнительно включает в себя платформенные функции 136 и платформенные регистры 138. Платформенные функции 136 представляют различные функции, используемые для обеспечения безопасного хранения информации, такие как функции аутентификации, функции генерации ключей, функции шифрования и дешифрования, связанные с контекстом функции и т.д. Согласно различным реализациям модуль 118 TPM-доступа может взаимодействовать с платформенными функциями 136, чтобы формировать и/или конфигурировать субъекты 128 авторизации, политики 126 авторизации и т.д.
[0032] Платформенные регистры 138 представляют места хранения для хранения состояния системы и контекстной информации для вычислительного устройства 102. Например, платформенные регистры 138 могут быть эффективно использованы, чтобы хранить "показатели" различных компонентов системы, такие как показатели модулей операционной системы 112, которые собираются во время начальной загрузки системы. По меньшей мере, в некоторых реализациях платформенные регистры представляют регистры конфигурации платформы (PCR) для TPM 116.
[0033] В целом, "показатель" относится к способу идентификации и/или характеризования различных связанных с устройством данных, таких как модули кода вычислительного устройства 102, конфигурационные данные вычислительного устройства 102 и т.д. Когда используется в данном документе, термин "модуль кода", в целом, соответствует фрагментам исполняемого кода, такие как фрагменты приложений 114, службы, модули операционной системы 112, процессы, различные двоичные файлы и/или исполнимые модули, и т.д. Примеры показателей включают в себя хэш-значения, сформированные из связанных с устройством данных, сигнатуры данных, зашифрованные версии связанных с устройством данных и/или фрагменты связанных с устройством данных и т.д. Показатель, например, может быть сформирован посредством применения алгоритма безопасного хэширования (SHA) к связанным с устройством данным, например, SHA-1, SHA-2 и т.д.
[0034] Согласно различным реализациям показатели связанных с устройством данных могут быть сформированы во время начальной загрузки системы и сохранены в платформенных регистрах 138. В целом, платформенные регистры 138 хранят последовательности показателей для связанных с устройством данных для вычислительного устройства 102, при этом новые значения конкретного платформенного регистра 138 вычисляются посредством присоединения нового показателя к существующему значению регистра и вычисления хэша соединенного значения. Этот процесс может повторяться для множества различных экземпляров связанных с устройством данных, например, множества модулей кода. Согласно различным реализациям, последующее определение относительно того, были ли загружены конкретные, связанные с устройством данные (например, модуль кода), может быть выполнено посредством вычисления хэша связанных с устройством данных на основе процесса, используемого, чтобы вычислять текущее значение для платформенного регистра 138. Вычисленный хэш затем сравнивается со значением, сохраненным в платформенном регистре 138, чтобы устанавливать соответствует ли хэш значению. Если хэш соответствует значению, это указывает, что модуль кода был загружен, и что текущая версия модуля кода соответствует версии, которая была определена в платформенном регистре 138.
[0035] Например, когда конкретный модуль кода запрашивает доступ к защищенному ресурсу (например, к средству 124 обеспечения безопасности), текущие показатели в платформенных регистрах 138 могут быть сравнены со значениями, сохраненными в политике 126 авторизации для этого средства 124 обеспечения безопасности. Если значения совпадают, может быть определено, что система не изменилась из своего первоначального состояния, когда политика 126 авторизации была сконфигурирована, и, таким образом, является безопасной и ей может быть предоставлен доступ к защищенному ресурсу. Если показатели не совпадают, может быть определено, что состояние вычислительного устройства небезопасно, и, таким образом, доступ к защищенному ресурсу может быть запрещен. В целом, процесс сравнения показателей модулей кода называется "удостоверением".
[0036] Окружение 100 также включает в себя удаленный ресурс 140, который представляет различные типы ресурсов, которые могут быть доступны для обмена данными для вычислительного устройства 102 через сеть 142. Примеры удаленного ресурса 140 включают в себя веб-сайт, хранилище контента, размещаемое в сети приложение (например, веб-приложение), размещаемую в сети службу, платформу социальной сети и т.д. В целом, удаленный ресурс 140 представляет любой тип ресурса, с которым вычислительное устройство 102 может взаимодействовать, например, осуществлять доступ к контенту, службам и т.д. Удаленный источник 140 может быть реализован через различные типы и/или комбинации вычислительных устройств, примеры которых описываются ниже на фиг. 7.
[0037] Одна или более сетей 142 представляют сети, через которые различные объекты окружения 100 могут связываться. Сеть(и) 142 может предполагать множество различных конфигураций, таких как локальная вычислительная сеть (LAN), глобальная вычислительная сеть (WAN), Интернет и т.д. По меньшей мере, в некоторых реализациях функциональные возможности, обсуждаемые со ссылкой на окружение 100 и/или другие фрагменты обсуждения в данном документе, могут быть реализованы в распределенном окружении (например, "через облако"), как дополнительно описано относительно фиг. 7.
[0038] Фиг. 2 иллюстрирует примерные реализации субъектов 128 авторизации в соответствии с одной или более реализациями. Как упомянуто выше, субъекты 128 авторизации получаются на основе различных OS-контекстов, которые могут возникать на вычислительном устройстве 102, таких как идентификаторы для различных объектов, которые взаимодействуют с операционной системой 112.
[0039] В фиг. 2 включен набор OS-контекстов 200, которые представляют различные связанные с OS идентичности и атрибуты, которые могут быть использованы, чтобы получать субъекты 128 авторизации. Дополнительно иллюстрируется набор субъектов 202 авторизации, которые получаются на основе OS-контекстов 200. Согласно различным реализациям субъекты 202 авторизации могут быть получены множеством различных способов. Например, TPM 116 может подписывать значения OS-контекстов 202 с помощью ключа, который является внутренним по отношению к TPM 116 (например, ключ подтверждения), чтобы формировать субъекты 202 авторизации.
[0040] Субъекты 202 авторизации включают в себя (n) субъектов 204(1), …, 204(n) авторизации.Субъекты 204(1), 204(2) авторизации получаются из идентификаторов пользователей, которые могут быть использованы, чтобы отличать различных пользователей друг от друга, таких как ID 106 пользователей, представленные выше. Субъекты 204(3), 204(4), 204(5) авторизации получаются из идентификаторов групп, которые могут быть использованы, чтобы отличать группы друг от друга, таких как ID 110 групп, представленные выше.
[0041] Субъекты 204(6), 204(7) авторизации получаются из идентификаторов приложений, которые могут быть использованы, чтобы отличать приложения друг от друга, таких как ID 130 приложений, представленные выше. Субъекты 204(8), 204(9) авторизации получаются из идентификаторов привилегий, которые могут быть использованы, чтобы отличать различные уровни привилегий друг от друга, таких как для привилегий доступа, привилегий безопасности, привилегий взаимодействия и т.д. Эти примерные принципы авторизации представляются только с целью иллюстрации, и должно быть понятно, что широкое множество других типов и примеров субъектов авторизации может быть применено в духе и рамках раскрытых реализаций.
[0042] Согласно различным реализациям, отдельные из субъектов 202 авторизации могут быть объединены различными способами, чтобы характеризовать различные комбинации OS-контекстов, которые могут возникать в изменяющихся сценариях исполнения.
[0043] Фиг. 3 иллюстрирует примерные реализации политик 128 авторизации в соответствии с одной или более реализациями. Политики 126 авторизации включают в себя политику 300 авторизации, которая привязывается к средству 302 обеспечения безопасности. Согласно различным реализациям средство 302 обеспечения безопасности представляет пример средств 124 обеспечения безопасности, представленных выше. Политика 300 авторизации включает в себя условия 304 политики, которые указывают различные условия, которые должны быть удовлетворены, чтобы предоставлять доступ к средству 302 обеспечения безопасности. В этом конкретном примере условия 304 политики указывают набор субъектов авторизации, которые должны быть применены, прежде чем доступ к средству 302 обеспечения безопасности разрешается.
Principal(AppID_E)
Principal (Group_B).
Principal(AppID_E)
Principal(Group_B)
Principal(AppID_E)
Principal(Group_B)
[0044] Например, условия 304 политики указывают субъекты авторизации и Таким образом, если запрашивающая сторона подтверждается (например, удостоверяется) как имеющая доступ как к , так и к , стороне будет предоставлен доступ к средству 302 обеспечения безопасности. С другой стороны, если запрашивающая сторона не имеет доступа к одному или более субъектам из  и , запрашивающей стороне будет запрещен доступ к средству 302 обеспечения безопасности.
[0045] Политики 126 авторизации дополнительно включают в себя политику 306 авторизации, которая привязывается к средству 308 обеспечения безопасности. Согласно различным реализациям средство 308 обеспечения безопасности представляет пример средств 124 обеспечения безопасности, представленных выше. Политика 302 авторизации включает в себя условия 310 политики, которые указывают различные условия, которые должны быть удовлетворены, чтобы предоставлять доступ к средству 308 обеспечения безопасности. В этом конкретном примере условия 310 политики указывают набор субъектов авторизации, которые должны быть применены, прежде чем доступ к средству 308 обеспечения безопасности разрешается.
Principal(User_A), Principal(AppID_J)
Principals(Group_{B,C})
Principal (User_A)
Principal(AppID_J)
Principals(Group_{B,C})
Principal(User_A), Principal(AppID_J)
Principal(Group_{B,C})
[0046] Например, условия 310 политики указывают субъекты авторизации  и . Таким образом, если запрашивающая сторона подтверждается как имеющая доступ к обоим субъектам  и  и, по меньшей мере, к одному из субъектов , стороне будет предоставлен доступ к средству 308 обеспечения безопасности. С другой стороны, если запрашивающая сторона не имеет доступа к одному или более из  и, по меньшей мере, одному из субъектов , запрашивающей стороне будет запрещен доступ к средству 308 обеспечения безопасности.
[0047] Эти конфигурации политики авторизации представляются только с целью примера, и должно быть понятно, что политики авторизации могут быть сконфигурированы множеством различных способов, чтобы отражать многообразный массив различных конфигураций и комбинаций субъектов авторизации.
[0048] Описав примерное окружение, в котором технологии, описанные в данном документе, могут работать, рассмотрим теперь обсуждение некоторых примерных процедур в соответствии с одним или более вариантами осуществления.
Примерные процедуры
[0049] Следующий раздел описывает некоторые примерные процедуры для представления контекста операционной системы в доверенном платформенном модуле в соответствии с одним или более вариантами осуществления. Примерные процедуры могут быть применены в окружении 100 на фиг. 1, системе 700 на фиг. 7 и/или любом другом подходящем окружении. Процедуры, например, могут быть выполнены посредством вычислительного устройства 102, например, через модуль 118 TPM-доступа. По меньшей мере, в некоторых вариантах осуществления, этапы, описанные для различных процедур, реализуются автоматически и независимо от пользовательского взаимодействия.
[0050] Фиг. 4 является блок-схемой последовательности операций, которая описывает этапы в способе в соответствии с одним или более вариантами осуществления. Способ, например, описывает примерную процедуру получения субъекта авторизации в соответствии с одним или более вариантами осуществления.
[0051] На этапе 400 инструктируют получение субъекта авторизации, который соответствует представлению контекста операционной системы, в доверенном платформенном модуле. В целом, контекст операционной системы (OS) представляет различные связанные с идентичностью стационарные состояния, которые могут возникать относительно операционной системы. Например, модуль 118 TPM-доступа принимает запрос от процесса (например, от приложения 114, системного процесса и т.д.), чтобы формировать субъект авторизации. В целом, процесс представляет какой-либо процесс, который может выполняться на вычислительном устройстве внешне по отношению к TPM 116, такой как процесс приложения, системный процесс и т.д.
[0052] Субъект авторизации, например, основывается на контексте операционной системы, ассоциированном с процессом. Таким образом, модуль 118 TPM-доступа инструктирует получение субъекта авторизации в TPM 116. Например, данные OS-контекста (например, ID пользователя, ID приложения и т.д.) обрабатываются посредством TPM 116 с помощью ключа, который является безопасным для доверенного платформенного модуля (например, первичный ключ, корневой ключ и т.д.), чтобы получать субъект авторизации. Таким образом, отдельные субъекты 128 авторизации могут быть созданы для множества различных OS-контекстов.
[0053] На этапе 402 взаимодействуют с доверенным платформенным модулем, чтобы обеспечить привязку субъекта авторизации к средству обеспечения безопасности, сохраненному в доверенном платформенном модуле. Например, модуль 118 TPM-доступа инструктирует конфигурирование политики 126 авторизации с помощью субъекта авторизации, так что доступ к средству обеспечения безопасности обуславливается удовлетворением политики 126 авторизации.
[0054] На этапе 404 принимают запрос доступа к субъекту авторизации. Например, процесс запрашивает доступ к субъекту авторизации, чтобы разрешать доступ к средству обеспечения безопасности, привязанному к субъекту авторизации.
[0055] На этапе 406 устанавливают, совпадает ли контекст запроса для запроса с субъектом авторизации. Контекст запроса, например, соответствует OS-контексту для процесса, который запрашивает доступ к субъекту авторизации. Примеры OS-контекста включают в себя идентификатор пользователя, ассоциированный с процессом, идентификатор приложения, ассоциированный с процессом, идентификатор группы, ассоциированный с процессом, уровень привилегий, ассоциированный с процессом, и т.д.
[0056] Согласно различным реализациям, установление того, совпадает ли контекст запроса с субъектом авторизации, включает в себя предоставление доступа к субъекту авторизации посредством повторного создания субъекта авторизации на основе контекста запроса, например, предоставленного OS-контекста. Например, ключ (первичный и/или корневой ключ), используемый, чтобы формировать субъект запроса, применяется для обработки контекста запроса. Обработанный контекст запроса затем сравнивается с субъектом авторизации, чтобы устанавливать, совпадает ли обработанный контекст запроса с субъектом авторизации. Посредством повторного создания субъекта авторизации на основе контекста запроса (например, текущего OS-контекста), ассоциированная политика авторизации может быть использована, чтобы устанавливать, разрешен ли доступ к субъекту авторизации.
[0057] Если контекст запроса для запроса совпадает с субъектом авторизации ("Да"), на этапе 408 предоставляют доступ к субъекту авторизации в ответ на контекст запроса, совпадающий с субъектом авторизации. По меньшей мере, в некоторых реализациях доступ к субъекту авторизации разрешает доступ к средству обеспечения безопасности, привязанному к субъекту авторизации. Например, запрос доступа к субъекту авторизации может быть переправлен к TPM 116, который может предоставлять доступ к средству обеспечения безопасности в ответ на контекст запроса, удовлетворяющий политике авторизации для средства обеспечения безопасности.
[0058] Как упомянуто выше, соответствие контекста запроса субъекту авторизации может включать в себя попытку повторно создать субъект авторизации посредством применения ключа, используемого, чтобы формировать субъект авторизации, к контексту запроса. Таким образом, если субъект авторизации успешно повторно создается с помощью контекста запроса, доступ к субъекту авторизации разрешается.
[0059] Если контекст запроса для запроса не совпадает с субъектом авторизации ("Нет"), на этапе 410 запрещают доступ к субъекту авторизации в ответ на контекст запроса, несовпадающий с субъектом авторизации. Модуль 118 TPM-доступа, например, предотвращает перенаправление запроса доступа к субъекту авторизации к TPM 116.
[0060] Как упомянуто выше, соответствие контекста запроса субъекту авторизации может включать в себя попытку повторно создать субъект авторизации посредством применения ключа, используемого, чтобы формировать субъект авторизации, к контексту запроса. Таким образом, если субъект авторизации успешно повторно не создается с помощью контекста запроса, доступ к субъекту авторизации не разрешается.
[0061] Фиг. 5 является блок-схемой последовательности операций, которая описывает этапы в способе в соответствии с одним или более вариантами осуществления. Способ, например, описывает примерную процедуру привязки политики авторизации к средству обеспечения безопасности в соответствии с одним или более вариантами осуществления.
[0062] Этап 500 принимает запрос конфигурирования политики авторизации для средства обеспечения безопасности, сохраненного в доверенном платформенном модуле. Запрос, например, принимается от приложения и/или другого процесса, который находится локально на вычислительном устройстве 102. Альтернативно, запрос может быть принят от удаленного объекта, такого как удаленный ресурс 140. Согласно различным реализациям запрос идентифицирует один или более субъектов авторизации, которые индивидуально соответствуют одному или более представлениям одного или более контекстов операционной системы. По меньшей мере, в некоторых реализациях средство обеспечения безопасности представляет реализацию средств 124 обеспечения безопасности, представленных выше.
[0063] На этап 502 инструктируют конфигурирование политики авторизации в доверенном платформенном модуле с помощью одного или более субъектов авторизации. Модуль 118 TPM-доступа, например, сообщает один или более субъектов авторизации TPM 116, который наполняет политику 126 авторизации одним или более субъектами авторизации.
[0064] На этапе 504 обеспечивают привязку политики авторизации к средству обеспечения безопасности, сохраненному в доверенном платформенном модуле. Например, модуль 118 TPM-доступа указывает TPM 116, что политика авторизации должна быть привязана к средству обеспечения безопасности. Согласно различным реализациям, предоставление возможности запроса доступа к средству обеспечения безопасности обуславливается совпадением контекста запроса с одним или более субъектами авторизации политики авторизации.
[0065] На этапе 506 принимают запрос доступа к средству обеспечения безопасности. Процесс, работающий на вычислительном устройстве 102, например, запрашивает доступ к средству обеспечения безопасности.
[0066] На этапе 508 устанавливают, удовлетворяет ли контекст запроса для запроса политике авторизации. Например, определяется, совпадает ли контекст запроса с одним или более субъектами авторизации, указанными посредством политики авторизации. Как упомянуто выше, запрос может быть инициирован процессом, работающим на вычислительном устройстве 102, таким как ассоциированный с одним из приложений 114. Таким образом, контекст запроса может включать в себя один или более OS-контекстов, ассоциированных с процессом, примеры которых детализированы выше.
[0067] Согласно различным реализациям, установление того, удовлетворяет ли контекст запроса политике авторизации, включает в себя попытку повторно создать один или более субъектов авторизации, привязанных к политике авторизации. Например, ключ, используемый, чтобы формировать один или более субъектов авторизации, применяется к контексту запроса. Таким образом, доступ к одному или более субъектам авторизации основывается на том, успешно ли повторно создаются один или более субъектов авторизации с помощью контекста запроса.
[0068] Если контекст запроса для запроса удовлетворяет политике авторизации ("Да"), на этапе 510 удовлетворяют запрос в ответ на то, что контекст запроса для запроса удовлетворяет политике авторизации. Например, если один или более субъектов авторизации, привязанных к политике авторизации, успешно повторно создаются с помощью контекста запроса, запрос для доступа к средству обеспечения безопасности разрешается. Согласно различным реализациям, предоставление возможности запроса разрешает запрашивающему объекту доступ к средству обеспечения безопасности.
[0069] Если контекст запроса для запроса не удовлетворяет политике авторизации ("Нет"), на этапе 512 отклоняют запрос в ответ на то, что контекст запроса для запроса не удовлетворяет политике авторизации. Например, если один или более субъектов авторизации, привязанных к политике авторизации, успешно повторно не создаются с помощью контекста запроса, запрос для доступа к средству обеспечения безопасности запрещается. Запрашивающему объекту, например, запрещается доступ к средству обеспечения безопасности.
[0070] Фиг. 6 является блок-схемой последовательности операций, которая описывает этапы в способе в соответствии с одним или более вариантами осуществления. Способ, например, описывает примерную процедуру для инструктирования привязки политики авторизации к средству обеспечения безопасности в соответствии с одним или более вариантами осуществления.
[0071] На этапе 600 предоставляют субъект авторизации для процесса вычислительного устройства в регистр доверенного платформенного модуля вычислительного устройства. Например, модуль 118 TPM-доступа выполняет операцию предоставления по конкретному платформенному регистру 138, которая инструктирует предоставление одного или более субъектов авторизации процесса в регистр. Регистр, например, соответствует регистру конфигурации платформы (PCR) доверенного платформенного модуля.
[0072] На этапе 602 принимает от запрашивающего объекта запрос в отношении данных из регистра доверенного платформенного модуля. Согласно различным реализациям запрашивающий объект является внешним по отношению к доверенному платформенному модулю, таким как приложение 114, удаленный ресурс 140 и т.д.
[0073] На этапе 604 возвращают данные из регистра запрашивающему объекту, причем возвращаемые данные включают в себя идентификатор, который формируется на основе субъекта авторизации для процесса. Идентификатор, например, формируется, по меньшей мере, частично на основе субъекта авторизации, который соответствует контексту операционной системы для процесса. Например, как упомянуто выше, идентификатор может соответствовать ID 132 субъекта, который формируется для субъекта 128 авторизации. Как дополнительно упомянуто выше, ID 132 субъекта может быть реализован отдельно от ассоциированного субъекта 128 авторизации или альтернативно как идентификатор, который встроен в и/или реализован как часть ассоциированного субъекта 132 авторизации.
[0074] На этапе 606 принимают от запрашивающего объекта указание того, что средство обеспечения безопасности, хранящееся в доверенном платформенном модуле, должно быть привязано к политике авторизации, которая конфигурируется с помощью субъекта авторизации. Например, модуль 118 TPM-доступа принимает запрос от запрашивающего объекта.
[0075] На этапе 608 обеспечивают привязку политики авторизации к средству обеспечения безопасности в доверенном платформенном модуле, так что субъект авторизации представляет условие для доступа к средству обеспечения безопасности. Модуль 118 TPM-доступа, например, взаимодействует с TPM 116, чтобы конфигурировать политику авторизации для средства обеспечения безопасности. В целом, политика авторизации указывает различные условия для доступа к средству обеспечения безопасности. Например, политика авторизации определяет доступ к средству обеспечения безопасности, который обуславливается запрашивающим объектом, совпадающим с одним или более субъектами авторизации, указанными в политике авторизации. По меньшей мере, в некоторых реализациях политика авторизации указывает множество субъектов авторизации, которые представляют условия для доступа к средству обеспечения безопасности.
[0076] Обсудив некоторые примерные процедуры для представления контекста операционной системы в доверенном платформенном модуле, рассмотрим теперь обсуждение примерной системы и устройства в соответствии с одним или более вариантами осуществления. Примерная система и устройство
[0077] Фиг. 7 иллюстрирует примерную систему, в целом, по ссылке 700, которая включает в себя примерное вычислительное устройство 702, которое является показательным для одной или более вычислительных систем и/или устройств, которые могут реализовывать различные технологии, описанные в данном документе. Например, вычислительное устройство 102, обсужденное выше со ссылкой на фиг. 1, может быть осуществлено как вычислительное устройство 702. Вычислительное устройство 702 может быть, например, сервером поставщика услуг, устройством, ассоциированным с клиентом (например, клиентским устройством), встроенной в кристалл системой и/или любым другим подходящим вычислительным устройством или вычислительной системой.
[0078] Примерное вычислительное устройство 702, которое иллюстрировано, включает в себя систему 704 обработки, один или более машиночитаемых носителей 706 и один или более интерфейсов 708 ввода/вывода (I/O), которые соединены друг с другом с возможностью обмена данными. Хотя не показано, вычислительное устройство 702 может дополнительно включать в себя системную шину или другую систему передачи данных и команд, которая соединяет различные компоненты друг с другом. Системная шина может включать в себя любую одну или комбинацию различных шинных структур, таких как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина и/или процессорная или локальная шина, которая использует любую из множества шинных архитектур. Множество других примеров также рассматриваются, таких как управляющие и информационные шины.
[0079] Система 704 обработки представляет функциональность, чтобы выполнять одну или более операций с помощью аппаратных средств. Соответственно, система 704 обработки иллюстрирована как включающая в себя элемент 710 аппаратных средств, который может быть сконфигурирован как процессоры, функциональные блоки и т.д. Она может включать в себя реализацию в аппаратных средствах в качестве специализированной интегральной микросхемы или другого логического устройства, сформированного с помощью одного или более полупроводников. Элементы 710 аппаратных средство не ограничиваются материалами, из которых они сформированы, или механизмами обработки, используемыми в них. Например, процессоры могут быть составлены из полупроводника(ов) и/или транзисторов (к примеру, электронных интегральных схем (IC)). В этом контексте исполняемыми процессором инструкциями могут быть электронноисполняемые инструкции.
[0080] Машиночитаемые носители 706 иллюстрируются как включающие в себя память/хранилище 712. Память/хранилище 712 представляет емкость памяти/хранилища, ассоциированную с одним или более машиночитаемыми носителями. Память/хранилище 712 может включать в себя энергозависимые носители (такие как оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (такие как постоянное запоминающее устройство (ROM), флэш-память, оптические диски, магнитные диски и т.д.). Память/хранилище 712 может включать в себя фиксированные носители (например, RAM, ROM, фиксированный жесткий диск и т.д.), также как и съемные носители (например, флэш-память, съемный жесткий диск, оптический диск и т.д.). Машиночитаемые носители 706 могут быть сконфигурированы множеством других способов, как дополнительно описано ниже.
[0081] Интерфейс(ы) 708 ввода/вывода представляют функциональность, чтобы предоставлять возможность пользователю вводить команды и информацию в вычислительное устройство 702, а также предоставляют возможность представления информации пользователю и/или другим компонентам или устройствам с помощью различных устройств ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон (например, для распознавания голоса и/или речевого ввода), сканер, сенсорную функциональность (например, емкостные или другие датчики, которые сконфигурированы, чтобы обнаруживать физическое касание), камеру (например, которая может применять видимые или невидимые длины волн, такие как инфракрасные частоты, чтобы обнаруживать движение, которое не подразумевает касание, в качестве жестов), и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, принтер, сетевую карту, тактильно-чувствительное устройство и т.д. Таким образом, вычислительное устройство 702 может быть сконфигурировано множеством способов, как дополнительно описано ниже, чтобы поддерживать взаимодействие с пользователем.
[0082] Различные технологии могут быть описаны в данном документе в общем контексте программного обеспечения, элементов аппаратных средств или программных модулей. Как правило, такие модули включают в себя процедуры, программы, объекты, элементы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Термины "модуль", "функциональность", "объект" и "компонент", когда используются в данном документе, как правило, представляют программное обеспечение, микропрограммное обеспечение, аппаратные средства или их комбинацию. Признаки технологий, описанных в данном документе, являются платформенно-независимыми, означающими, что технологии могут быть реализованы на множестве коммерческих вычислительных платформ, имеющих множество процессоров.
[0083] Реализация описанных модулей и технологий может быть сохранена на или передаваться по некоей форме машиночитаемых носителей. Машиночитаемые носители могут включать в себя множество носителей, к которым может быть осуществлен доступ посредством вычислительного устройства 702. В качестве примера, а не ограничения, машиночитаемые носители могут включать в себя "машиночитаемые носители хранения информации" и "машиночитаемую среду передачи сигналов".
[0084] "Машиночитаемые носители хранения информации" могут относиться к носителям и/или устройствам, которые предоставляют возможность устойчивого хранения информации в противоположность простой передаче сигнала, несущим волнам или сигналам самим по себе. Машиночитаемые носители хранения информации не включают сигналы сами по себе. Машиночитаемые носители хранения информации включают в себя аппаратные средства, такие как энергозависимые и энергонезависимые, съемные и несъемные носители и/или запоминающие устройства, реализованные способом или технологией, подходящей для хранения информации, такой как читаемые компьютером инструкции, структуры данных, программные модули, логические элементы/схемы или другие данные. Примеры машиночитаемых носителей хранения информации могут включать в себя, но не только, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, жесткие диски, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или другое запоминающее устройство, материальные носители или изделие производства, подходящее, чтобы хранить желаемую информацию, и к которому может быть осуществлен доступ посредством компьютера.
[0085] "Машиночитаемая среда передачи сигнала" может относиться к несущей сигнал среде, которая сконфигурирована, чтобы передавать инструкции аппаратным средствам вычислительного устройства 702, например, через сеть. Среда передачи сигналов типично может осуществлять машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущие волны, информационные сигналы или другой механизм передачи. Среда передачи сигнала также включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из своих характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая среда, радиочастота (RF), инфракрасное излучение и другая беспроводная среда.
[0086] Как ранее описано, элементы 710 аппаратных средств и машиночитаемые носители 706 представляют инструкции, модули, программируемую логику устройства и/или фиксированную логику устройства, реализованную в форме аппаратных средств, которая может быть применена в некоторых вариантах осуществления, чтобы реализовывать, по меньшей мере, некоторые аспекты технологий, описанных в данном документе. Элементы аппаратных средств могут включать в себя компоненты интегральной схемы или встроенной в кристалл системы, специализированную интегральную схему (ASIC), программируемую пользователем вентильную матрицу (FPGA), сложное программируемое логическое устройство (CPLD) и другие реализации в полупроводниковых или других аппаратных устройствах. В этом контексте, элемент аппаратных средств может работать как устройство обработки, которое выполняет программные задачи, определенные посредством инструкций, модулей и/или логики, осуществленной посредством элемента аппаратных средств, также как аппаратное устройство, используемое, чтобы хранить инструкции для исполнения, например, машиночитаемые носители хранения информации, описанные ранее.
[0087] Комбинации вышеупомянутого могут также быть использованы, чтобы реализовывать различные технологии и модули, описанные в данном документе. Соответственно, программное обеспечение, аппаратные средства или программные модули и другие программные модули могут быть реализованы как одна или более инструкций и/или логика, осуществленная в некоторой форме машиночитаемых носителей хранения и/или посредством одного или более элементов 710 аппаратных средств. Вычислительное устройство 702 может быть сконфигурировано, чтобы реализовывать конкретные инструкции и/или функции, соответствующие программным и/или аппаратным модулям. Соответственно, реализация модулей, которые являются исполняемыми посредством вычислительного устройства 702 в качестве программного обеспечения, может быть выполнена, по меньшей мере, частично в аппаратных средствах, например, посредством использования машиночитаемых носителей хранения информации и/или элементов 710 аппаратных средств системы обработки. Инструкции и/или функции могут быть исполняемыми/задействуемыми посредством одного или более изделий производства (например, одного или более вычислительных устройств 702 и/или систем 704 обработки), чтобы реализовывать технологии, модули и примеры, описанные в данном документе.
[0088] Как дополнительно иллюстрировано на фиг. 7, примерная система 700 предоставляет возможность повсеместно распространенных окружений для цельного восприятия пользователем при работе приложений на персональном компьютере (PC), телевизионном устройстве и/или мобильном устройстве. Службы и приложения работают практически аналогично во всех трех окружениях для общего восприятия пользователем при переходе от одного устройства к следующему во время использования приложения, игры в видеоигру, просмотра видео и т.д.
[0089] В примерной системе 700 множество устройств взаимосвязаны через центральное вычислительное устройство. Центральное вычислительное устройство может быть локальным для множества устройств или может быть расположено удаленно от множества устройств. В одном варианте осуществления центральное вычислительное устройство может быть облаком из одного или более серверных компьютеров, которые соединяются с множеством устройств через сеть, Интернет или другую линию передачи данных.
[0090] В одном варианте осуществления эта архитектура взаимосвязи предоставляет возможность доставки функциональности между множеством устройств, чтобы обеспечивать общее и цельное восприятие пользователю множества устройства. Каждое из множества устройств может иметь различные физические требования и возможности, и центральное вычислительное устройство использует платформу, чтобы предоставлять возможность доставки восприятия устройству, которое является как специализированным для устройства, так еще и общим для всех устройств. В одном варианте осуществления создается класс целевых устройств, и восприятия адаптируются для родового класса устройств. Класс устройств может быть определен по физическим признакам, типам использования или другим общим характеристикам устройств.
[0091] В различных реализациях вычислительное устройство 702 может предполагать множество различных конфигураций, например, для компьютера 714, мобильных 716 и телевизионных 718 использований. Каждая из этих конфигураций включает в себя устройства, которые могут иметь, в целом, различные конструкции и возможности, и, таким образом, вычислительное устройство 702 может быть сконфигурировано согласно одному или более различным классам устройств. Например, вычислительное устройство 702 может быть реализовано как компьютерный 714 класс для устройства, который включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, портативный компьютер, нетбук и т.д.
[0092] Вычислительное устройство 702 может также быть реализовано как мобильный 716 класс устройства, который включает в себя мобильные устройства, такие как мобильные телефон, переносной музыкальный проигрыватель, переносное игровое устройство, планшетный компьютер, носимое устройство, многоэкранный компьютер и т.д. Вычислительное устройство 702 может также быть реализовано как телевизионный 718 класс устройства, который включает в себя устройства, имеющие или подключенные, как правило, к более крупным экранам в непостоянных окружениях просмотра. Эти устройства включают в себя телевизоры, телевизионные приставки, игровые консоли и т.д.
[0093] Технологии, описанные в данном документе, могут поддерживаться посредством этих различных конфигураций вычислительного устройства 702 и не ограничены конкретными примерами и технологиями, описанными в данном документе. Например, функциональные возможности, обсужденные со ссылкой на вычислительное устройство 102 и/или модуль 118 TPM-доступа, могут быть реализованы все или частично посредством использования распределенной системы, например, через "облако" 720 через платформу 722, как описано ниже.
[0094] Облако 720 включает в себя и/или представляет платформу 722 для ресурсов 724. Платформа 722 абстрагирует лежащую в основе функциональность аппаратных средств (например, серверов) и ресурсов программного обеспечения облака 720. Ресурсы 724 могут включать в себя приложения и/или данные, которые могут быть использованы, в то время как компьютерная обработка выполняется на серверах, которые являются удаленными от вычислительного устройства 702. Ресурсы 724 могут также включать в себя службы, предоставляемые через Интернет и/или через абонентскую сеть, такую как сотовая или Wi-Fi-сеть.
[0095] Платформа 722 может абстрагировать ресурсы и функции, чтобы соединять вычислительное устройство 702 с другими вычислительными устройствами. Платформа 722 может также служить для того, чтобы абстрагировать масштабирование ресурсов, чтобы обеспечивать соответствующий уровень масштабирования встречающемуся требованию ресурсов 724, которые реализованы через платформу 722. Соответственно, во взаимосвязанном варианте осуществления устройства реализация функциональности, описанной в данном документе, может быть распределена по всей системе 700. Например, функциональность может быть реализована частично на вычислительном устройстве 702, также как через платформу 722, которая абстрагирует функциональность облака 720.
[0096] В данном документе обсуждаются множество способов, которые могут быть реализованы, чтобы выполнять технологии, обсуждаемые в данном документе. Аспекты способов могут быть реализованы в аппаратном обеспечении, микропрограммном обеспечении или программном обеспечении, или в их сочетании. Способы показаны как набор этапов, которые указывают операции, выполняемые одним или более устройствами, и необязательно ограничиваются показанными порядками для выполнения операций соответствующими блоками. Дополнительно, операция, показанная относительно конкретного способа, может быть объединена и/или взаимозаменяема с операцией другого способа в соответствии с одной или более реализациями. Аспекты способов могут быть реализованы через взаимодействие между различными объектами, обсужденными выше относительно окружения 100.
Заключение
[0097] Описываются технологии представления контекста операционной системы в доверенном платформенном модуле. Хотя варианты осуществления описываются на языке, характерном для структурных признаков и/или методологических действий, необходимо понимать, что варианты осуществления, определенные в прилагаемой формуле, необязательно ограничиваются описанными характерными признаками или действиями. Скорее, характерные признаки и действия раскрываются как примерные формы реализации заявленных вариантов осуществления.