Zrozumienie podstawowego tokenu odświeżania (PRT)
Podstawowy token odświeżania (PRT) to kluczowy element uwierzytelniania Entra firmy Microsoft w obsługiwanych wersjach systemów Windows, iOS i Android. W tym artykule wyjaśniono, jak PRT jest wydawane, używane i chronione na urządzeniach z systemem Windows 10 lub nowszym, co zwiększa bezpieczeństwo i umożliwia logowanie jednokrotne (SSO) w aplikacjach.
W tym artykule założono, że znasz już różne stany urządzeń dostępne w usłudze Microsoft Entra ID i sposób działania logowania jednokrotnego w systemie Windows. Aby uzyskać więcej informacji na temat urządzeń w identyfikatorze Entra firmy Microsoft, zobacz Co to jest zarządzanie urządzeniami w usłudze Microsoft Entra ID?.
Kluczowa terminologia i składniki
Następujące składniki systemu Windows odgrywają kluczową rolę w żądaniu i używaniu PRT:
- Dostawca uwierzytelniania w chmurze (CloudAP): CloudAP jest nowoczesnym dostawcą uwierzytelniania dla logowania systemu Windows, który weryfikuje użytkowników logujących się na urządzeniu z systemem Windows 10 lub nowszym. CloudAP udostępnia framework wtyczek, na której dostawcy tożsamości mogą bazować, aby umożliwić uwierzytelnianie w Windows przy użyciu poświadczeń dostawcy.
- Menedżer kont sieci Web (WAM): WAM jest domyślnym brokerem tokenów na urządzeniach z systemem Windows 10 lub nowszym. WAM udostępnia również strukturę wtyczek, na której dostawcy tożsamości mogą się opierać i umożliwić logowanie jednokrotne w aplikacjach, które polegają na tym dostawcy tożsamości.
- Wtyczka Microsoft Entra CloudAP: wtyczka specyficzna dla firmy Microsoft oparta na strukturze CloudAP, która weryfikuje poświadczenia użytkownika za pomocą identyfikatora Microsoft Entra ID podczas logowania systemu Windows.
- Wtyczka Microsoft Entra WAM: wtyczka specyficzna dla firmy Microsoft oparta na strukturze WAM, która umożliwia logowanie jednokrotne aplikacjom korzystającym z identyfikatora Entra firmy Microsoft na potrzeby uwierzytelniania.
- Dsreg: składnik specyficzny dla firmy Microsoft w systemie Windows 10 lub nowszym, który obsługuje proces rejestracji urządzenia dla wszystkich stanów urządzeń.
- Moduł TPM (Trusted Platform Module): moduł TPM jest składnikiem sprzętowym wbudowanym w urządzenie, który udostępnia funkcje zabezpieczeń sprzętowych dla tajnych informacji użytkowników i urządzeń. Więcej szczegółów można znaleźć w artykule Trusted Platform Module Technology Overview (Omówienie technologii trusted platform module).
Co zawiera PRT?
Token PRT zawiera oświadczenia spotykane w większości tokenów odświeżania Microsoft Entra ID. Ponadto w PRT znajdują się pewne oświadczenia specyficzne dla urządzenia. Są one następujące:
-
Identyfikator urządzenia: PRT jest wydawany użytkownikowi na określonym urządzeniu. Oświadczenie identyfikatora urządzenia
deviceID
określa urządzenie, na którym użytkownikowi wystawiono PRT. To oświadczenie jest później wystawiane na tokeny uzyskane przez PRT. Oświadczenie identyfikatora urządzenia służy do określania autoryzacji dostępu warunkowego na podstawie stanu lub zgodności urządzenia. - Klucz sesji: Klucz sesji jest zaszyfrowanym kluczem symetrycznym generowanym przez usługę uwierzytelniania Microsoft Entra, wystawianym jako część PRT (Primary Refresh Token). Klucz sesji działa jako dowód posiadania, gdy PRT jest używany do uzyskiwania tokenów dla innych aplikacji. Klucz sesji jest odnawiany w systemach Windows 10 lub nowszych, które są dołączone do Microsoft Entra lub hybrydowo dołączone do Microsoft Entra, jeśli jest starszy niż 30 dni.
Czy mogę zobaczyć, co znajduje się w PRT?
pl-PL: PRT to nieprzezroczysty pakiet danych wysyłany przez Microsoft Entra, którego zawartość nie jest znana żadnym składnikom klienta. Nie można zajrzeć do wnętrza PRT.
W jaki sposób wydawane jest PRT?
Rejestracja urządzenia jest wymaganiem wstępnym dla uwierzytelniania opartego na urządzeniach w usłudze Microsoft Entra ID. PRT jest wydawany użytkownikom tylko na zarejestrowanych urządzeniach. Aby uzyskać szczegółowe informacje na temat rejestracji urządzeń, zobacz artykuł Windows Hello dla firm i rejestracja urządzenia. Podczas rejestracji urządzenia składnik dsreg generuje dwa zestawy par kluczy kryptograficznych:
- Klucz urządzenia (dkpub/dkpriv)
- Klucz transportu (tkpub/tkpriv)
Klucze prywatne są powiązane z modułem TPM urządzenia, jeśli urządzenie ma prawidłowy i działający moduł TPM, podczas gdy klucze publiczne są wysyłane do identyfikatora Entra firmy Microsoft podczas procesu rejestracji urządzenia. Te klucze służą do weryfikowania stanu urządzenia podczas żądań PRT.
PRT jest wydawany podczas uwierzytelniania tożsamości użytkownika na urządzeniu z systemem Windows 10 lub nowszym w dwóch scenariuszach:
- Dołączone do Microsoft Entra lub Dołączone w trybie hybrydowym do Microsoft Entra: PRT jest wydawany podczas logowania do systemu Windows, gdy użytkownik używa poświadczeń organizacji. Token PRT jest wydawany wraz ze wszystkimi obsługiwanymi poświadczeniami systemu Windows 10 lub nowszymi, na przykład hasłem i Windows Hello dla Firm. W tym scenariuszu wtyczka Microsoft Entra CloudAP jest głównym autorytetem PRT.
-
Zarejestrowane urządzenie Microsoft Entra: PRT jest wydawany, gdy użytkownik dodaje drugie konto służbowe do swojego urządzenia z systemem Windows 10 lub nowszym. Użytkownicy mogą dodać konto do systemu Windows 10 lub nowszego na dwa różne sposoby —
- Dodawanie konta za pośrednictwem monitu Zezwalaj mojej organizacji na zarządzanie moim urządzeniem po zalogowaniu się do aplikacji (na przykład Outlook)
- Dodawanie konta z Ustawienia>Konta>Dostęp do pracy lub szkoły>Połącz
W scenariuszach zarejestrowanych urządzeń Microsoft Entra wtyczka Entra WAM jest głównym komponentem PRT, ponieważ logowanie w systemie Windows nie odbywa się z użyciem tego konta Microsoft Entra.
Uwaga
Dostawcy tożsamości innych niż Microsoft muszą obsługiwać protokół WS-Trust w celu włączenia wystawiania PRT na urządzeniach z systemem Windows 10 lub nowszym. Bez WS-Trust nie można wystawić PRT (głównego tokena odświeżania) użytkownikom na urządzeniach hybrydowych dołączonych do Microsoft Entra lub urządzeniach dołączonych do Microsoft Entra. W AD FS wymagane są tylko punkty końcowe typu usernamemixed. W usługach AD FS, jeśli smartcard/certificate
jest używany podczas logowania do systemu Windows, wymagane są punkty końcowe certificatemixed
.
adfs/services/trust/2005/windowstransport
i adfs/services/trust/13/windowstransport
powinny być włączone tylko jako punkty końcowe intranetu i nie mogą być wystawione na zewnątrz jako punkty końcowe za pośrednictwem serwera proxy aplikacji sieci Web.
Uwaga
Zasady dostępu warunkowego w Microsoft Entra nie są brane pod uwagę podczas wydawania PRT.
Uwaga
Nie obsługujemy dostawców poświadczeń innych niż Microsoft w celu wystawiania i odnawiania Microsoft Entra PRT.
Jaki jest okres istnienia prT?
Po wystawieniu, token PRT jest ważny przez 14 dni i jest automatycznie odnawiany, jeżeli użytkownik aktywnie korzysta z urządzenia.
W jaki sposób jest używany prT?
PrT jest używany przez dwa kluczowe składniki w systemie Windows:
- Wtyczka Microsoft Entra CloudAP: Podczas logowania systemu Windows wtyczka Microsoft Entra CloudAP żąda PRT od Microsoft Entra ID przy użyciu poświadczeń dostarczonych przez użytkownika. Buforuje również PRT, aby umożliwić logowanie bez dostępu do internetu, gdy użytkownik nie ma połączenia z siecią.
-
Wtyczka Microsoft Entra WAM: Wtyczka Microsoft Entra WAM używa PRT do włączenia logowania jednokrotnego (SSO) w systemie Windows 10 lub nowszym, gdy użytkownicy próbują uzyskać dostęp do aplikacji. Wtyczka Microsoft Entra WAM używa PRT do żądania tokenów odświeżania i dostępu dla aplikacji korzystających z WAM. Umożliwia również SSO w przeglądarkach przez umieszczenie PRT w żądaniach przeglądarki. Logowanie jednokrotne przeglądarki w systemie Windows 10 lub nowszym jest obsługiwane w przeglądarce Microsoft Edge (natywnie), Chrome (za pośrednictwem Konta systemu Windows 10) lub Mozilla Firefox w wersji 91+ (ustawienie logowania jednokrotnego systemu Windows w Firefox).
Uwaga
W przypadkach, gdy użytkownik ma dwa konta z tej samej dzierżawy Microsoft Entra zalogowane do aplikacji przeglądarkowej, uwierzytelnianie urządzenia zapewnione przez PRT konta podstawowego jest automatycznie stosowane również do drugiego konta. W rezultacie także drugie konto spełnia wszystkie zasady warunkowego dostępu oparte na urządzeniach w dzierżawie.
Jak odnawia się PRT?
Odnowienie PRT odbywa się na dwa różne sposoby:
- Wtyczka Microsoft Entra CloudAP co 4 godziny: Wtyczka CloudAP odnawia PRT co 4 godziny podczas logowania do systemu Windows. Jeśli użytkownik nie ma w tym czasie połączenia z Internetem, wtyczka CloudAP odnowi żądanie PRT po nawiązaniu połączenia z Internetem urządzenia i zostanie wykonane nowe logowanie systemu Windows.
-
Wtyczka Microsoft Entra WAM podczas żądań tokenu aplikacji: Wtyczka WAM umożliwia logowanie jednokrotne na urządzeniach z systemem Windows 10 lub nowszym, umożliwiając ciche żądania tokenów dla aplikacji. Wtyczka WAM może odnowić token PRT podczas żądań tokenu na dwa różne sposoby:
- Aplikacja żąda tokenu WAM na uzyskanie dostępu bez wyświetlania okna dialogowego, ale nie ma dostępnego tokenu odświeżania dla tej aplikacji. W tym przypadku WAM używa PRT do zażądania tokenu dla aplikacji i otrzymuje nowe PRT w odpowiedzi.
- Aplikacja żąda od WAM tokenu dostępu, ale PRT jest nieprawidłowy lub usługa Microsoft Entra ID wymaga dodatkowej autoryzacji (na przykład uwierzytelniania wieloskładnikowego firmy Microsoft). W tym scenariuszu WAM inicjuje interakcyjne logowanie wymagające od użytkownika ponownego uwierzytelnienia lub dodatkowej weryfikacji, a nowy prT jest wystawiany po pomyślnym uwierzytelnieniu.
W środowisku AD FS bezpośrednia łączność z kontrolerem domeny nie jest wymagana do odnowienia PRT. Odnawianie PRT wymaga jedynie włączenia punktów końcowych /adfs/services/trust/2005/usernamemixed
i /adfs/services/trust/13/usernamemixed
na serwerze proxy przy użyciu protokołu WS-Trust.
Punkty końcowe transportu systemu Windows są wymagane do uwierzytelniania haseł tylko wtedy, gdy hasło zostanie zmienione, a nie w przypadku odnawiania prT.
Uwaga
Zasady dostępu warunkowego Microsoft Entra nie są oceniane podczas odnawiania PRT.
Najważniejsze zagadnienia
- W urządzeniach dołączonych do usługi Microsoft Entra oraz w hybrydowych urządzeniach dołączonych do Microsoft Entra, wtyczka CloudAP jest głównym organem dla PRT. Jeśli żądanie PRT jest odnawiane podczas żądania tokenu opartego na WAM, żądanie PRT jest wysyłane z powrotem do wtyczki CloudAP, która weryfikuje ważność prT za pomocą identyfikatora Entra firmy Microsoft przed zaakceptowaniem go.
Platforma systemu Android:
- PRT jest ważne przez 90 dni i jest stale odnawiane, o ile urządzenie jest w użyciu. Jest to jednak ważne tylko przez 14 dni, jeśli urządzenie nie jest używane.
- Token odświeżania klucza zasad (PRT) jest wydawany i odnawiany tylko podczas uwierzytelniania aplikacji natywnej. PRT nie jest odnawiany ani wystawiany podczas sesji przeglądarki.
- Istnieje możliwość uzyskania PRT bez konieczności rejestracji urządzenia (Workplace Join) i włączenia SSO.
- Uzyskane bez rejestracji urządzenia PRT (pierwotne tokeny odświeżania) nie mogą spełniać kryteriów autoryzacji dostępu warunkowego, które opierają się na stanie lub zgodności urządzenia.
Jak chroniony jest PRT?
PRT jest chronione poprzez przypisanie do urządzenia, do którego zalogował się użytkownik. Microsoft Entra ID i Windows 10 lub nowsze umożliwiają ochronę PRT za pomocą następujących metod:
- Podczas pierwszego logowania: podczas pierwszego logowania żądanie PRT jest wystawiane przez podpisywanie żądań przy użyciu klucza urządzenia wygenerowanego kryptograficznie podczas rejestracji urządzenia. Na urządzeniu z prawidłowym i działającym modułem TPM klucz urządzenia jest zabezpieczony przez moduł TPM uniemożliwiający złośliwy dostęp. Token odświeżania nie jest wydawany, jeśli nie można zweryfikować odpowiedniego podpisu klucza urządzenia.
- Podczas żądań tokenu i odnowienia: gdy wydawane jest PRT, Microsoft Entra ID także wydaje zaszyfrowany klucz sesji do urządzenia. Jest ona szyfrowana przy użyciu klucza transportu publicznego (tkpub) wygenerowanego i wysłanego do identyfikatora Entra firmy Microsoft w ramach rejestracji urządzenia. Ten klucz sesji można odszyfrować tylko za pomocą prywatnego klucza transportowego (tkpriv), zabezpieczonego przez moduł zabezpieczeń TPM. Klucz sesji to klucz dowodu posiadania (POP) dla wszystkich żądań wysyłanych do Microsoft Entra ID. Klucz sesji jest również chroniony przez moduł TPM i żaden inny składnik systemu operacyjnego nie może uzyskać do niego dostępu. Żądania tokenu lub żądania odnowienia PRT są bezpiecznie podpisane przez ten klucz sesji za pośrednictwem modułu TPM, dlatego nie można ich manipulować. Firma Microsoft Entra unieważnia wszystkie żądania z urządzenia, które nie są podpisane przez odpowiedni klucz sesji.
Zabezpieczając te klucze za pomocą modułu TPM, zwiększamy bezpieczeństwo prT ze strony złośliwych podmiotów próbujących ukraść klucze lub odtworzyć prT. W związku z tym użycie modułu TPM znacznie zwiększa bezpieczeństwo urządzeń połączonych, połączonych hybrydowo i zarejestrowanych w Microsoft Entra przed kradzieżą poświadczeń. W przypadku wydajności i niezawodności moduł TPM 2.0 jest zalecaną wersją dla wszystkich scenariuszy rejestracji urządzeń firmy Microsoft Entra w systemie Windows 10 lub nowszym. Po aktualizacji systemu Windows 10, 1903 identyfikator Entra firmy Microsoft nie używa modułu TPM 1.2 dla żadnego z powyższych kluczy z powodu problemów z niezawodnością.
Jak są chronione tokeny aplikacji i pliki cookie przeglądarki?
Tokeny aplikacyjne: Gdy aplikacja żąda tokenu za pośrednictwem WAM, Microsoft Entra ID wystawia token odświeżania oraz token dostępu. Jednak WAM zwraca token dostępu tylko do aplikacji i zabezpiecza token odświeżania w pamięci podręcznej, szyfrując go przy użyciu klucza interfejsu programowania aplikacji ochrony danych użytkownika (DPAPI). WAM bezpiecznie używa tokenu odświeżania, podpisując żądania przy użyciu klucza sesji w celu wydawania kolejnych tokenów dostępu. Klucz DPAPI jest zabezpieczony przez klucz symetryczny oparty na identyfikatorze Entra firmy Microsoft w samej usłudze Microsoft Entra. Gdy urządzenie musi odszyfrować profil użytkownika przy użyciu klucza DPAPI, identyfikator Entra firmy Microsoft udostępnia klucz DPAPI zaszyfrowany przez klucz sesji, który wtyczka CloudAP żąda modułu TPM do odszyfrowania. Ta funkcja zapewnia spójność w zabezpieczaniu tokenów odświeżania i unika aplikacji implementowania własnych mechanizmów ochrony.
Pliki cookie przeglądarki: w systemie Windows 10 lub nowszym, Microsoft Entra ID obsługuje jednokrotne logowanie się w przeglądarkach natywnie w programie Internet Explorer i Microsoft Edge, w Google Chrome za pośrednictwem rozszerzenia do obsługi kont systemu Windows 10 oraz w Mozilla Firefox v91+ za pośrednictwem ustawienia przeglądarki. Zabezpieczenia są tworzone nie tylko w celu ochrony plików cookie, ale także punktów końcowych, do których są wysyłane pliki cookie. Pliki cookie przeglądarki są chronione w taki sam sposób, jak PRT, używając klucza sesji do podpisywania i ochrony ciasteczek.
Gdy użytkownik rozpoczyna interakcję z przeglądarką, przeglądarka (lub rozszerzenie) wywołuje natywnego hosta klienta COM. Host klienta natywnego zapewnia, że strona pochodzi z jednej z dozwolonych domen. Przeglądarka może wysłać inne parametry do hosta klienta natywnego, w tym unikalny identyfikator, jednak host klienta natywnego gwarantuje walidację nazwy hosta. Host klienta natywnego żąda pliku COOKIE PRT z wtyczki CloudAP, która tworzy i podpisuje go przy użyciu klucza sesji chronionego przez moduł TPM. Ponieważ plik cookie PRT jest podpisany kluczem sesji, trudno nim manipulować. Ten plik cookie PRT jest zawarty w nagłówku żądania Microsoft Entra ID w celu zweryfikowania urządzenia, z którego pochodzi. W przypadku korzystania z przeglądarki Chrome tylko rozszerzenie jawnie zdefiniowane w manifeście hosta klienta natywnego może wywołać je, uniemożliwiając wykonywanie tych żądań przez dowolne rozszerzenia. Gdy Microsoft Entra ID weryfikuje plik cookie PRT, ustawia cookie sesji w przeglądarce. Ten plik cookie sesji zawiera również ten sam klucz sesji wystawiony z PRT. Podczas kolejnych żądań klucz sesji jest weryfikowany, skutecznie wiążąc plik cookie z urządzeniem i zapobiegając powtórkom z innego miejsca.
Kiedy PRT uzyskuje żądanie uwierzytelniania wieloskładnikowego?
PRT może otrzymać roszczenie uwierzytelniania wieloskładnikowego w określonych scenariuszach. Gdy PRT bazujący na MFA jest używany do żądania tokenów dla aplikacji, oświadczenie MFA jest przenoszone do tych tokenów aplikacji. Ta funkcja zapewnia użytkownikom bezproblemowe środowisko, zapobiegając konieczności użycia uwierzytelniania wieloskładnikowego dla każdej aplikacji, która tego wymaga. PRT może uzyskać roszczenie MFA w następujący sposób:
-
Zaloguj się przy użyciu Windows Hello dla firm: Windows Hello dla firm zastępuje hasła i używa kluczy kryptograficznych do zapewnienia silnego uwierzytelniania dwuskładnikowego. Windows Hello dla firm wymaga uwierzytelniania wieloskładnikowego do skonfigurowania i jest przypisany do konkretnego użytkownika na urządzeniu. Gdy użytkownik loguje się przy użyciu Windows Hello dla firm, PRT użytkownika otrzymuje potwierdzenie uwierzytelniania wieloskładnikowego. Ten scenariusz dotyczy również użytkowników logujących się za pomocą kart inteligentnych, jeśli uwierzytelnianie kartą inteligentną generuje żądanie uwierzytelnienia wieloskładnikowego w AD FS.
- Ponieważ Windows Hello dla Firm jest uznawane za uwierzytelnianie wieloskładnikowe, oświadczenie MFA jest aktualizowane po odświeżeniu samego PRT, więc okres ważności uwierzytelniania będzie się wydłużał przy każdym logowaniu użytkowników za pomocą Windows Hello dla Firm.
-
Uwierzytelnianie wieloskładnikowe podczas interaktywnego logowania WAM: Podczas żądania tokenu za pośrednictwem WAM, jeśli użytkownik musi wykonać uwierzytelnianie wieloskładnikowe, aby uzyskać dostęp do aplikacji, odnawiany podczas tej interakcji PRT zostaje oznaczony oświadczeniem MFA.
- W takim przypadku przypis uwierzytelniania wieloskładnikowego nie jest stale aktualizowany, więc czas trwania uwierzytelniania wieloskładnikowego jest oparty na czasie istnienia ustawionym w katalogu.
- Gdy poprzedni istniejący prT i RT są używane do uzyskiwania dostępu do aplikacji, prT i RT są uważane za pierwszy dowód uwierzytelniania. Nowy protokół RT jest wymagany przy użyciu drugiego dowodu i wydrukowanego oświadczenia uwierzytelniania wieloskładnikowego. Proces ten wydaje również nowe PRT i RT.
System Windows 10 lub nowszy obsługuje partycjonowaną listę głównych tokenów odświeżania (PRT) dla każdego danego uwierzytelniającego. Istnieje więc prT dla każdego z Windows Hello dla firm, hasła lub karty inteligentnej. Ten podział gwarantuje, że twierdzenia MFA są izolowane na podstawie użytych poświadczeń i nie są mieszane podczas żądań tokenów.
Uwaga
Jeśli używasz hasła do logowania się do Windows 10 lub nowszego urządzenia związanego z Microsoft Entra lub hybrydowo związanego z Microsoft Entra, uwierzytelnianie wieloskładnikowe podczas interaktywnego logowania się przez WAM może być wymagane po zaktualizowaniu klucza sesji związanego z żądaniem PRT.
W jaki sposób PRT jest unieważniane?
PRT jest unieważniany w następujących scenariuszach:
- Nieprawidłowy użytkownik: Jeśli użytkownik zostanie usunięty lub wyłączony w Microsoft Entra ID, jego PRT zostanie unieważniony i nie można go użyć do uzyskania tokenów dla aplikacji. Jeśli wcześniej usunięty lub wyłączony użytkownik zalogował się na urządzeniu, logowanie w pamięci podręcznej zostanie zarejestrowane, dopóki usługa CloudAP nie będzie wiedziała o nieprawidłowym stanie. Gdy usługa CloudAP ustali, że użytkownik jest nieprawidłowy, blokuje kolejne logowania. Nieprawidłowy użytkownik jest automatycznie blokowany przed logowaniem się do nowych urządzeń, które nie mają swoich poświadczeń w pamięci podręcznej.
- Nieprawidłowe urządzenie: jeśli urządzenie zostanie usunięte lub wyłączone w Microsoft Entra ID, PRT uzyskane na tym urządzeniu zostanie unieważnione i nie może być używane do uzyskiwania tokenów dla innych aplikacji. Jeśli użytkownik jest już zalogowany na nieprawidłowym urządzeniu, może to zrobić dalej. Jednak wszystkie tokeny na urządzeniu są unieważnione, a użytkownik nie ma możliwości jednokrotnego logowania (SSO) do żadnych zasobów z tego urządzenia.
-
Zmiana hasła: Jeśli użytkownik uzyskał PRT przy użyciu swojego hasła, PRT zostanie unieważniony przez Microsoft Entra ID, gdy użytkownik zmieni swoje hasło. Zmiana hasła powoduje, że użytkownik otrzymuje nowy prT. To unieważnienie może wystąpić na dwa różne sposoby:
- Jeśli użytkownik zaloguje się do systemu Windows przy użyciu nowego hasła, usługa CloudAP odrzuci stary PRT i zażąda od Microsoft Entra ID wystawienia nowego PRT z ich nowym hasłem. Jeśli użytkownik nie ma połączenia z Internetem, nie można zweryfikować nowego hasła, system Windows może wymagać od użytkownika wprowadzenia starego hasła.
- Jeśli użytkownik zalogował się, używając starego hasła lub zmienił swoje hasło po zalogowaniu się do systemu Windows, stary PRT jest używany do wszystkich żądań tokenów opartych na WAM. W tym scenariuszu użytkownik jest monitowany o ponowne uwierzytelnienie podczas żądania tokenu WAM i zostaje wystawiony nowy prT.
- Problemy z TPM: Czasami TPM urządzenia może napotykać problemy lub ulegać awarii, co prowadzi do niedostępności kluczy zabezpieczonych przez TPM. W tym przypadku urządzenie nie jest w stanie uzyskać PRT ani zażądać tokenów przy użyciu istniejącego PRT, ponieważ nie może udowodnić posiadania kluczy kryptograficznych. W wyniku wszystkie istniejące tokeny PRT są unieważniane przez Microsoft Entra ID. Gdy system Windows 10 wykryje błąd, inicjuje przepływ odzyskiwania w celu ponownego zarejestrowania urządzenia przy użyciu nowych kluczy kryptograficznych. W przypadku dołączenia hybrydowego Microsoft Entra, podobnie jak przy początkowej rejestracji, proces odzyskiwania odbywa się dyskretnie, bez angażowania użytkownika. W przypadku urządzeń dołączonych do firmy Microsoft Entra lub zarejestrowanych w usłudze Microsoft Entra odzyskiwanie musi zostać wykonane przez użytkownika, który ma uprawnienia administratora na urządzeniu. W tym scenariuszu przepływ odzyskiwania jest inicjowany przez monit systemu Windows, który prowadzi użytkownika do pomyślnego odzyskania urządzenia.
Szczegółowe przepływy
Na poniższych diagramach przedstawiono szczegółowe informacje dotyczące wystawiania, odnawiania i używania PRT do żądania tokenu dostępu dla aplikacji. Ponadto te kroki opisują również sposób stosowania wcześniej wymienionych mechanizmów zabezpieczeń podczas tych interakcji.
Wydawanie PRT podczas pierwszego logowania
Uwaga
Na urządzeniach połączonych z Microsoft Entra, wystawianie Microsoft Entra PRT (kroki A-F) odbywa się synchronicznie, zanim użytkownik będzie mógł zalogować się do systemu Windows. W przypadku urządzeń hybrydowo dołączonych do Microsoft Entra, lokalna usługa Active Directory jest głównym autorytetem. Dlatego użytkownik może zalogować się do systemu Windows przyłączonego hybrydowo do firmy Microsoft Entra po uzyskaniu biletu TGT do logowania, podczas gdy wystawianie PRT odbywa się asynchronicznie. Ten scenariusz nie dotyczy zarejestrowanych urządzeń Microsoft Entra, ponieważ logowanie nie korzysta z poświadczeń Microsoft Entra.
Uwaga
W hybrydowym środowisku Windows dołączonym do Microsoft Entra, wystawianie PRT odbywa się asynchronicznie. Wystawianie żądania ściągnięcia może zakończyć się niepowodzeniem z powodu problemów z dostawcą federacyjnym. Ten błąd może spowodować problemy z logowaniem, gdy użytkownicy próbują uzyskać dostęp do zasobów w chmurze. Ważne jest, aby rozwiązać ten problem z dostawcą federacyjnym.
Krok | opis |
---|---|
A | Użytkownik wprowadza swoje hasło w interfejsie użytkownika logowania. LogonUI przekazuje poświadczenia w buforze uwierzytelniania do usługi LSA, która z kolei przekazuje je dalej do usługi CloudAP. Usługa CloudAP przekazuje to żądanie do wtyczki CloudAP. |
B | Wtyczka CloudAP inicjuje żądanie identyfikacji obszaru w celu zidentyfikowania dostawcy tożsamości użytkownika. Jeśli dzierżawa użytkownika ma konfigurację dostawcy federacji, Microsoft Entra ID zwraca punkt końcowy wymiany metadanych (MEX) dostawcy federacji. Jeśli nie, Microsoft Entra ID zwraca informację, że użytkownik jest zarządzany, co oznacza, że może się uwierzytelnić za pomocą Microsoft Entra ID. |
C | Jeśli użytkownik jest zarządzany, aplikacja CloudAP pobiera inną wartość od identyfikatora Entra firmy Microsoft. Jeśli użytkownik jest federacyjny, wtyczka CloudAP żąda tokenu Security Assertion Markup Language (SAML) od dostawcy federacji przy użyciu poświadczeń użytkownika. Nie jest wymagane przed wysłaniem tokenu SAML do identyfikatora Entra firmy Microsoft. |
D | Wtyczka CloudAP tworzy żądanie uwierzytelniania przy użyciu poświadczeń użytkownika, liczby jednorazowej i zakresu brokera, podpisuje żądanie za pomocą klucza urządzenia (dkpriv) i wysyła je do Microsoft Entra ID. W środowisku federacyjnym wtyczka CloudAP używa tokenu SAML zwróconego przez dostawcę federacyjnego zamiast poświadczeń użytkownika. |
E | Microsoft Entra ID weryfikuje poświadczenia użytkownika, losową liczbę i podpis urządzenia, sprawdza, czy urządzenie jest prawidłowe w dzierżawie, i wystawia zaszyfrowany token PRT. Wraz z PRT, Microsoft Entra ID również wystawia symetryczny klucz, zwany Kluczem sesji, zaszyfrowany przy użyciu klucza transportu (tkpub). Ponadto klucz sesji jest również osadzony w PRT (Primary Refresh Token). Ten klucz sesji działa jako klucz dowodu posiadania (PoP) dla kolejnych żądań z PRT. |
F | Wtyczka CloudAP przekazuje zaszyfrowany klucz PRT i klucz sesji do usługi CloudAP. Usługa CloudAP prosi moduł TPM o odszyfrowanie klucza sesji za pomocą klucza transportowego (tkpriv) i ponowne zaszyfrowanie go z użyciem własnego klucza TPM. Usługa CloudAP przechowuje zaszyfrowany klucz sesji w pamięci podręcznej wraz z tokenem PRT. |
Odnawianie PRT przy kolejnych logowaniach
Krok | opis |
---|---|
A | Użytkownik wprowadza swoje hasło w interfejsie użytkownika logowania. Funkcja LogonUI przekazuje poświadczenia w buforze uwierzytelniania do usługi LSA, która z kolei przekazuje je wewnętrznie do usługi CloudAP. Usługa CloudAP przekazuje to żądanie do wtyczki CloudAP. |
B | Jeśli użytkownik wcześniej zalogował się do sesji, system Windows inicjuje logowanie w pamięci podręcznej i weryfikuje poświadczenia w celu zalogowania użytkownika. Co 4 godziny wtyczka CloudAP inicjuje asynchronicznie odnawianie PRT. |
C | Wtyczka CloudAP inicjuje żądanie odnajdywania domeny w celu zidentyfikowania dostawcy tożsamości dla użytkownika. Jeśli dzierżawa użytkownika ma konfigurację dostawcy federacji, Microsoft Entra ID zwraca punkt końcowy wymiany metadanych (MEX) dostawcy federacji. Jeśli nie, Microsoft Entra ID zwraca informację, że użytkownik jest zarządzany, co oznacza, że może się zidentyfikować poprzez Microsoft Entra ID. |
D | Jeśli użytkownik jest federacyjny, wtyczka CloudAP żąda tokenu SAML od dostawcy federacji przy użyciu poświadczeń użytkownika. Nie jest wymagane przed wysłaniem tokenu SAML do identyfikatora Entra firmy Microsoft. Jeśli użytkownik jest zarządzany, usługa CloudAP bezpośrednio uzyska wartość nonce z Microsoft Entra ID. |
E | Wtyczka CloudAP tworzy żądanie uwierzytelniania przy użyciu poświadczeń użytkownika, nonce i istniejącego PRT, podpisuje żądanie za pomocą klucza sesji i wysyła je do Microsoft Entra ID. W środowisku federacyjnym wtyczka CloudAP używa tokenu SAML zwróconego przez dostawcę federacyjnego zamiast poświadczeń użytkownika. |
F | Microsoft Entra ID weryfikuje podpis klucza sesji, porównując go z kluczem sesji osadzonym w prT, weryfikuje nonce i sprawdza, czy urządzenie jest prawidłowe w dzierżawie i wystawia nowy prT. Jak pokazano wcześniej, PRT jest ponownie dołączony do Klucza Sesji zaszyfrowanego za pomocą klucza Transportu (tkpub). |
G | Wtyczka CloudAP przekazuje zaszyfrowany klucz PRT i klucz sesji do usługi CloudAP. Usługa CloudAP prosi TPM o odszyfrowanie klucza sesji przy użyciu klucza transportowego (tkpriv) i ponowne zaszyfrowanie go za pomocą własnego klucza TPM. Usługa CloudAP przechowuje zaszyfrowany klucz sesji w pamięci podręcznej wraz z PRT. |
Uwaga
PRT można odnowić zewnętrznie bez potrzeby korzystania z połączenia VPN, gdy punkty końcowe z mieszanymi nazwami użytkowników są włączone zewnętrznie.
Użycie PRT podczas żądania tokenu aplikacji
Krok | opis |
---|---|
A | Aplikacja, na przykład Microsoft Outlook, inicjuje żądanie tokenu do WAM. WAM z kolei prosi wtyczkę Microsoft Entra WAM o obsługę żądania tokenu. |
B | Jeśli token odświeżania aplikacji jest już dostępny, wtyczka Microsoft Entra WAM używa go do żądania tokenu dostępu. Aby zapewnić dowód powiązania urządzenia, wtyczka WAM podpisuje żądanie za pomocą klucza sesji. Identyfikator firmy Microsoft Entra weryfikuje klucz sesji i wystawia token dostępu oraz nowy token odświeżania aplikacji zaszyfrowany przez klucz sesji. Wtyczka WAM żąda wtyczki CloudAP, aby odszyfrować tokeny, które z kolei żąda modułu TPM do odszyfrowania przy użyciu klucza sesji, co powoduje pobranie obu tokenów przez wtyczkę WAM. Następnie wtyczka WAM udostępnia tylko token dostępu do aplikacji, podczas gdy ponownie szyfruje token odświeżania za pomocą interfejsu DPAPI i przechowuje go we własnej pamięci podręcznej |
C | Jeśli token odświeżania dla aplikacji nie jest dostępny, wtyczka Microsoft Entra WAM używa PRT do żądania tokenu dostępu. Aby zapewnić dowód posiadania, wtyczka WAM podpisuje żądanie zawierające PRT za pomocą klucza sesji. Microsoft Entra ID weryfikuje podpis klucza sesji, porównując go z kluczem sesji osadzonym w prT, sprawdza, czy urządzenie jest prawidłowe i wystawia token dostępu oraz token odświeżania dla aplikacji. Ponadto identyfikator Entra firmy Microsoft może wydać nowy PRT (na podstawie cyklu odświeżania), który jest zaszyfrowany przy użyciu klucza sesji. |
D | Wtyczka WAM żąda wtyczki CloudAP, aby odszyfrować tokeny, które z kolei żąda modułu TPM do odszyfrowania przy użyciu klucza sesji, co powoduje pobranie obu tokenów przez wtyczkę WAM. Następnie wtyczka WAM udostępnia tylko token dostępu do aplikacji, podczas gdy ponownie szyfruje token odświeżania za pomocą interfejsu DPAPI i przechowuje go we własnej pamięci podręcznej. Wtyczka WAM używa tokenu odświeżania w przyszłości dla tej aplikacji. Wtyczka WAM udostępnia również nowy PRT do wtyczki CloudAP, która weryfikuje PRT za pomocą Microsoft Entra ID przed jego zaktualizowaniem w swojej pamięci podręcznej. Wtyczka CloudAP korzysta z nowego PRT od teraz. |
E | WAM udostępnia nowo wystawiony token dostępu do WAM, który następnie przekazuje go z powrotem do aplikacji wywołującej. |
Jednokrotne logowanie w przeglądarce przy użyciu PRT
Krok | opis |
---|---|
A | Użytkownik loguje się do systemu Windows przy użyciu poświadczeń w celu uzyskania tokenu PRT. Gdy użytkownik otworzy przeglądarkę, przeglądarka (lub rozszerzenie) ładuje adresy URL z rejestru. |
B | Gdy użytkownik otworzy adres URL logowania firmy Microsoft Entra, przeglądarka lub rozszerzenie zweryfikuje adres URL przy użyciu tych uzyskanych z rejestru. Jeśli są one zgodne, przeglądarka wywołuje hosta klienta natywnego w celu uzyskania tokenu. |
C | Host klienta natywnego sprawdza, czy adresy URL należą do dostawców tożsamości firmy Microsoft (konto Microsoft lub Microsoft Entra ID), wyodrębnia nonce wysłane z adresu URL i używa wtyczki CloudAP do pobrania pliku cookie PRT. |
D | Wtyczka CloudAP tworzy plik cookie PRT, loguje się przy użyciu klucza sesji powiązanego z modułem TPM i wysyła go z powrotem do hosta klienta natywnego. |
E | Host klienta natywnego zwraca ten plik cookie PRT do przeglądarki, która umieszcza go jako część nagłówka żądania o nazwie x-ms-RefreshTokenCredential i wysyła żądanie tokenów z usługi Microsoft Entra ID. |
F | Microsoft Entra ID weryfikuje podpis klucza sesji w pliku cookie PRT, sprawdza, czy urządzenie jest prawidłowe w dzierżawie, i wystawia token identyfikatora dla strony internetowej i zaszyfrowany plik cookie sesji dla przeglądarki. |
Uwaga
Przepływ logowania jednokrotnego przeglądarki opisany w poprzednich krokach nie dotyczy sesji w trybach prywatnych, takich jak InPrivate w przeglądarce Microsoft Edge, Incognito w przeglądarce Google Chrome (w przypadku korzystania z rozszerzenia Konta Microsoft) lub w trybie prywatnym w Mozilla Firefox v91+
Następne kroki
Aby uzyskać więcej informacji na temat rozwiązywania problemów związanych z PRT, zobacz artykuł Troubleshooting Microsoft Entra hybrid joined Windows 10 lub nowszym i Windows Server 2016 devices (Rozwiązywanie problemów z przyłączonym hybrydowo systemem Windows 10 lub nowszym – Windows Server 2016).