Co to jest podstawowy token odświeżania?
Podstawowy token odświeżania (PRT) to kluczowy artefakt uwierzytelniania entra firmy Microsoft na urządzeniach z systemem Windows 10 lub nowszym, Windows Server 2016 i nowszych wersjach, iOS i Android. Jest to token internetowy JSON (JWT) specjalnie wystawiony dla brokerów tokenów firmy Microsoft, aby umożliwić logowanie jednokrotne (SSO) w aplikacjach używanych na tych urządzeniach. W tym artykule przedstawiono szczegółowe informacje na temat wystawiania, korzystania i ochrony prT na urządzeniach z systemem Windows 10 lub nowszym. Zalecamy używanie najnowszych wersji systemów Windows 10, Windows 11 i Windows Server 2019+ w celu uzyskania najlepszego środowiska logowania jednokrotnego.
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 10 lub nowszym. Aby uzyskać więcej informacji na temat urządzeń w usłudze Microsoft Entra ID, zobacz artykuł 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 żądania 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 strukturę wtyczki, na którą dostawcy tożsamości mogą korzystać, aby umożliwić uwierzytelnianie w systemie Windows przy użyciu poświadczeń tego dostawcy tożsamości.
- 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ę wtyczki, na którą dostawcy tożsamości mogą korzystać i włączać logowanie jednokrotne w aplikacjach korzystających z tego 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óre udostępnia sprzętowe funkcje zabezpieczeń dla wpisów tajnych 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 żądanie PRT?
Żądanie ściągnięcia zawiera oświadczenia znalezione w większości tokenów odświeżania identyfikatora entra firmy Microsoft. Ponadto w prT znajdują się pewne oświadczenia specyficzne dla urządzenia. Są one następujące:
- Identyfikator urządzenia: żądanie ściągnięcia jest wystawiane użytkownikowi na określonym urządzeniu. Oświadczenie
deviceID
identyfikatora urządzenia określa urządzenie, w którym żądanie ściągnięcia zostało wystawione użytkownikowi. To oświadczenie jest później wystawiane na tokeny uzyskane za pośrednictwem 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 Entra firmy Microsoft wystawioną w ramach żądania ściągnięcia. Klucz sesji działa jako dowód posiadania, gdy prT jest używany do uzyskiwania tokenów dla innych aplikacji. Klucz sesji jest wdrażany w systemie Windows 10 lub nowszym dołączonym do firmy Microsoft lub urządzeniach dołączonych hybrydowych do firmy Microsoft Entra, jeśli jest on starszy niż 30 dni.
Czy mogę zobaczyć, co znajduje się w żądaniu ściągnięcia?
PrT to nieprzezroczysty obiekt blob wysyłany z firmy Microsoft Entra, którego zawartość nie jest znana żadnym składnikom klienta. Nie można zobaczyć, co znajduje się wewnątrz żądania ściągnięcia.
W jaki sposób wystawiono żądanie ściągnięcia?
Rejestracja urządzenia jest wymaganiem wstępnym dla uwierzytelniania opartego na urządzeniach w usłudze Microsoft Entra ID. Żądanie ściągnięcia jest wydawane 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.
Żądanie ściągnięcia jest wystawiane podczas uwierzytelniania użytkownika na urządzeniu z systemem Windows 10 lub nowszym w dwóch scenariuszach:
- Przyłączona do firmy Microsoft lub przyłączona hybrydowa firma Microsoft Entra: żądanie ściągnięcia jest wystawiane podczas logowania się w systemie Windows, gdy użytkownik loguje się przy użyciu poświadczeń organizacji. Żądanie ściągnięcia jest wystawiane 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 urzędem PRT.
- Zarejestrowane urządzenie Firmy Microsoft Entra: żądanie ściągnięcia jest wystawiane, gdy użytkownik dodaje pomocnicze 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 opcji Zezwalaj mojej organizacji na zarządzanie monitem o urządzenie po zalogowaniu się do aplikacji (na przykład w programie Outlook)
- Dodawanie konta z pozycji Ustawienia>Konta>programu Access Work or School Connect>
W scenariuszach zarejestrowanych urządzeń firmy Microsoft Entra wtyczka Entra WAM jest głównym urzędem PRT, ponieważ logowanie systemu Windows nie odbywa się z tym kontem Microsoft Entra.
Nuta
Zewnętrzni dostawcy tożsamości muszą obsługiwać protokół WS-Trust, aby umożliwić wystawianie PRT na urządzeniach z systemem Windows 10 lub nowszym. Bez protokołu WS-Trust żądanie PRT nie może być wystawiane użytkownikom na urządzeniach dołączonych hybrydowo do firmy Microsoft Entra lub urządzeniach dołączonych do firmy Microsoft Entra. W usługach AD FS wymagane są tylko punkty końcowe mieszane nazwy użytkownika. W usługach AD FS, jeśli smartcard/certificate
jest używany podczas punktów końcowych logowania certificatemixed
systemu Windows są wymagane. adfs/services/trust/13/windowstransport
Oba adfs/services/trust/2005/windowstransport
punkty końcowe powinny być włączone tylko jako punkty końcowe dostępne w intranecie i nie mogą być uwidocznione jako punkty końcowe połączone z ekstranetem za pośrednictwem serwer proxy aplikacji sieci Web.
Nuta
Zasady dostępu warunkowego firmy Microsoft Entra nie są oceniane po wystawieniu żądań ściągnięcia.
Nuta
Nie obsługujemy dostawców poświadczeń innych firm w celu wystawiania i odnawiania żądań ściągnięcia firmy Microsoft.
Jaki jest okres istnienia prT?
Po wystawieniu żądanie ściągnięcia jest ważne przez 14 dni i jest stale odnawiane, o ile 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 żądania prT z identyfikatora Entra firmy Microsoft przy użyciu poświadczeń dostarczonych przez użytkownika. Buforuje również prT, aby włączyć buforowane logowanie, gdy użytkownik nie ma dostępu do połączenia internetowego.
- Wtyczka Microsoft Entra WAM: gdy użytkownicy próbują uzyskać dostęp do aplikacji, wtyczka Microsoft Entra WAM używa prT do włączenia logowania jednokrotnego w systemie Windows 10 lub nowszym. Wtyczka Microsoft Entra WAM używa prT do żądania odświeżania i tokenów dostępu dla aplikacji korzystających z WAM na potrzeby żądań tokenów. Umożliwia również logowanie jednokrotne w przeglądarkach przez wstrzyknięcie żądania PRT do żądań 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 kont systemu Windows 10 lub Mozilla Firefox w wersji 91+ (ustawienia logowania jednokrotnego systemu Windows w systemie Firefox)
Nuta
W przypadkach, gdy użytkownik ma dwa konta z tej samej dzierżawy firmy Microsoft Entra zalogowanej do aplikacji przeglądarki, uwierzytelnianie urządzenia dostarczone przez prT konta podstawowego jest również automatycznie stosowane do drugiego konta. W rezultacie drugie konto spełnia również wszystkie zasady dostępu warunkowego opartego na urządzeniach w dzierżawie.
Jak jest odnawiana funkcja PRT?
Żądanie ściągnięcia jest odnawiane w dwóch różnych metodach:
- Wtyczka Microsoft Entra CloudAP co 4 godziny: wtyczka CloudAP odnawia żądanie PRT co 4 godziny podczas logowania systemu Windows. Jeśli użytkownik nie ma w tym czasie połączenia internetowego, wtyczka CloudAP odnowi żądanie PRT po połączeniu urządzenia z Internetem.
- Wtyczka Microsoft Entra WAM podczas żądań tokenu aplikacji: wtyczka WAM włącza logowanie jednokrotne na urządzeniach z systemem Windows 10 lub nowszym, włączając dyskretne żądania tokenów dla aplikacji. Wtyczka WAM może odnowić żądanie PRT podczas tych żądań tokenu na dwa różne sposoby:
- Aplikacja żąda WAM tokenu dostępu w trybie dyskretnym, ale nie ma dostępnego tokenu odświeżania dla tej aplikacji. W takim przypadku WAM używa żądania PRT do żądania tokenu dla aplikacji i pobiera nowy prT w odpowiedzi.
- Aplikacja żąda WAM tokenu dostępu, ale żądanie PRT jest nieprawidłowe lub identyfikator Entra firmy Microsoft 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 usług AD FS bezpośredni widok do kontrolera domeny nie jest wymagany do odnowienia prT. Odnawianie prT wymaga tylko /adfs/services/trust/2005/usernamemixed
i /adfs/services/trust/13/usernamemixed
punktów końcowych włączonych 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.
Nuta
Zasady dostępu warunkowego firmy Microsoft Entra nie są oceniane podczas odnawiania żądań ściągnięcia.
Kluczowe zagadnienia
- W przypadku urządzeń dołączonych do firmy Microsoft Entra i dołączonych hybrydowych urządzeń firmy Microsoft wtyczka CloudAP jest głównym urzędem 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:
- Żądanie ściągnięcia 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.
- Żądanie ściągnięcia jest wystawiane i odnawiane tylko podczas uwierzytelniania aplikacji natywnej. Żądanie ściągnięcia nie jest odnawiane ani wystawiane podczas sesji przeglądarki.
- Istnieje możliwość uzyskania żądania ściągnięcia bez konieczności rejestracji urządzenia (dołączanie w miejscu pracy) i włączenia logowania jednokrotnego.
- Żądania ściągnięcia uzyskane bez rejestracji urządzenia nie mogą spełniać kryteriów autoryzacji dostępu warunkowego, które opierają się na stanie lub zgodności urządzenia.
Jak jest chroniony prT?
Żądanie ściągnięcia jest chronione przez powiązanie go z urządzeniem, do których zalogował się użytkownik. Microsoft Entra ID i Windows 10 lub nowszy włącz 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. Żądanie ściągnięcia nie jest wystawiane, jeśli nie można zweryfikować odpowiedniego podpisu klucza urządzenia.
- Podczas żądań tokenu i odnowienia: po wydaniu żądania ściągnięcia identyfikator Entra firmy Microsoft również wystawia zaszyfrowany klucz sesji na urządzeniu. 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ą klucza prywatnego transportu (tkpriv) zabezpieczonego przez moduł TPM. Klucz sesji to klucz dowodu posiadania (POP) dla wszystkich żądań wysyłanych do identyfikatora Entra firmy Microsoft. 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 przyłączonych do firmy Microsoft Entra, dołączonych hybrydowo do firmy Microsoft Entra i zarejestrowanych urządzeń firmy 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. Począwszy od 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 aplikacji: gdy aplikacja żąda tokenu za pośrednictwem WAM, identyfikator Entra firmy Microsoft wystawia token odświeżania i 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 wystawiania dodatkowych 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 identyfikator Entra firmy Microsoft obsługuje logowanie jednokrotne przeglądarki w programie Internet Explorer i przeglądarce Microsoft Edge natywnie, w przeglądarce Google Chrome za pośrednictwem rozszerzenia kont systemu Windows 10 i w przeglądarce 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 plików cookie.
Gdy użytkownik inicjuje interakcję z przeglądarką, przeglądarka (lub rozszerzenie) wywołuje hosta klienta natywnego 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 wartość inną niż, 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 przez klucz sesji, trudno jest manipulować. Ten plik cookie PRT jest zawarty w nagłówku żądania identyfikatora Entra firmy Microsoft 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 identyfikator Firmy Microsoft Entra weryfikuje plik cookie PRT, wystawia plik cookie sesji w przeglądarce. Ten plik cookie sesji zawiera również ten sam klucz sesji wystawiony za pomocą żądania PRT. Podczas kolejnych żądań klucz sesji jest weryfikowany skutecznie wiązanie pliku cookie z urządzeniem i uniemożliwia odtwarzanie z innego miejsca.
Kiedy żądanie ściągnięcia uzyskuje oświadczenie uwierzytelniania wieloskładnikowego?
Żądanie ściągnięcia może uzyskać oświadczenie uwierzytelniania wieloskładnikowego w określonych scenariuszach. Gdy żądanie ściągnięcia opartego na usłudze MFA jest używane do żądania tokenów dla aplikacji, oświadczenie uwierzytelniania wieloskładnikowego jest przenoszone do tych tokenów aplikacji. Ta funkcja zapewnia użytkownikom bezproblemowe środowisko, uniemożliwiając wyzwanie uwierzytelniania wieloskładnikowego dla każdej aplikacji, która jej wymaga. Żądanie ściągnięcia może uzyskać oświadczenie uwierzytelniania wieloskładnikowego 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 jest specyficzny dla użytkownika na urządzeniu i sam wymaga aprowizacji uwierzytelniania wieloskładnikowego. Gdy użytkownik loguje się przy użyciu Windows Hello dla firm, żądanie PRT użytkownika otrzymuje oświadczenie uwierzytelniania wieloskładnikowego. Ten scenariusz dotyczy również użytkowników logujący się za pomocą kart inteligentnych, jeśli uwierzytelnianie karty inteligentnej generuje oświadczenie uwierzytelniania wieloskładnikowego z usług AD FS.
- Ponieważ Windows Hello dla firm jest uznawane za uwierzytelnianie wieloskładnikowe, oświadczenie uwierzytelniania wieloskładnikowego jest aktualizowane po odświeżeniu samego żądania uwierzytelniania wieloskładnikowego, więc czas trwania uwierzytelniania wieloskładnikowego będzie stale rozszerzany, gdy użytkownicy logują się przy użyciu Windows Hello dla firm.
- Uwierzytelnianie wieloskładnikowe podczas logowania interakcyjnego WAM: podczas żądania tokenu za pośrednictwem WAM, jeśli użytkownik musi wykonać uwierzytelnianie wieloskładnikowe w celu uzyskania dostępu do aplikacji, żądanie ściągnięcia odnawiane podczas tej interakcji jest drukowane przy użyciu oświadczenia uwierzytelniania wieloskładnikowego.
- W takim przypadku oświadczenie uwierzytelniania wieloskładnikowego nie jest stale aktualizowane, więc czas trwania uwierzytelniania wieloskładnikowego jest oparty na okresie 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. Ten proces powoduje również problemy z nowym prT i RT.
System Windows 10 lub nowszy obsługuje partycjonowaną listę żądań ściągnięcia dla każdego poświadczenia. Istnieje więc prT dla każdego z Windows Hello dla firm, hasła lub karty inteligentnej. Ta partycjonowanie gwarantuje, że oświadczenia uwierzytelniania wieloskładnikowego są izolowane na podstawie używanych poświadczeń i nie są mieszane podczas żądań tokenów.
Nuta
Jeśli używasz hasła do logowania się do systemu Windows 10 lub nowszego dołączonego do firmy Microsoft lub urządzenia hybrydowego dołączonego do firmy Microsoft Entra, uwierzytelnianie wieloskładnikowe podczas logowania interakcyjnego WAM może być wymagane po wycofaniu klucza sesji skojarzonego z żądaniem PRT.
W jaki sposób żądanie ściągnięcia jest unieważnione?
Żądanie ściągnięcia jest unieważniane w następujących scenariuszach:
- Nieprawidłowy użytkownik: jeśli użytkownik zostanie usunięty lub wyłączony w identyfikatorze Entra firmy Microsoft, jego żądanie ściągnięcia zostanie unieważnione 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 identyfikatorze Entra firmy Microsoft, żądanie 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 logowania jednokrotnego do żadnych zasobów z tego urządzenia.
- Zmiana hasła: jeśli użytkownik uzyskał żądanie ściągnięcia przy użyciu hasła, żądanie PRT zostanie unieważnione przez identyfikator Firmy Microsoft Entra, gdy użytkownik zmieni 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 stare żądanie PRT i zażąda identyfikatora Microsoft Entra w celu wystawienia nowego hasła prT. 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ę przy użyciu starego hasła lub zmienił swoje hasło po zalogowaniu się do systemu Windows, stary prT jest używany dla dowolnych żą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 modułem TPM: czasami moduł TPM urządzenia może słabać lub prowadzić do awarii, co prowadzi do niedostępności kluczy zabezpieczonych przez moduł TPM. W takim przypadku urządzenie nie może uzyskać żądania PRT lub zażądać tokenów przy użyciu istniejącego prT, ponieważ nie może udowodnić posiadania kluczy kryptograficznych. W związku z tym wszelkie istniejące żądania PRT są unieważniane przez identyfikator Firmy Microsoft Entra. Gdy system Windows 10 wykryje błąd, inicjuje przepływ odzyskiwania w celu ponownego zarejestrowania urządzenia przy użyciu nowych kluczy kryptograficznych. Dołączenie hybrydowe firmy Microsoft Entra, podobnie jak początkowa rejestracja, odzyskiwanie odbywa się dyskretnie bez danych wejściowych 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 podstawowe szczegóły dotyczące wystawiania, odnawiania i używania żądania PRT do żądania tokenu dostępu dla aplikacji. Ponadto te kroki opisują również sposób stosowania wyżej wymienionych mechanizmów zabezpieczeń podczas tych interakcji.
Wystawianie żądania ściągnięcia podczas pierwszego logowania
Nuta
Na urządzeniach dołączonych do firmy Microsoft wystawianie entra PRT firmy Microsoft (kroki A-F) odbywa się synchronicznie, zanim użytkownik będzie mógł zalogować się do systemu Windows. W przypadku urządzeń dołączonych hybrydo do firmy Microsoft lokalna usługa Active Directory jest urzędem podstawowym. 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ń firmy Microsoft, ponieważ logowanie nie korzysta z poświadczeń firmy Microsoft Entra.
Nuta
W środowisku systemu Windows przyłączonym hybrydowo do firmy Microsoft 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. 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 | Wtyczka CloudAP inicjuje żądanie odnajdywania obszaru w celu zidentyfikowania dostawcy tożsamości dla użytkownika. Jeśli dzierżawa użytkownika ma konfigurację dostawcy federacji, identyfikator Entra firmy Microsoft zwraca punkt końcowy punktu końcowego wymiany metadanych dostawcy federacji (MEX). Jeśli nie, identyfikator Entra firmy Microsoft zwraca, że użytkownik jest zarządzany wskazujący, że użytkownik może uwierzytelnić się za pomocą identyfikatora Entra firmy Microsoft. |
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, wartości innej niż i zakresu brokera, podpisuje żądanie za pomocą klucza urządzenia (dkpriv) i wysyła je do identyfikatora Firmy Microsoft Entra. W środowisku federacyjnym wtyczka CloudAP używa tokenu SAML zwróconego przez dostawcę federacyjnego zamiast poświadczeń użytkownika. |
E | Identyfikator entra firmy Microsoft weryfikuje poświadczenia użytkownika, nietypowe i podpis urządzenia, sprawdza, czy urządzenie jest prawidłowe w dzierżawie i wystawia zaszyfrowane żądanie ściągnięcia. Wraz z żądaniem PRT identyfikator Entra firmy Microsoft również wystawia klucz symetryczny o nazwie Klucz sesji zaszyfrowany przez identyfikator entra firmy Microsoft przy użyciu klucza transportu (tkpub). Ponadto klucz sesji jest również osadzony w żądaniu ściągnięcia. Ten klucz sesji działa jako klucz dowodu posiadania (PoP) dla kolejnych żądań z żądaniem PRT. |
F | Wtyczka CloudAP przekazuje zaszyfrowany klucz PRT i klucz sesji do usługi CloudAP. Usługa CloudAP zażąda modułu TPM odszyfrowywania klucza sesji przy użyciu klucza transportu (tkpriv) i ponownego zaszyfrowania go przy użyciu własnego klucza modułu TPM. Usługa CloudAP przechowuje zaszyfrowany klucz sesji w pamięci podręcznej wraz z żądaniem PRT. |
Odnawianie żądania ściągnięcia w 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 obszaru w celu zidentyfikowania dostawcy tożsamości dla użytkownika. Jeśli dzierżawa użytkownika ma konfigurację dostawcy federacji, identyfikator Entra firmy Microsoft zwraca punkt końcowy punktu końcowego wymiany metadanych dostawcy federacji (MEX). Jeśli nie, identyfikator Entra firmy Microsoft zwraca, że użytkownik jest zarządzany wskazujący, że użytkownik może uwierzytelnić się za pomocą identyfikatora Entra firmy Microsoft. |
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 pobierze element inny niż identyfikator Entra firmy Microsoft. |
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 identyfikatora Microsoft Entra. 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, żądanie ściągnięcia jest ponownie dołączone 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 żąda modułu TPM, aby odszyfrować klucz sesji przy użyciu klucza transportu (tkpriv) i ponownie zaszyfrować go przy użyciu własnego klucza modułu TPM. Usługa CloudAP przechowuje zaszyfrowany klucz sesji w pamięci podręcznej wraz z żądaniem PRT. |
Nuta
Żądanie ściągnięcia można odnowić zewnętrznie bez konieczności nawiązywania połączenia sieci VPN, gdy mieszane punkty końcowe nazw użytkowników są włączone zewnętrznie.
Użycie żądania PRT podczas żądań tokenu aplikacji
Krok | Opis |
---|---|
A | Aplikacja (na przykład Outlook, OneNote itd.) 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żanie 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 żądanie 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), wszystkie z nich zaszyfrowane przez klucz 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ą identyfikatora Entra firmy Microsoft przed zaktualizowaniem go we własnej pamięci podręcznej. Wtyczka CloudAP korzysta z nowego prT w przyszłości. |
E | WAM udostępnia nowo wystawiony token dostępu wam, który z kolei zapewnia go z powrotem do aplikacji wywołującej |
Logowanie jednokrotne przeglądarki przy użyciu żądania ściągnięcia
Krok | Opis |
---|---|
A | Użytkownik loguje się do systemu Windows przy użyciu poświadczeń w celu uzyskania żądania ściągnięcia. 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 identyfikator Microsoft Entra ID), wyodrębnia element inny niż wysłany z adresu URL i wywołuje wtyczkę CloudAP w celu pobrania pliku cookie PRT. |
D | Wtyczka CloudAP tworzy plik cookie PRT, zaloguj się przy użyciu klucza sesji powiązanej z modułem TPM i wyślij go z powrotem do hosta klienta natywnego. |
E | Host klienta natywnego zwraca ten plik cookie PRT do przeglądarki, który zawiera go jako część nagłówka żądania o nazwie x-ms-RefreshTokenCredential i tokenów żądania z identyfikatora Entra firmy Microsoft. |
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. |
Nuta
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 żądaniem ściągnięcia, zobacz artykuł Troubleshooting Microsoft Entra hybrid joined Windows 10 or newer and Windows Server 2016 devices (Rozwiązywanie problemów z przyłączonym hybrydowo systemem Windows 10 lub nowszym) oraz urządzeniami z systemem Windows Server 2016.