Основные сведения о основном маркере обновления (PRT)
Первичный маркер обновления (PRT) — это ключевой артефакт проверки подлинности Microsoft Entra в поддерживаемых версиях Windows, iOS и Android. В этой статье объясняется, как выдается, используется и защищается PRT на устройствах с Windows 10 и более новых версий, повышая вашу безопасность и обеспечивая единый вход (SSO) в различных приложениях.
В этой статье предполагается, что вы уже понимаете различные состояния устройства, доступные в идентификаторе Microsoft Entra ID, и как работает единый вход в Windows. Дополнительные сведения об устройствах в идентификаторе Microsoft Entra см. в разделе Что такое управление устройствами в идентификаторе Microsoft Entra ID?.
Ключевые термины и компоненты
Следующие компоненты Windows играют ключевую роль в запросе и использовании PRT:
- Cloud Authentication Provider (CloudAP). CloudAP — это современный поставщик проверки подлинности для входа в Windows, который проверяет вход пользователей на устройство Windows 10 и более поздних версий. CloudAP предоставляет платформу плагинов, которую поставщики удостоверений могут использовать для обеспечения аутентификации в Windows с помощью учетных данных этого поставщика удостоверений.
- Web Account Manager (WAM): WAM является брокером токенов по умолчанию на устройствах Windows 10 и более поздних версий. WAM также предоставляет платформу подключаемых модулей, на основе которой поставщики удостоверений могут создавать и включать единый вход для своих приложений, использующих этого поставщика удостоверений.
- Подключаемый модуль Microsoft Entra CloudAP: специализированный модуль Microsoft Entra, созданный на платформе CloudAP, который проверяет учетные данные пользователя с идентификатором Microsoft Entra при входе в Windows.
- Плагин Microsoft Entra WAM: специфический плагин Microsoft Entra, разработанный на платформе WAM, который обеспечивает единый вход в приложения, полагающиеся на идентификатор Microsoft Entra для аутентификации.
- Dsreg: определенный компонент Microsoft Entra в Windows 10 или более поздней версии, который обрабатывает процесс регистрации устройства для всех состояний устройства.
- Доверенный модуль платформы (TPM): TPM — это аппаратный компонент, встроенный в устройство, предоставляющее аппаратные функции безопасности для секретов пользователей и устройств. Дополнительные сведения см. в статье Общие сведения о технологии доверенного платформенного модуля.
Что содержит PRT?
PRT содержит утверждения, найденные в большинстве токенов обновления Microsoft Entra ID. Кроме того, в PRT есть некоторые утверждения для конкретных устройств. Это следующие:
-
Идентификатор устройства: PRT выдан пользователю на определенном устройстве. Утверждение кода устройства
deviceID
указывает устройство, на котором пользователю был выдан PRT. Это заявление позже выставляется для токенов, полученных с помощью PRT. Утверждение идентификатора устройства используется, чтобы определить авторизацию условного доступа на основе соответствия или состояния устройства. - Ключ сеанса: ключ сеанса — это зашифрованный симметричный ключ, созданный службой проверки подлинности Microsoft Entra, выданный в рамках PRT. Сеансовый ключ выступает в качестве подтверждения владения, если PRT используется для получения маркеров для других приложений. Ключ сеанса обновляется на устройствах, присоединенных к Windows 10 или более новым, или на устройствах, использующих присоединение к Microsoft Entra или гибридное присоединение к Microsoft Entra, если срок действия ключа превышает 30 дней.
Могу ли я увидеть, что находится в PRT?
PRT — это непрозрачный большой двоичный объект, отправленный из Microsoft Entra, содержимое которого не известно ни одному клиентскому компоненту. Вы не можете заглянуть внутрь PRT.
Как выдается PRT?
Регистрация устройства является обязательным условием для аутентификации, основанной на устройствах, в Microsoft Entra ID. PRT выдается пользователям только на зарегистрированных устройствах. Более подробные сведения о регистрации устройств см. в статье Windows Hello для бизнеса и регистрация устройств. Во время регистрации устройства компонент dsreg создает два набора пар криптографических ключей:
- ключ устройства (dkpub/dkpriv);
- Транспортный ключ (tkpub/tkpriv).
Закрытые ключи привязаны к доверенному платформенному модулю (TPM) устройства, если устройство имеет действительный и функционирующий TPM, а открытые ключи отправляются в Microsoft Entra ID во время регистрации устройства. Эти ключи используются для проверки состояния устройства во время запросов PRT.
PRT выдается во время проверки подлинности пользователя на устройстве Windows 10 и более поздних версий в двух сценариях:
- Присоединение к Microsoft Entra или гибридное присоединение к Microsoft Entra: при входе пользователя с учетными данными организации выдается PRT. PRT выдается со всеми поддерживаемыми Windows 10 или более поздних версий учетными данными, например, паролем и Windows Hello для бизнеса. В этом сценарии подключаемый модуль Microsoft Entra CloudAP является основным центром для PRT.
-
Зарегистрированное устройство Microsoft Entra: PRT выдается при добавлении дополнительной рабочей учетной записи на устройство с Windows 10 или более поздней версии. Пользователи могут добавлять учетную запись в Windows 10 или более поздней версии двумя способами.
- Добавив учетную запись с помощью запроса Разрешить организации управлять моим устройством после входа в приложение (например, Outlook).
- Добавив учетную запись из раздела Параметры>Учетные записи>Доступ к учетной записи места работы или учебного заведения>Подключение.
В сценариях зарегистрированных устройств Microsoft Entra, подключаемый модуль Microsoft Entra WAM является основным источником авторизации для PRT, поскольку вход в Windows не происходит с этой учетной записью Microsoft Entra.
Примечание.
Поставщики удостоверений, отличные от Майкрософт, должны поддерживать протокол WS-Trust, чтобы включить выдачу PRT на устройствах с Windows 10 или более новых версий. Без WS-Trust prT не может быть выдан пользователям на гибридных устройствах Microsoft Entra или присоединенных к Microsoft Entra устройствах. Для AD FS требуются только конечные точки типа usernamemixed. В AD FS, если smartcard/certificate
используется во время входа в систему Windows, требуются конечные точки certificatemixed
. Оба adfs/services/trust/2005/windowstransport
и adfs/services/trust/13/windowstransport
должны быть включены только как интрасетевые конечные точки, а не должны предоставляться как экстрасетевые конечные точки через прокси веб-приложения.
Примечание.
Политики условного доступа Microsoft Entra не оцениваются при выдаче PRT.
Примечание.
Мы не поддерживаем поставщиков учетных данных, отличных от Майкрософт, для выдачи и продления PRT Microsoft Entra.
Какое время существования PRT?
После выдачи PRT действителен в течение 14 дней и постоянно обновляется при условии, что пользователь активно использует устройство.
Как используется PRT?
PRT используют два ключевых компонента в Windows:
- Подключаемый модуль Microsoft Entra CloudAP: во время входа в Windows подключаемый модуль Microsoft Entra CloudAP запрашивает PRT из Microsoft Entra ID, используя учетные данные, предоставленные пользователем. Он также кэширует PRT, чтобы включить кэшированный вход, если у пользователя нет доступа к Интернету.
-
Плагин Microsoft Entra WAM: когда пользователи пытаются получить доступ к приложениям, плагин Microsoft Entra WAM использует PRT для включения единого входа в Windows 10 и более поздних версиях. Плагин WAM Microsoft Entra использует PRT для запроса токенов обновления и доступа для приложений, использующих WAM для запросов токенов. Он также позволяет выполнять единый вход в браузерах, внедряя PRT в запросы браузера. Единый вход в браузере в Windows 10 или более поздней версии поддерживается на Microsoft Edge (в собственном коде), Chrome (через учетные записи Windows 10) или Mozilla Firefox v91+ (параметр единого входа Windows в Firefox).
Примечание.
В случаях, когда у пользователя есть две учетные записи из одного клиента Microsoft Entra, вошедшего в приложение браузера, проверка подлинности устройства, предоставляемая PRT основной учетной записи, автоматически применяется ко второй учетной записи. В результате вторая учетная запись также удовлетворяет требованиям политики условного доступа, основанной на устройствах, в тенанте.
Как обновляется PRT?
PRT обновляется двумя разными способами:
- Плагин Microsoft Entra CloudAP каждые 4 часа: Плагин CloudAP обновляет PRT каждые 4 часа во время входа в систему Windows. Если в течение этого времени у пользователя нет подключения к Интернету, подключаемый модуль CloudAP обновит PRT после подключения устройства к Интернету и нового входа в Windows.
-
Подключаемый модуль Microsoft Entra WAM при запросах маркера приложения: подключаемый модуль WAM обеспечивает единый вход на устройствах под управлением Windows 10 или более новых версий, позволяя фоновые запросы маркеров для приложений. Плагин WAM может обновить PRT во время этих запросах токенов двумя способами.
- Приложение тихо запрашивает WAM для получения маркера доступа, но для этого приложения нет токена обновления. В этом случае WAM использует PRT, чтобы запросить токен для приложения и получает новый PRT в ответ.
- Приложение запрашивает WAM для токена доступа, но PRT является недопустимым или идентификатор Microsoft Entra ID требует дополнительной авторизации (например, многофакторная аутентификация Microsoft Entra). В этом сценарии WAM инициирует интерактивный вход, требующий от пользователя повторной проверки подлинности или предоставления дополнительной проверки подлинности, а новый PRT выдан при успешной проверке подлинности.
В среде AD FS прямая линия зрения к контроллеру домена не требуется для продления PRT. Для продления PRT требуются только конечные точки /adfs/services/trust/2005/usernamemixed
и /adfs/services/trust/13/usernamemixed
, включенные на прокси-сервере с использованием протокола WS-Trust.
Конечные точки транспорта Windows необходимы для проверки пароля только при его изменении, но не для обновления PRT.
Примечание.
Политики условного доступа Microsoft Entra не оцениваются при продлении PRT.
Основные рекомендации
- На устройствах, присоединенных к Microsoft Entra и гибридно присоединенных к Microsoft Entra, подключаемый модуль CloudAP является основным авторитетом для PRT. Если PRT обновляется во время запроса токена на основе WAM, PRT отправляется обратно в подключаемый модуль CloudAP, который проверяет допустимость PRT с Microsoft Entra ID до его принятия.
Платформа Android:
- PRT действителен в течение 90 дней и постоянно обновляется до тех пор, пока устройство используется. Однако это допустимо только в течение 14 дней, если устройство не используется.
- PRT выдается и обновляется только во время проверки подлинности в собственном приложении. PRT не обновляется или не выпускается во время сеанса браузера.
- Вы можете получить PRT без необходимости регистрации устройств (присоединение к рабочему месту) и включить единый вход.
- PRT, полученные без регистрации устройства, не могут соответствовать критериям авторизации условного доступа, зависящим от статуса или соответствия устройства.
Как защищен PRT?
PRT защищен с помощью привязки к устройству, в которое пользователь выполнил вход. Идентификатор Microsoft Entra и Windows 10 или более поздней версии обеспечивают защиту PRT с помощью следующих методов:
- Во время первого входа: во время первого входа prT выдается путем подписывания запросов с помощью криптографического шифрования ключа устройства, созданного во время регистрации устройства. На устройстве с действующим и работающим модулем TPM, ключ устройства защищён этим модулем, что предотвращает любой вредоносный доступ. PrT не выдается, если соответствующая подпись ключа устройства не может быть проверена.
- Во время запросов маркера и продления: при выпуске PRT Microsoft Entra ID также выдает зашифрованный ключ сеанса устройству. Он зашифрован с помощью открытого транспортного ключа (tkpub), который создается и отправляется в Microsoft Entra ID в качестве части регистрации устройства. Этот сеансовый ключ может быть расшифрован только частным ключом транспортировки (tkpriv), защищенным модулем TPM. Ключ сеанса — это ключ проверки владения (POP) для любых запросов, отправленных в Microsoft Entra ID. Ключ сессии также защищен модулем TPM, и другие компоненты ОС не могут получить к нему доступ. Запросы токенов или запросы на обновление PRT надежно подписаны этим сеансовым ключом при помощи TPM и, следовательно, не могут быть изменены. Microsoft Entra запрещает любые запросы с устройства, которое не подписано соответствующим ключом сеанса.
Обеспечивая безопасность этих ключей с помощью доверенного платформенного модуля (TPM), мы улучшаем защиту PRT от вредоносных субъектов, пытающихся украсть ключи или воспроизвести PRT. Таким образом, использование доверенного платформенного модуля значительно повышает безопасность устройств, присоединенных к Microsoft Entra, гибридно присоединенных устройств Microsoft Entra и зарегистрированных устройств Microsoft Entra в отношении кражи учетных данных. Для обеспечения производительности и надежности TPM 2.0 является рекомендуемой версией для всех сценариев регистрации устройств Microsoft Entra в Windows 10 или более поздней версии. После обновления Windows 10 1903 идентификатор Microsoft Entra ID не использует TPM 1.2 для любого из указанных выше ключей из-за проблем с надежностью.
Как защищены маркеры приложений и файлы cookie браузера?
Токены приложений: когда приложение запрашивает токен через WAM, Microsoft Entra ID выдает обновляемый токен и токен доступа. Однако WAM возвращает маркер доступа только приложению и защищает маркер обновления в кэше, зашифровав его с помощью ключа программирования приложения защиты данных пользователя (DPAPI). WAM безопасно использует токен обновления, подписывая запросы с помощью сеансового ключа для выдачи дополнительных токенов доступа. Ключ DPAPI защищается симметричным ключом на основе идентификатора Microsoft Entra в самом Microsoft Entra. Когда устройству необходимо расшифровать профиль пользователя, используя ключ DPAPI, идентификатор Microsoft Entra предоставляет ключ DPAPI, зашифрованный ключом сеанса, для расшифровки которого подключаемый модуль CloudAP обращается к TPM. Эта возможность гарантирует согласованность при защите маркеров обновления и позволяет приложениям избежать применения собственных механизмов защиты.
Файлы cookie браузера: в Windows 10 или более поздней версии Идентификатор Microsoft Entra поддерживает единый вход в браузере в Internet Explorer и Microsoft Edge встроенно, в Google Chrome через расширение для учетных записей Windows 10 и в Mozilla Firefox версии 91+ через настройку браузера. Система безопасности позволяет защитить не только файлы cookie, но и конечные точки, на которые отправляются эти файлы. Файлы cookie браузера защищены так же, как и PRT. Для подписывания и защиты файлов cookie используется сеансовый ключ.
Когда пользователь инициирует взаимодействие с браузером, браузер (или расширение) вызывает интегрированный узел клиента COM. Локальный клиентский хост обеспечивает, что страница находится в одном из разрешенных доменов. Браузер может отправлять и другие параметры на хост нативного клиента, включая одноразовый ключ, однако хост нативного клиента гарантирует проверку имени хоста. Хост собственного клиента запрашивает PRT-cookie из подключаемого модуля CloudAP, который создает и подписывает его с помощью сеансового ключа, защищенного TPM. Так как PRT-cookie подписан ключом сеанса, сложно изменить его. Этот PRT-куки включен в заголовок запроса для Microsoft Entra ID, чтобы подтвердить подлинность устройства, из которого он происходит. При использовании браузера Chrome только расширение, явно определенное в манифесте собственного узла клиента, может вызвать его, предотвращая произвольные расширения от выполнения этих запросов. После того как Microsoft Entra ID проверяет файл cookie PRT, он выдает в браузер файл cookie сеанса. Этот файл cookie сеанса также содержит тот же сеансовый ключ, который был выдан с помощью PRT. Во время последующих запросов сеансовый ключ проверяется, эффективно привязывая файл cookie к устройству, что предотвращает повторное использование с другого устройства.
Когда PRT получает требование MFA?
PRT может получить утверждение многофакторной проверки подлинности в определенных сценариях. Когда PRT на основе MFA используется для запроса токенов для приложений, к этим токенам передается утверждение MFA. Эта возможность упрощает работу пользователей, предотвращая необходимое прохождение MFA в каждом приложении. PRT может получить MFA-запрос следующими способами:
-
Войдите с помощью Windows Hello для бизнеса: Windows Hello для бизнеса заменяет пароли и использует криптографические ключи для обеспечения строгой двухфакторной проверки подлинности. Windows Hello для бизнеса относится к конкретному пользователю на устройстве, и для его настройки требуется многофакторная аутентификация. Когда пользователь входит в систему с помощью Windows Hello для бизнеса, PRT пользователя получает утверждение MFA. Этот сценарий также относится к пользователям, которые выполняют вход с помощью смарт-карт, если при аутентификации с использованием смарт-карты создается запрос MFA из AD FS.
- Так как Windows Hello для бизнеса считается многофакторной аутентификацией, утверждение MFA обновляется при обновлении PRT, поэтому срок действия MFA будет постоянно продлеваться при входе пользователей с помощью Windows Hello для бизнеса.
-
MFA во время интерактивного входа WAM: во время запроса токена через WAM, если пользователю требуется выполнить MFA для доступа к приложению, PRT, который обновляется во время этого взаимодействия, отмечается с утверждением MFA.
- В этом случае утверждение многофакторной аутентификации (MFA) не обновляется постоянно, поэтому длительность MFA зависит от срока службы, заданного в каталоге.
- Когда для доступа к приложению используется предыдущий PRT и RT, PRT и RT считаются первым подтверждением проверки подлинности. Требуется новый RT с вторым подтверждением и заявлением MFA. Этот процесс также выдаёт новый PRT и RT.
Windows 10 и более поздние версии поддерживают разделенный список PRT для каждой учетной записи. Таким образом, существует PRT для каждого из следующих: Windows Hello для бизнеса, пароля или смарт-карты. Секционирование гарантирует, что утверждения MFA будут изолированы в зависимости от используемых учетных данных и не смешиваются во время запросов токенов.
Примечание.
При использовании пароля для входа в Windows 10 или более поздней версии Microsoft Entra joined или гибридного устройства Microsoft Entra MFA во время интерактивного входа WAM может потребоваться после свертки ключа сеанса, связанного с PRT.
Как PRT становится недействительным?
PRT становится недействительным в следующих случаях:
- Недопустимый пользователь: если пользователь удален или отключен в идентификаторе Microsoft Entra, его PRT недопустим и не может использоваться для получения маркеров для приложений. Если удаленный или отключенный пользователь уже входил в устройство ранее, он сможет зайти в систему, используя данные кэшированного входа, до тех пор, пока CloudAP не узнает о их недействительном состоянии. После того как CloudAP определит, что пользователь является недопустимым, он блокирует последующие входы в систему. Недопустимый пользователь автоматически блокирует вход на новые устройства, которые не кэшируют свои учетные данные.
- Недопустимое устройство: если устройство удалено или отключено в идентификаторе Microsoft Entra, PRT, полученное на этом устройстве, является недействительным и не может использоваться для получения маркеров для других приложений. Если пользователь уже вошел в систему на недопустимом устройстве, он может и дальше это делать. Но все токены на устройстве недействительны, и у пользователя нет SSO к каким-либо ресурсам с этого устройства.
-
Изменение пароля: Если пользователь получил PRT с паролем, PRT аннулируется Microsoft Entra ID при изменении пользователем пароля. В результате изменения пароля пользователь получает новый PRT. Это аннулирование может произойти двумя разными способами:
- Если пользователь входит в Систему Windows с новым паролем, CloudAP удаляет старый PRT и запрашивает идентификатор Microsoft Entra для выдачи нового prT с новым паролем. Если у пользователя нет подключения к Интернету, новый пароль не может быть проверен, Windows может потребовать, чтобы пользователь ввел свой старый пароль.
- Если пользователь вошёл в систему, используя старый пароль, или изменил пароль после входа в Windows, старый PRT используется для всех запросов токенов, основанных на WAM. В этом сценарии пользователю предлагается повторно пройти аутентификацию во время запроса на получение токена WAM, после чего выдаётся новый PRT.
- Проблемы доверенного платформенного модуля: Иногда TPM устройства может сбоить или отказать, что приводит к недоступности ключей, защищенных TPM. В этом случае устройство не может получить PRT или запрашивать маркеры с помощью существующего PRT, так как оно не может доказать владение криптографическими ключами. В результате любой существующий PRT недействителен идентификатором Microsoft Entra. Когда Windows 10 обнаруживает сбой, он инициирует поток восстановления для повторной регистрации устройства с помощью новых криптографических ключей. При гибридном присоединении Microsoft Entra, как и при начальной регистрации, восстановление происходит в фоновом режиме без участия пользователя. Для присоединенных к Microsoft Entra устройств или зарегистрированных устройств Microsoft Entra необходимо выполнить восстановление пользователем, у которого есть права администратора на устройстве. В этом сценарии поток восстановления инициируется запросом Windows, который позволяет пользователю успешно восстановить устройство.
Подробно о потоках
На следующих диаграммах представлены основные сведения о процессе выдачи, обновления и использования PRT для запроса токена доступа для приложения. Кроме того, эти шаги также описывают, как ранее упомянутые механизмы безопасности применяются во время этих взаимодействий.
Выдача PRT при первом входе в систему
Примечание.
На устройствах, присоединенных к Microsoft Entra, выдача PRT (шаги A-F) выполняется синхронно, прежде чем пользователь сможет войти в Windows. На гибридных устройствах, присоединенных к Microsoft Entra, локальная служба Active Directory является основным центром. Таким образом, пользователь может войти в систему Microsoft Entra hybrid joined Windows после получения TGT для входа, в то время как выдача PRT происходит асинхронно. Этот сценарий не применяется к зарегистрированным устройствам Microsoft Entra, так как вход не использует учетные данные Microsoft Entra.
Примечание.
В гибридной среде Windows, присоединенной к Microsoft Entra, выдача PRT происходит асинхронно. Выдача PRT может завершиться ошибкой из-за проблем с федеративным провайдером. Эта ошибка может привести к проблемам входа при попытке пользователей получить доступ к облачным ресурсам. Важно проанализировать этот сценарий вместе с поставщиком федерации.
Этап | Описание |
---|---|
А | Пользователь вводит свой пароль в пользовательском интерфейсе входа. LogonUI передает учетные данные в буфер проверки подлинности в LSA, который в свою очередь внутренне передает его в CloudAP. CloudAP перенаправляет этот запрос в плагин CloudAP. |
Б | Подключаемый модуль CloudAP инициирует запрос на обнаружение области для идентификации поставщика удостоверений для пользователя. Если у арендатора пользователя настроен поставщик федерации, идентификатор Microsoft Entra возвращает конечную точку MEX (Metadata Exchange) поставщика федерации. Если нет, идентификатор Microsoft Entra возвращает, что пользователь управляется, указывая, что пользователь может пройти проверку подлинности с помощью идентификатора Microsoft Entra. |
C | Если пользователь находится под управлением, CloudAP получает одноразовый код из Microsoft Entra ID. Если пользователь является членом федерации, модуль CloudAP запрашивает токен SAML (языка разметки утверждения безопасности) от поставщика федерации, используя учетные данные пользователя. Nonce запрашивается перед отправкой токена SAML в Microsoft Entra ID. |
D | Подключаемый модуль CloudAP создает запрос проверки подлинности с учетными данными пользователя, nonce и областью брокера, подписывает запрос с помощью ключа устройства (dkpriv) и отправляет его в идентификатор Microsoft Entra. В федеративной среде подключаемый модуль CloudAP использует токен SAML, возвращаемый поставщиком федерации, вместо учетных данных пользователя. |
E | Идентификатор Microsoft Entra проверяет учетные данные пользователя, nonce и подпись устройства, проверяет, является ли устройство допустимым в клиенте и выдает зашифрованный PRT. Наряду с PRT идентификатор Microsoft Entra также выдает симметричный ключ, называемый ключ сеанса, зашифрованный идентификатором Microsoft Entra с помощью ключа транспорта (tkpub). Кроме того, сеансовый ключ также внедряется в маркер PRT. Сеансовый ключ действует как ключ подтверждения владения (PoP) для последующих запросов с использованием PRT. |
F | Подключаемый модуль CloudAP передает зашифрованный PRT-токен и сеансовый ключ в CloudAP. CloudAP запрашивает у TPM расшифровать ключ сеанса, используя ключ транспорта (tkpriv), и повторно зашифровать его с помощью собственного ключа TPM. CloudAP сохраняет зашифрованный сеансовый ключ в своем кэше вместе с маркером PRT. |
Обновление маркера PRT при последующих входах
Этап | Описание |
---|---|
А | Пользователь вводит свой пароль в пользовательском интерфейсе входа. LogonUI передает учетные данные в буфер проверки подлинности в LSA, который в свою очередь внутренне передает его в CloudAP. CloudAP перенаправляет этот запрос в подключаемый модуль CloudAP. |
Б | Если пользователь ранее вошел в сеанс, Windows инициирует кэшированный вход и проверяет учетные данные для входа пользователя. Каждые 4 часа плагин CloudAP инициирует асинхронное обновление PRT. |
C | Подключаемый модуль CloudAP инициирует запрос на обнаружение области для идентификации поставщика удостоверений для пользователя. Если у клиента пользователя настроен поставщик федерации, идентификатор Microsoft Entra возвращает конечную точку обмена метаданными поставщика федерации (MEX). Если нет, Microsoft Entra ID возвращает, что пользователь находится под управлением, указывая, что пользователь проходит аутентификацию с помощью Microsoft Entra ID. |
D | Если пользователь является частью федерации, подключаемый модуль CloudAP запрашивает у поставщика федерации токен SAML с использованием учетных данных пользователя. Nonce запрашивается перед отправкой токена SAML в Microsoft Entra ID. Если пользователь управляется, CloudAP будет напрямую получать значение nonce из Microsoft Entra ID. |
Е | Подключаемый модуль CloudAP создает запрос проверки подлинности с учетными данными пользователя, nonce и существующим PRT, подписывает запрос ключом сеанса и отправляет его в Microsoft Entra ID. В федеративной среде подключаемый модуль CloudAP использует токен SAML, который возвращает провайдер федерации, вместо учетных данных пользователя. |
F | Идентификатор Microsoft Entra проверяет подпись ключа сеанса, сравнивая его с ключом сеанса, внедренным в PRT, проверяет несоответствие и проверяет, является ли устройство действительным в клиенте и выдает новый PRT. Как видно ранее, PRT снова сопровождается сеансовым ключом, зашифрованным Ключом транспорта (tkpub). |
G | Подключаемый модуль CloudAP передает зашифрованный маркер PRT и сеансовый ключ в CloudAP. CloudAP запрашивает TPM расшифровать ключ сеанса с помощью ключа транспорта (tkpriv) и заново зашифровать его, используя ключ самого TPM. CloudAP сохраняет зашифрованный сеансовый ключ в своем локальном кэше вместе с PRT. |
Примечание.
PRT можно обновлять извне при отсутствии VPN-подключения, когда конечные точки usernamemixed включены извне.
Использование PRT при запросах токена приложения
Этап | Описание |
---|---|
А | Приложение, например Microsoft Outlook, инициирует запрос токена в систему WAM. WAM, в свою очередь, обращается к подключаемому модулю Microsoft Entra WAM для обработки запроса токена. |
Б | Если токен обновления для приложения уже доступен, плагин Microsoft Entra WAM использует его для запроса токена доступа. Чтобы обеспечить подтверждение привязки устройства, подключаемый модуль WAM подписывает запрос с помощью сеансового ключа. Идентификатор Microsoft Entra проверяет ключ сеанса и выдает зашифрованные ключом сеанса токен доступа и новый токен обновления для приложения. Подключаемый модуль WAM запрашивает подключаемый модуль CloudAP для расшифровки токенов, который, в свою очередь, запрашивает TPM для расшифровки с использованием сеансового ключа, в результате чего подключаемый модуль WAM получает оба токена. Затем подключаемый модуль WAM предоставляет только маркер доступа к приложению, в то время как он повторно расшифровывает маркер обновления с помощью DPAPI и сохраняет его в собственном кэше. |
C | Если токен обновления для приложения недоступен, подключаемый модуль Microsoft Entra WAM использует PRT для запроса токена доступа. Чтобы подтвердить обладание, подключаемый модуль WAM подписывает запрос, содержащий маркер PRT, сеансовым ключом. Идентификатор Microsoft Entra проверяет подпись ключа сеанса, сравнивая её с ключом сеанса, встроенным в PRT, проверяет, является ли устройство действительным, и выдает токен доступа и токен обновления для приложения. Кроме того, Microsoft Entra ID может выдавать новый PRT (на основе цикла обновления), и все они зашифрованы ключом сеанса. |
D | Плагин WAM запрашивает плагин CloudAP для расшифровки токенов, который, в свою очередь, запрашивает TPM для расшифровки с помощью сеансового ключа, в результате чего плагин WAM получает оба токена. Затем плагин WAM предоставляет приложению только маркер доступа, а чтобы повторно зашифровать маркер обновления, он использует DPAPI и сохраняет его в своем собственном кэше. Подключаемый модуль WAM будет использовать маркер обновления в дальнейшем для этого приложения. Подключаемый модуль WAM также возвращает новый PRT в подключаемый модуль CloudAP, который проверяет PRT в Microsoft Entra ID, прежде чем обновлять его в собственном кэше. Подключаемый модуль CloudAP будет использовать новый PRT в дальнейшем. |
E | WAM предоставляет вновь выданный маркер доступа для WAM, который, в свою очередь, предоставляет его обратно вызывающему приложению. |
Единый вход в браузер с помощью маркера PRT
Этап | Описание |
---|---|
а | Пользователь входит в систему Windows, используя свои учетные данные для получения PRT. Когда пользователь открывает браузер, он (или расширение) загружает URL-адреса из реестра. |
Б | Когда пользователь открывает URL-адрес для входа в Microsoft Entra, браузер или расширение проверяет URL-адрес с URL-адресами, полученными из реестра. Если они совпадают, браузер вызывает хост нативного клиента для получения токена. |
C | Узел собственного клиента проверяет, принадлежат ли URL-адреса поставщикам удостоверений Майкрософт (учетная запись Майкрософт или Microsoft Entra ID), извлекает nonce из URL-адреса и вызывает подключаемый модуль CloudAP для получения куки-файла PRT. |
D | Подключаемый модуль CloudAP создает файл cookie PRT, использует ключ сеанса, привязанный к TPM, для входа и отправляет его обратно на основной хост клиента. |
E | Хост клиента возвращает этот файл cookie PRT в браузер, который содержит его в заголовке запроса x-ms-RefreshTokenCredential и запрашивает токены у Microsoft Entra ID. |
F | Идентификатор Microsoft Entra проверяет подпись ключа сеанса в файле cookie PRT, проверяет одноразовый идентификатор, удостоверяется, что устройство является допустимым в арендаторе, и выдает токен идентификатора для веб-страницы, а также зашифрованный файл cookie сеанса для браузера. |
Примечание.
Поток единого входа в браузере, описанный в предыдущих шагах, не применяется для сеансов в частных режимах, таких как InPrivate в Microsoft Edge, Incognito в Google Chrome (при использовании расширения учетных записей Microsoft) или в частном режиме в Mozilla Firefox v91+.
Следующие шаги
Дополнительные сведения об устранении неполадок, связанных с PRT, см. в статье по устранению неполадок, связанных с гибридным присоединением Microsoft Entra к Windows 10 или более новым устройствам и устройствам Windows Server 2016.