Vad är en primär uppdateringstoken?

En primär uppdateringstoken (PRT) är en viktig artefakt för Azure AD-autentisering på Windows 10-, Windows Server 2016- och senare versioner, iOS- och Android-enheter. Det är en JSON Web Token (JWT) som utfärdats särskilt till Microsofts a brokers för token från första part för att aktivera enkel inloggning (SSO) i alla program som används på dessa enheter. I den här artikeln ger vi information om hur en PRT utfärdas, används och skyddas på Windows 10 enheter.

Den här artikeln förutsätter att du redan förstår de olika enhets tillstånd som är tillgängliga i Azure AD och hur enkel inloggning fungerar i Windows 10. Mer information om enheter i Azure AD finns i artikeln Vad är enhetshantering i Azure Active Directory?

Viktig terminologi och komponenter

Följande komponenter Windows en viktig roll när det gäller att begära och använda en PRT:

  • Cloud Authentication Provider (CloudAP): CloudAP är den moderna autentiseringsprovidern för Windows inloggning, som verifierar användare som loggar in på en Windows 10 enhet. CloudAP tillhandahåller ett plugin-ramverk som identitetsproviders kan bygga vidare på för att Windows med identitetsproviderns autentiseringsuppgifter.
  • Webbkontohanterare (WAM): WAM är standardtokenutjämning på Windows 10 enheter. WAM tillhandahåller också ett plugin-ramverk som identitetsproviders kan bygga på och aktivera enkel inloggning för sina program som förlitar sig på den identitetsprovidern. (Ingår inte i Windows Server 2016 LTSC-byggen)
  • Plugin-program för Azure AD CloudAP:Ett Azure AD-specifikt plugin-program som bygger på CloudAP-ramverket och som verifierar användarautentiseringsuppgifter med Azure AD under Windows inloggning.
  • Plugin-program för Azure AD WAM:Ett Azure AD-specifikt plugin-program som bygger på WAM-ramverket och som möjliggör enkel inloggning för program som förlitar sig på Azure AD för autentisering.
  • Dsreg:En Azure AD-specifik komponent Windows 10, som hanterar enhetsregistreringsprocessen för alla enhets tillstånd.
  • Trusted Platform Module (TPM): En TPM är en maskinvarukomponent som är inbyggd i en enhet och som tillhandahåller maskinvarubaserade säkerhetsfunktioner för användar- och enhetshemligheter. Mer information finns i artikeln Trusted Platform Module Technology Overview.

Vad innehåller PRT?

En PRT innehåller anspråk som vanligtvis finns i alla Azure AD-uppdateringstoken. Dessutom ingår vissa enhetsspecifika anspråk i PRT. Det här är skillnaderna:

  • Enhets-ID:En PRT utfärdas till en användare på en specifik enhet. Enhets-ID-anspråket deviceID avgör vilken enhet PRT utfärdades till användaren på. Det här anspråket utfärdas senare till token som hämtas via PRT. Anspråket för enhets-ID används för att fastställa auktorisering för villkorlig åtkomst baserat på enhetens tillstånd eller efterlevnad.
  • Sessionsnyckel:Sessionsnyckeln är en krypterad symmetrisk nyckel som genereras av Azure AD-autentiseringstjänsten och utfärdas som en del av PRT. Sessionsnyckeln fungerar som innehavarbevis när en PRT används för att hämta token för andra program.

Kan jag se vad som finns i en PRT?

En PRT är en täckande blob som skickas från Azure AD vars innehåll inte är känt för några klientkomponenter. Du kan inte se vad som finns i en PRT.

Hur utfärdas en PRT?

Enhetsregistrering är en förutsättning för enhetsbaserad autentisering i Azure AD. En PRT utfärdas endast till användare på registrerade enheter. Mer detaljerad information om enhetsregistrering finns i artikeln om Windows Hello för företag och enhetsregistrering. Under enhetsregistreringen genererar dsreg-komponenten två uppsättningar kryptografiska nyckelpar:

  • Enhetsnyckel (dkpub/dkpriv)
  • Transportnyckel (tkpub/tkpriv)

De privata nycklarna är bundna till enhetens TPM om enheten har en giltig och fungerande TPM, medan de offentliga nycklarna skickas till Azure AD under enhetsregistreringsprocessen. Dessa nycklar används för att verifiera enhetens tillstånd under PRT-begäranden.

PRT utfärdas under användarautentisering på en Windows 10 enhet i två scenarier:

  • Azure AD-ansluteneller Hybrid Azure AD-ansluten:En PRT utfärdas vid Windows inloggning när en användare loggar in med sina autentiseringsuppgifter för organisationen. En PRT utfärdas med alla Windows 10 autentiseringsuppgifter som stöds, till exempel lösenord och Windows Hello för företag. I det här scenariot är Plugin-programmet Azure AD CloudAP den primära auktoriteten för PRT.
  • Azure AD-registrerad enhet:En PRT utfärdas när en användare lägger till ett sekundärt arbetskonto till Windows 10 enhet. Användare kan lägga till ett konto Windows 10 på två olika sätt –
    • Lägga till ett konto via prompten Tillåt min organisation att hantera min enhet efter inloggning i en app (till exempel Outlook)
    • Lägga till ett konto från Inställningar åtkomsttillarbets- ellerAnslut

I scenarier med Azure AD-registrerade enheter är Plugin-programmet Azure AD WAM den primära auktoriteten för PRT eftersom Windows inloggning inte sker med det här Azure AD-kontot.

Anteckning

Tredjeparts-identitetsproviders måste ha stöd för WS-Trust för att aktivera PRT-utfärdande på Windows 10 enheter. Utan WS-Trust kan PRT inte utfärdas till användare på Hybrid Azure AD-anslutna eller Azure AD-anslutna enheter. På ADFS krävs endast användarnamnmixade slutpunkter. Både adfs/services/trust/2005/windowstransport och adfs/services/trust/13/windowstransport ska endast aktiveras som intranätriktade slutpunkter och får INTE exponeras som extranätsriktade slutpunkter via Programproxy

Anteckning

Principer för villkorsstyrd åtkomst i Azure AD utvärderas inte när PRT utfärdas

Vad är livslängden för en PRT?

När en PRT har utfärdats är den giltig i 14 dagar och förnyas kontinuerligt så länge användaren aktivt använder enheten.

Hur används en PRT?

En PRT används av två viktiga komponenter i Windows:

  • Plugin-programmet Azure AD CloudAP:Under Windows inloggning begär Plugin-programmet Azure AD CloudAP en PRT från Azure AD med de autentiseringsuppgifter som anges av användaren. Den cachelagrar även PRT för att aktivera cachelagrad inloggning när användaren inte har åtkomst till en Internetanslutning.
  • Azure AD WAM-pluginprogram:När användare försöker komma åt program använder Azure AD WAM-pluginprogrammet PRT för att aktivera enkel inloggning Windows 10. Azure AD WAM-plugin-programmet använder PRT för att begära uppdaterings- och åtkomsttoken för program som förlitar sig på WAM för tokenbegäranden. Det aktiverar även enkel inloggning i webbläsare genom att infoga PRT i webbläsarbegäranden. Enkel inloggning i webbläsare i Windows 10 stöds på Microsoft Edge (inbyggt), Chrome (via Windows 10-konton eller Office Online-tillägg) eller Mozilla Firefox v91+ (Firefox Windows SSO-inställning)

Hur förnyas prt?

Prt förnyas på två olika sätt:

  • Plugin-programmet Azure AD CloudAP var fjärdetimme: CloudAP-plugin-programmet förnyar PRT var fjärde timme Windows inloggningen. Om användaren inte har någon Internetanslutning under den tiden förnyar CloudAP-plugin-programmet PRT när enheten är ansluten till Internet.
  • Azure AD WAM-plugin-programunder begäranden om apptoken: WAM-plugin-programmet aktiverar enkel inloggning på Windows 10-enheter genom att aktivera tyst tokenbegäranden för program. WAM-plugin-programmet kan förnya PRT under dessa tokenbegäranden på två olika sätt:
    • En app begär WAM för en åtkomsttoken tyst, men det finns ingen tillgänglig uppdateringstoken för den appen. I det här fallet använder WAM PRT för att begära en token för appen och får tillbaka en ny PRT i svaret.
    • En app begär WAM för en åtkomsttoken men PRT är ogiltig eller så kräver Azure AD ytterligare auktorisering (till exempel Azure AD Multi-Factor Authentication). I det här scenariot initierar WAM en interaktiv inloggning som kräver att användaren autentiserar igen eller tillhandahåller ytterligare verifiering och en ny PRT utfärdas vid lyckad autentisering.

I en ADFS-miljö behöver du inte ha direkt syn på domänkontrollanten för att förnya PRT. PRT-förnyelse kräver endast /adfs/services/trust/2005/usernamemixed och /adfs/services/trust/13/usernamemixed endpoints som aktiveras på proxyn med hjälp av WS-Trust-protokollet.

Windows transportslutpunkter krävs endast för lösenordsautentisering när ett lösenord ändras, inte för PRT-förnyelse.

Anteckning

Principer för villkorsstyrd åtkomst i Azure AD utvärderas inte när PRT förnyas.

Viktiga överväganden

  • En PRT utfärdas och förnyas endast under intern appautentisering. Prt förnyas inte eller utfärdas inte under en webbläsarsession.
  • I Azure AD-anslutna och Hybrid Azure AD-anslutna enheter är CloudAP-plugin-programmet den primära auktoriteten för en PRT. Om en PRT förnyas under en WAM-baserad tokenbegäran skickas PRT tillbaka till CloudAP-plugin-programmet, som verifierar giltigheten för PRT med Azure AD innan den godkänns.

Hur skyddas PRT?

En PRT skyddas genom att den bindas till den enhet som användaren har loggat in på. Azure AD och Windows 10 aktivera PRT-skydd med följande metoder:

  • Vid den första inloggningen:Under den första inloggningen utfärdas en PRT genom signeringsbegäranden med enhetsnyckeln som genereras kryptografiskt under enhetsregistreringen. På en enhet med en giltig och fungerande TPM skyddas enhetsnyckeln av TPM som förhindrar skadlig åtkomst. Prt utfärdas inte om motsvarande enhetsnyckelsignatur inte kan verifieras.
  • Under tokenbegäranden och förnyelse:När en PRT utfärdas utfärdar Azure AD även en krypterad sessionsnyckel till enheten. Den krypteras med den offentliga transportnyckeln (tkpub) som genereras och skickas till Azure AD som en del av enhetsregistreringen. Den här sessionsnyckeln kan bara dekrypteras av den privata transportnyckeln (tkpriv) som skyddas av TPM. Sessionsnyckeln är POP-nyckeln (Proof-of-Possession) för begäranden som skickas till Azure AD. Sessionsnyckeln skyddas också av TPM och ingen annan os-komponent kan komma åt den. Tokenbegäranden eller PRT-förnyelsebegäranden signeras säkert av den här sessionsnyckeln via TPM och kan därför inte manipuleras. Azure AD ogiltigförklarar alla begäranden från enheten som inte har signerats av motsvarande sessionsnyckel.

Genom att skydda dessa nycklar med TPM förbättrar vi säkerheten för PRT från illvilliga aktörer som försöker stjäla nycklarna eller spela upp PRT igen. Därför förbättrar användningen av TPM säkerheten för Azure AD-anslutna, Hybrid Azure AD-anslutna och Azure AD-registrerade enheter mot stöld av autentiseringsuppgifter. För prestanda och tillförlitlighet är TPM 2.0 den rekommenderade versionen för alla azure AD-enhetsregistreringsscenarier på Windows 10. Från Windows 10 uppdatering 1903 använder Azure AD inte TPM 1.2 för någon av nycklarna ovan på grund av tillförlitlighetsproblem.

Hur skyddas apptoken och webbläsarcookies?

Apptoken:När en app begär token via WAM utfärdar Azure AD en uppdateringstoken och en åtkomsttoken. WAM returnerar dock endast åtkomsttoken till appen och skyddar uppdateringstoken i cacheminnet genom att kryptera den med användarens DPAPI-nyckel (data protection application programming interface). WAM använder uppdateringstoken på ett säkert sätt genom att signera begäranden med sessionsnyckeln för att utfärda ytterligare åtkomsttoken. DPAPI-nyckeln skyddas av en Azure AD-baserad symmetrisk nyckel i själva Azure AD. När enheten behöver dekryptera användarprofilen med DPAPI-nyckeln tillhandahåller Azure AD DPAPI-nyckeln krypterad av sessionsnyckeln, som CloudAP-plugin-programmet begär att TPM ska dekryptera. Den här funktionen säkerställer konsekvens vid skydd av uppdateringstoken och förhindrar att program implementerar sina egna skyddsmekanismer.

Webbläsarcookies:I Windows 10 stöder Azure AD webbläsar-SSO i Internet Explorer och Microsoft Edge inbyggt, i Google Chrome via Windows 10-kontotillägget och i Mozilla Firefox v91+ via en webbläsarinställning. Säkerheten är inte bara skapad för att skydda cookies utan även de slutpunkter som cookies skickas till. Webbläsarcookies skyddas på samma sätt som en PRT är genom att använda sessionsnyckeln för att signera och skydda cookies.

När en användare initierar en webbläsarinteraktion anropar webbläsaren (eller tillägget) en com-intern klientvärd. Den interna klientvärden säkerställer att sidan kommer från en av de tillåtna domänerna. Webbläsaren kan skicka andra parametrar till den interna klientvärden, inklusive en nonce, men den interna klientvärden garanterar validering av värdnamnet. Den interna klientvärden begär en PRT-cookie från CloudAP-plugin-programmet, som skapar och signerar den med den TPM-skyddade sessionsnyckeln. Eftersom PRT-cookien signeras av sessionsnyckeln är det mycket svårt att manipulera. Denna PRT-cookie ingår i begärandehuvudet för Azure AD för att verifiera den enhet som den kommer från. Om du använder Chrome-webbläsaren kan endast tillägget som uttryckligen definieras i den interna klientvärdens manifest anropa det, vilket förhindrar att godtyckliga tillägg gör dessa begäranden. När Azure AD verifierar PRT-cookien utfärdar den en sessionscookie till webbläsaren. Sessionscookie innehåller också samma sessionsnyckel som utfärdats med en PRT. Vid efterföljande begäranden verifieras sessionsnyckeln effektivt och binder cookien till enheten och förhindrar återuppspelningar från andra platser.

När får en PRT ett MFA-anspråk?

En PRT kan få ett MFA-anspråk (multifaktorautentisering) i specifika scenarier. När en MFA-baserad PRT används för att begära token för program överförs MFA-anspråket till dessa apptoken. Den här funktionen ger en sömlös upplevelse för användare genom att förhindra MFA-utmaning för varje app som kräver det. En PRT kan hämta ett MFA-anspråk på följande sätt:

  • Logga in med Windows Hello for Business:Windows Hello for Business ersätter lösenord och använder kryptografiska nycklar för att tillhandahålla stark tvåfaktorsautentisering. Windows Hello för företag är specifik för en användare på en enhet och kräver att MFA etableras. När en användare loggar in Windows Hello för företag får användarens PRT ett MFA-anspråk. Det här scenariot gäller även för användare som loggar in med smartkort om smartkortautentisering genererar ett MFA-anspråk från ADFS.
    • Eftersom Windows Hello för företag betraktas som multifaktorautentisering uppdateras MFA-anspråket när själva PRT uppdateras, så MFA-varaktigheten utökas kontinuerligt när användare loggar in med Windows Hello for Business.
  • MFA vid interaktiv WAM-inloggning:Om en användare måste göra MFA för att få åtkomst till appen under en tokenbegäran via WAM, så skrivs den PRT som förnyas under den här interaktionen ut med ett MFA-anspråk.
    • I det här fallet uppdateras inte MFA-anspråket kontinuerligt, så MFA-varaktigheten baseras på den livslängd som angetts för katalogen.
    • När en tidigare befintlig PRT och RT används för åtkomst till en app betraktas PRT och RT som det första autentiseringsbeviset. En ny AT krävs med ett andra bevis och ett tryckt MFA-anspråk. Detta kommer också att utfärda en ny PRT och RT.

Windows 10 en partitionerad lista över PRT:er för varje autentiseringsuppgifter. Därför finns det en PRT för varje Windows Hello för företag, lösenord eller smartkort. Den här partitionering säkerställer att MFA-anspråk isoleras baserat på de autentiseringsuppgifter som används och inte blandas ihop under tokenbegäranden.

Hur ogiltigförklaras en PRT?

En PRT ogiltigförklaras i följande scenarier:

  • Ogiltig användare:Om en användare tas bort eller inaktiveras i Azure AD ogiltigförklaras deras PRT och kan inte användas för att hämta token för program. Om en borttagna eller inaktiverad användare redan har loggat in på en enhet tidigare, loggar cachelagrad inloggning in dem tills CloudAP är medveten om deras ogiltiga tillstånd. När CloudAP avgör att användaren är ogiltig blockeras efterföljande inloggningar. En ogiltig användare blockeras automatiskt från att logga in på nya enheter som inte har sina autentiseringsuppgifter cachelagrade.
  • Ogiltig enhet:Om en enhet tas bort eller inaktiveras i Azure AD ogiltigförklaras den PRT som hämtas på enheten och kan inte användas för att hämta token för andra program. Om en användare redan är inloggad på en ogiltig enhet kan de fortsätta att göra det. Men alla token på enheten är ogiltiga och användaren har ingen enkel inloggning till några resurser från enheten.
  • Lösenordsändring:När en användare ändrar sitt lösenord ogiltigförklaras den PRT som erhölls med det tidigare lösenordet av Azure AD. Lösenordsändring resulterar i att användaren får en ny PRT. Den här ogiltighetsförklaringen kan inträffa på två olika sätt:
    • Om användaren loggar in på Windows med sitt nya lösenord ignorerar CloudAP den gamla PRT:en och begär att Azure AD utfärdar en ny PRT med sitt nya lösenord. Om användaren inte har någon Internetanslutning kan det nya lösenordet inte verifieras, Windows kan kräva att användaren anger sitt gamla lösenord.
    • Om en användare har loggat in med sitt gamla lösenord eller ändrat sitt lösenord efter att ha loggat in på Windows, används den gamla PRT för alla WAM-baserade tokenbegäranden. I det här scenariot uppmanas användaren att återauktorera under WAM-tokenbegäran och en ny PRT utfärdas.
  • TPM-problem:Ibland kan en enhets TPM växla eller misslyckas, vilket leder till att nycklar som skyddas av TPM inte kan kommas åt. I det här fallet kan enheten inte hämta en PRT eller begära token med hjälp av en befintlig PRT eftersom den inte kan bevisa innehavet av de kryptografiska nycklarna. Därför ogiltigförklaras alla befintliga PRT av Azure AD. När Windows 10 identifierar ett fel initierar det ett återställningsflöde för att omregistrera enheten med nya kryptografiska nycklar. Med Hybrid Azure Ad Join, precis som den första registreringen, sker återställningen tyst utan användarindata. För Azure AD-anslutna eller Azure AD-registrerade enheter måste återställningen utföras av en användare som har administratörsbehörighet på enheten. I det här scenariot initieras återställningsflödet av en Windows som hjälper användaren att återställa enheten.

Detaljerade flöden

Följande diagram illustrerar den underliggande informationen vid utfärdande, förnyelse och användning av en PRT för att begära en åtkomsttoken för ett program. Dessutom beskriver de här stegen även hur ovan nämnda säkerhetsmekanismer tillämpas under dessa interaktioner.

PRT-utfärdande under första inloggningen

PRT issuance during first sign in detailed flow

Anteckning

I Azure AD-anslutna enheter sker utfärdande av Azure AD PRT (steg A-F) synkront innan användaren kan logga in på Windows. I Azure AD-anslutna hybridenheter är lokal Active Directory den primära auktoriteten. Användaren kan därför logga in hybrid-Azure AD-ansluten Windows när de kan hämta en TGT för att logga in, medan PRT-utfärdande sker asynkront. Det här scenariot gäller inte för Azure AD-registrerade enheter eftersom inloggningen inte använder Azure AD-autentiseringsuppgifter.

Steg Beskrivning
A Användaren anger sitt lösenord i inloggningsgränssnittet. Inloggnings-UI skickar autentiseringsuppgifterna i en autentiseringsbuffert till LSA, som i sin tur skickar den internt till CloudAP. CloudAP vidarebefordrar denna begäran till Plugin-programmet CloudAP.
B CloudAP-plugin-programmet initierar en begäran om sfäridentifiering för att identifiera identitetsprovidern för användaren. Om användarens klientorganisation har en federationsproviderkonfiguration returnerar Azure AD federationsproviderns MEX-slutpunkt (Metadata Exchange). Annars returnerar Azure AD att användaren hanteras och anger att användaren kan autentiseras med Azure AD.
C Om användaren hanteras får CloudAP nonce från Azure AD. Om användaren är federerad begär CloudAP-plugin-programmet en SAML-token från federationsprovidern med användarens autentiseringsuppgifter. När SAML-token har mottagits begär den en nonce från Azure AD.
D CloudAP-plugin-programmet skapar autentiseringsbegäran med användarens autentiseringsuppgifter, nonce och ett koordinatoromfång, signerar begäran med enhetsnyckeln (dkpriv) och skickar den till Azure AD. I en federerad miljö använder CloudAP-plugin-programmet SAML-token som returnerades av federationsprovidern i stället för användarens autentiseringsuppgifter.
E Azure AD verifierar autentiseringsuppgifterna, nonce och enhetssignaturen, verifierar att enheten är giltig i klientorganisationen och utfärdar den krypterade PRT:en. Tillsammans med PRT utfärdar Azure AD även en symmetrisk nyckel som kallas sessionsnyckeln som krypteras av Azure AD med hjälp av transportnyckeln (tkpub). Dessutom är sessionsnyckeln också inbäddad i PRT. Den här sessionsnyckeln fungerar som PoP-nyckel (Proof-of-possession) för efterföljande begäranden med PRT.
F CloudAP-plugin-programmet skickar krypterad PRT och sessionsnyckel till CloudAP. CloudAP begär att TPM dekrypterar sessionsnyckeln med hjälp av transportnyckeln (tkpriv) och krypterar den igen med hjälp av TPM:s egen nyckel. CloudAP lagrar den krypterade sessionsnyckeln i cacheminnet tillsammans med PRT.

PRT-förnyelse vid efterföljande inloggningar

PRT renewal in subsequent logons

Steg Beskrivning
A Användaren anger sitt lösenord i inloggningsgränssnittet. Inloggnings-UI skickar autentiseringsuppgifterna i en autentiseringsbuffert till LSA, som i sin tur skickar den internt till CloudAP. CloudAP vidarebefordrar denna begäran till Plugin-programmet CloudAP.
B Om användaren tidigare har loggat in på användaren Windows cachelagrad inloggning och verifierar autentiseringsuppgifterna för att logga in användaren. Var 4:e timme initierar CloudAP-plugin-programmet PRT-förnyelse asynkront.
C CloudAP-plugin-programmet initierar en begäran om sfäridentifiering för att identifiera identitetsprovidern för användaren. Om användarens klientorganisation har en federationsproviderkonfiguration returnerar Azure AD federationsproviderns MEX-slutpunkt (Metadata Exchange). Annars returnerar Azure AD att användaren hanteras och anger att användaren kan autentiseras med Azure AD.
D Om användaren är federerad begär CloudAP-plugin-programmet en SAML-token från federationsprovidern med användarens autentiseringsuppgifter. När SAML-token har mottagits begär den en nonce från Azure AD. Om användaren hanteras får CloudAP direkt nonce från Azure AD.
E CloudAP-plugin-programmet skapar autentiseringsbegäran med användarens autentiseringsuppgifter, nonce och befintlig PRT, signerar begäran med sessionsnyckeln och skickar den till Azure AD. I en federerad miljö använder CloudAP-plugin-programmet SAML-token som returnerades av federationsprovidern i stället för användarens autentiseringsuppgifter.
F Azure AD verifierar signaturen för sessionsnyckeln genom att jämföra den med sessionsnyckeln som är inbäddad i PRT, verifierar nonce och verifierar att enheten är giltig i klientorganisationen och utfärdar en ny PRT. Som tidigare sett åtföljs PRT återigen av sessionsnyckeln som krypterats med transportnyckeln (tkpub).
G CloudAP-plugin-programmet skickar krypterad PRT och sessionsnyckel till CloudAP. CloudAP begär att TPM dekrypterar sessionsnyckeln med hjälp av transportnyckeln (tkpriv) och krypterar den igen med hjälp av TPM:ns egen nyckel. CloudAP lagrar den krypterade sessionsnyckeln i cacheminnet tillsammans med PRT.

Anteckning

En PRT kan förnyas externt utan behov av en VPN-anslutning när slutpunkter med användarblandade användarnamn aktiveras externt.

PRT-användning under apptokenbegäranden

PRT usage during app token requests

Steg Beskrivning
A Ett program (till exempel Outlook, OneNote osv.) initierar en tokenbegäran till WAM. WAM ber i sin tur Azure AD WAM-plugin-programmet att hantera tokenbegäran.
B Om en Uppdateringstoken för programmet redan är tillgänglig använder Azure AD WAM-plugin-programmet den för att begära en åtkomsttoken. WaM-plugin-programmet signerar begäran med sessionsnyckeln för att kunna bevisa enhetsbindningen. Azure AD verifierar sessionsnyckeln och utfärdar en åtkomsttoken och en ny uppdateringstoken för appen, krypterade med sessionsnyckeln. WAM-plugin-programmet begär CloudAP-plugin-programmet för att dekryptera token, vilket i sin tur begär att TPM dekrypterar med sessionsnyckeln, vilket resulterar i att WAM-plugin-programmet hämtar båda token. Därefter tillhandahåller WAM-plugin-programmet endast åtkomsttoken till programmet, medan det krypterar om uppdateringstoken med DPAPI och lagrar den i sin egen cache
C Om en uppdateringstoken för programmet inte är tillgänglig använder Azure AD WAM-plugin-programmet PRT för att begära en åtkomsttoken. WaM-plugin-programmet signerar begäran som innehåller PRT med sessionsnyckeln för att tillhandahålla bevis på innehavet. Azure AD verifierar signaturen för sessionsnyckeln genom att jämföra den med sessionsnyckeln som är inbäddad i PRT, verifierar att enheten är giltig och utfärdar en åtkomsttoken och en uppdateringstoken för programmet. Dessutom kan Azure AD utfärda en ny PRT (baserat på uppdateringscykel), alla krypterade med sessionsnyckeln.
D WAM-plugin-programmet begär CloudAP-plugin-programmet för att dekryptera token, vilket i sin tur begär att TPM dekrypterar med sessionsnyckeln, vilket resulterar i att WAM-plugin-programmet hämtar båda token. Därefter tillhandahåller WAM-plugin-programmet endast åtkomsttoken till programmet, medan det krypterar om uppdateringstoken med DPAPI och lagrar den i sin egen cache. WAM-plugin-programmet använder uppdateringstoken framöver för det här programmet. WAM-plugin-programmet ger också tillbaka det nya PRT till CloudAP-plugin-programmet, som validerar PRT med Azure AD innan den uppdateras i sin egen cache. CloudAP-plugin-programmet använder den nya PRT:en framöver.
E WAM tillhandahåller den nyligen utfärdade åtkomsttoken till WAM, som i sin tur ger den tillbaka till det anropande programmet

Enkel inloggning i webbläsare med PRT

Browser SSO using PRT

Steg Beskrivning
A Användaren loggar in på Windows med sina autentiseringsuppgifter för att få en PRT. När användaren öppnar webbläsaren läser webbläsaren (eller tillägget) in URL:erna från registret.
B När en användare öppnar en Azure AD-inloggnings-URL verifierar webbläsaren eller tillägget URL:en med dem som hämtas från registret. Om de matchar anropar webbläsaren den interna klientvärden för att hämta en token.
C Den interna klientvärden verifierar att URL:erna tillhör Microsofts identitetsproviders (Microsoft-konto eller Azure AD), extraherar en nonce som skickas från URL:en och gör ett anrop till CloudAP-plugin-programmet för att hämta en PRT-cookie.
D CloudAP-plugin-programmet skapar PRT-cookien, loggar in med den TPM-bundna sessionsnyckeln och skickar tillbaka den till den interna klientvärden.
E Den interna klientvärden returnerar denna PRT-cookie till webbläsaren, som inkluderar den som en del av begärandehuvudet med namnet x-ms-RefreshTokenCredential och begärandetoken från Azure AD.
F Azure AD verifierar signaturen för sessionsnyckel på PRT-cookien, verifierar nonce, verifierar att enheten är giltig i klientorganisationen och utfärdar en ID-token för webbsidan och en krypterad sessionscookie för webbläsaren.

Anteckning

Flödet för enkel inloggning i webbläsare som beskrivs i stegen ovan gäller inte för sessioner i privata lägen som InPrivate i Microsoft Edge, Incognito i Google Chrome (när du använder Tillägget Microsoft-konton) eller i privat läge i Mozilla Firefox v91+

Nästa steg

Mer information om felsökning av PRT-relaterade problem finns i artikeln Troubleshooting hybrid Azure Active Directory joined Windows 10 and Windows Server 2016 devices.