주 새로 고침 토큰이란?

PRT(기본 새로 고침 토큰)는 Windows 10 이상, Windows Server 2016 이상 버전, iOS 및 Android 디바이스에서 Microsoft Entra 인증의 핵심 아티팩트입니다. 이러한 디바이스에 사용되는 애플리케이션 전체에서 SSO(Single Sign-On)를 사용하도록 설정하기 위해 Microsoft의 자사 토큰 브로커에 특별히 발급된 JWT(JSON Web Token)입니다. 이 문서에서는 Windows 10 이상 디바이스에서 PRT를 발급, 사용 및 보호하는 방법에 대한 세부 정보를 제공합니다. 최상의 SSO 환경을 얻으려면 최신 버전의 Windows 10, Windows 11 및 Windows Server 2019 이상을 사용하는 것이 좋습니다.

이 문서에서는 사용자가 Microsoft Entra ID에서 사용할 수 있는 다양한 디바이스 상태와 Windows 10 이상에서 Single Sign-On이 작동하는 방식을 이미 이해하고 있다고 가정합니다. Microsoft Entra ID의 디바이스에 대한 자세한 내용은 Microsoft Entra ID의 디바이스 관리란? 문서를 참조하세요.

주요 용어 및 구성 요소

다음 Windows 구성 요소는 PRT를 요청 및 사용하는 데 중요한 역할을 합니다.

  • CloudAP(클라우드 인증 공급자): CloudAP는 사용자가 Windows 10 이상 디바이스에 로깅하는 것을 확인하는 Windows 로그인을 위한 최신 인증 공급자입니다. CloudAP는 ID 공급자가 해당 ID 공급자의 자격 증명을 사용하여 Windows에 인증을 사용하도록 설정하기 위해 빌드할 수 있는 플러그 인 프레임워크를 제공합니다.
  • WAM(웹 계정 관리자): WAM은 Windows 10 이상 디바이스의 기본 토큰 브로커입니다. 또한 WAM은 ID 공급자가 해당 ID 공급자를 사용하는 애플리케이션에 대해 SSO를 지원하기 위해 구축할 수 있는 플러그 인 프레임워크를 제공합니다.
  • Microsoft Entra CloudAP 플러그 인: Windows 로그인 중에 Microsoft Entra ID로 사용자 자격 증명을 확인하는 CloudAP 프레임워크에 빌드된 Microsoft Entra 전용 플러그 인입니다.
  • Microsoft Entra WAM 플러그 인: 인증을 위해 Microsoft Entra ID를 사용하는 애플리케이션에 SSO를 사용하도록 설정하는 WAM 프레임워크를 기반으로 빌드된 Microsoft Entra 전용 플러그 인입니다.
  • Dsreg: 모든 디바이스 상태에 대한 디바이스 등록 프로세스를 처리하는 Windows 10 이상의 Microsoft Entra 관련 구성 요소입니다.
  • TPM(신뢰할 수 있는 플랫폼 모듈): TPM은 디바이스에 기본 제공되는 하드웨어 구성 요소로, 사용자 및 디바이스 비밀에 대한 하드웨어 기반 보안 기능을 제공합니다. 자세한 내용은 신뢰할 수 있는 플랫폼 모듈 기술 개요 문서에서 찾을 수 있습니다.

PRT에는 무엇이 포함되나요?

PRT에는 대부분의 Microsoft Entra ID 새로 고침 토큰에서 발견된 클레임이 포함되어 있습니다. 또한 일부 디바이스 관련 클레임이 PRT에도 포함되어 있습니다. 다음과 같습니다.

  • 디바이스 ID: 특정 디바이스의 사용자에게 PRT가 발급됩니다. 디바이스 ID 클레임 deviceID는 사용자가 PRT가 발급된 디바이스를 결정합니다. 이 클레임은 나중에 PRT를 통해 획득한 토큰에 발급됩니다. 디바이스 ID 클레임은 디바이스 상태 또는 규정 준수에 따라 조건부 액세스에 대한 권한 부여를 결정하는 데 사용됩니다.
  • 세션 키: 세션 키는 PRT의 일부로 발급된 Microsoft Entra 인증 서비스에서 생성된 암호화된 대칭 키입니다. 세션 키는 PRT를 사용하여 다른 애플리케이션에 대한 토큰을 획득할 때 소유 증명 역할을 합니다. 세션 키는 Windows 10 이상 Microsoft Entra 조인 디바이스 또는 Microsoft Entra 하이브리드 조인 디바이스가 30일보다 오래된 경우 롤링됩니다.

PRT의 내용을 볼 수 있나요?

PRT는 클라이언트 구성 요소에 콘텐츠가 알려지지 않은 Microsoft Entra에서 보낸 불투명한 Blob입니다. PRT 내에 무엇이 있는지 볼 수 없습니다.

PRT는 어떻게 발급되나요?

Microsoft Entra ID에서 디바이스 기반 인증을 위해서는 반드시 디바이스를 등록해야 합니다. PRT는 등록된 디바이스의 사용자에게만 발급됩니다. 디바이스 등록에 대한 자세한 내용은 비즈니스용 Windows Hello 및 디바이스 등록 문서를 참조하세요. 디바이스를 등록하는 동안 dsreg 구성 요소는 두 가지 암호화 키 쌍 세트를 생성합니다.

  • 디바이스 키(dkpub/dkpub)
  • 전송 키(tkpub/tkpub)

디바이스에 유효하고 작동하는 TPM이 있는 경우 프라이빗 키는 디바이스의 TPM에 바인딩되고, 공개 키는 디바이스 등록 프로세스 중에 Microsoft Entra ID로 전송됩니다. 이러한 키는 PRT 요청 중에 디바이스 상태가 유효한지 확인하는 데 사용됩니다.

PRT는 Windows 10 이상 디바이스에서 사용자 인증을 수행하는 동안 다음과 같은 두 가지 시나리오에서 발급됩니다.

  • Microsoft Entra 조인 또는 Microsoft Entra 하이브리드 조인: 사용자가 조직 자격 증명으로 로그인하면 Windows 로그온 중에 PRT가 발급됩니다. PRT는 암호 및 비즈니스용 Windows Hello와 같은 모든 Windows 10 이상 지원 자격 증명과 함께 발급됩니다. 이 시나리오에서는 Microsoft Entra CloudAP 플러그 인이 PRT의 기본 인증 기관입니다.
  • Microsoft Entra 등록 디바이스: 사용자가 Windows 10 이상 디바이스에 보조 회사 계정을 추가하면 PRT가 발급됩니다. 사용자는 다음 두 가지 방법으로 Windows 10 이상에 계정을 추가할 수 있습니다.
    • 앱(예: Outlook)에 로그인한 후 내 조직에서 내 디바이스를 관리하도록 허용 프롬프트를 통해 계정 추가
    • 설정>계정>회사 또는 학교 액세스>연결에서 계정 추가

Microsoft Entra 등록 디바이스 시나리오에서는 이 Microsoft Entra 계정으로 Windows 로그온이 발생하지 않으므로 Microsoft Entra WAM 플러그 인이 PRT에 대한 기본 인증 기관입니다.

참고 항목

타사 ID 공급자는 Windows 10 이상 디바이스에서 PRT 발급을 사용하도록 설정하기 위해 WS-Trust 프로토콜을 지원해야 합니다. WS-Trust가 없으면 Microsoft Entra 하이브리드 조인 또는 Microsoft Entra 조인 디바이스의 사용자에게 PRT를 발급할 수 없습니다. AD FS에서는 사용자 이름 지정 엔드포인트만 필요합니다. Windows 로그인 엔드포인트 중에 사용되는 경우 smartcard/certificate AD FS에서 certificatemixed 필요합니다. 둘 다 adfs/services/trust/2005/windowstransport 인트라넷 연결 엔드포인트로만 사용하도록 설정해야 하며 웹 애플리케이션 프록시 통해 엑스트라넷 연결 엔드포인트로 노출되어서는 안 adfs/services/trust/13/windowstransport 됩니다.

참고 항목

Microsoft Entra 조건부 액세스 정책은 PRT가 발급될 때 평가되지 않습니다.

참고 항목

Microsoft Entra PRT의 발급 및 갱신을 위한 타사 자격 증명 공급자는 지원되지 않습니다.

PRT의 수명은 얼마나 되나요?

PRT는 일단 발급되면 14일 동안 유효하며 사용자가 디바이스를 적극적으로 사용하는 동안에는 계속 갱신됩니다.

PRT는 어떻게 사용되나요?

PRT는 다음과 같은 Windows의 두 가지 주요 구성 요소에서 사용됩니다.

  • Microsoft Entra CloudAP 플러그 인: Windows 로그인 중에 Microsoft Entra CloudAP 플러그 인은 사용자가 제공한 자격 증명을 사용하여 Microsoft Entra ID에서 PRT를 요청합니다. 또한 사용자가 인터넷 연결에 액세스할 수 없는 경우 캐시된 로그인을 사용하도록 PRT를 캐시합니다.
  • Microsoft Entra WAM 플러그 인: 사용자가 애플리케이션에 액세스하려고 하면 Microsoft Entra WAM 플러그 인은 PRT를 사용하여 Windows 10 이상에서 SSO를 사용하도록 설정합니다. Microsoft Entra WAM 플러그 인은 PRT를 사용하여 토큰 요청을 위해 WAM을 사용하는 애플리케이션에 대한 새로 고침 및 액세스 토큰을 요청합니다. 또한 브라우저 요청에 PRT를 삽입하여 브라우저에서 SSO를 사용하도록 설정합니다. Windows 10 이상의 브라우저 SSO는 Microsoft Edge(기본적으로), Chrome(Windows 10 계정 또는 Mozilla Firefox v91+(Firefox Windows SSO 설정)을 통해 지원됩니다.

    참고 항목

    사용자가 브라우저 애플리케이션에 로그인한 동일한 Microsoft Entra 테넌트의 두 계정을 갖고 있는 경우 기본 계정의 PRT에서 제공하는 디바이스 인증이 자동으로 두 번째 계정에도 적용됩니다. 결과적으로 두 번째 계정은 테넌트에 대한 디바이스 기반 조건부 액세스 정책도 충족합니다.

PRT는 어떻게 갱신되나요?

PRT는 다음 두 가지 방법으로 갱신됩니다.

  • 4시간마다 Microsoft Entra CloudAP 플러그 인: CloudAP 플러그 인은 Windows 로그인 중에 4시간마다 PRT를 갱신합니다. 사용자가 해당 시간 동안 인터넷에 연결되지 않은 경우 CloudAP 플러그 인은 디바이스가 인터넷에 연결된 후에 PRT를 갱신합니다.
  • 앱 토큰 요청 중 Microsoft Entra WAM 플러그 인: WAM 플러그 인은 애플리케이션에 대해 자동 토큰 요청을 사용하도록 설정하여 Windows 10 이상 디바이스에서 SSO를 사용하도록 설정합니다. WAM 플러그 인은 다음 두 가지 방법으로 이러한 토큰 요청 동안 PRT를 갱신할 수 있습니다.
    • 앱은 WAM에 액세스 토큰을 자동으로 요청하지만 해당 앱에 사용할 수 있는 새로 고침 토큰은 없습니다. 이 경우 WAM은 PRT를 사용하여 앱에 대한 토큰을 요청하고 응답에서 새 PRT를 다시 가져옵니다.
    • 앱이 WAM에 액세스 토큰을 요청하지만 PRT가 유효하지 않거나 Microsoft Entra ID에 추가 권한 부여가 필요합니다(예: Microsoft Entra 다단계 인증). 이 시나리오에서 WAM은 사용자에게 다시 인증하거나 추가 확인을 제공하도록 요구하는 대화형 로그온을 시작하고, 인증이 성공하면 새 PRT를 발급합니다.

AD FS 환경에서는 PRT를 갱신하기 위해 do기본 컨트롤러에 대한 직접 가시줄이 필요하지 않습니다. PRT 갱신에는 WS-Trust 프로토콜을 사용하여 프록시에서 사용하도록 설정된 엔드포인트만 /adfs/services/trust/2005/usernamemixed/adfs/services/trust/13/usernamemixed 필요합니다.

Windows 전송 엔드포인트는 암호를 변경하는 경우에만 암호 인증을 위해 필요하며, PRT 갱신에는 필요하지 않습니다.

참고 항목

PRT가 갱신될 때 Microsoft Entra 조건부 액세스 정책은 평가되지 않습니다.

주요 고려 사항

  • Microsoft Entra 조인 및 Microsoft Entra 하이브리드 조인 디바이스에서 CloudAP 플러그 인은 PRT의 기본 인증 기관입니다. WAM 기반 토큰 요청 중에 PRT가 갱신되면 PRT가 CloudAP 플러그 인으로 다시 전송되어 PRT를 수락하기 전에 Microsoft Entra ID로 PRT의 유효성을 확인합니다.

Android 플랫폼:

  • PRT는 90일 동안 유효하며 디바이스를 사용하는 동안 지속적으로 갱신됩니다. 그러나 디바이스를 사용하지 않는 경우 14일 동안만 유효합니다.
  • PRT는 네이티브 앱 인증 중에만 발급되고 갱신됩니다. PRT는 브라우저 세션 동안 갱신되거나 발급되지 않습니다.
  • 디바이스 등록(Workplace Join) 없이 PRT를 가져오고 SSO를 사용하도록 설정할 수 있습니다.
  • 디바이스 등록 없이 얻은 PRT는 디바이스의 상태 또는 규정 준수에 의존하는 조건부 액세스에 대한 권한 부여 기준을 충족할 수 없습니다.

PRT는 어떻게 보호되나요?

PRT는 사용자가 로그인한 디바이스에 바인딩하여 보호됩니다. Microsoft Entra ID 및 Windows 10 이상에서는 다음 방법을 통해 PRT 보호를 사용하도록 설정합니다.

  • 처음 로그인하는 동안: 처음 로그인하는 동안 디바이스를 등록하는 동안 암호화 생성 암호 키를 사용하여 요청에 서명하여 PRT가 발급됩니다. 유효하고 작동하는 TPM이 있는 디바이스에서 디바이스 키는 악의적인 액세스를 방지하는 TPM에 의해 보호됩니다. 해당하는 디바이스 키 서명의 유효성을 검사할 수 없는 경우에는 PRT가 발급되지 않습니다.
  • 토큰 요청 및 갱신 중: PRT가 발급되면 Microsoft Entra ID는 암호화된 세션 키도 디바이스에 발급합니다. 생성된 공용 전송 키(tkpub)로 암호화되어 디바이스 등록의 일부로 Microsoft Entra ID로 전송됩니다. 이 세션 키는 TPM으로 보호되는 프라이빗 전송 키(tkpriv)로만 암호를 해독할 수 있습니다. 세션 키는 Microsoft Entra ID로 전송된 모든 요청에 대한 POP(소유 증명) 키입니다. 세션 키는 TPM에 의해 보호되며 다른 OS 구성 요소는 이 키에 액세스할 수 없습니다. 토큰 요청 또는 PRT 갱신 요청은 TPM을 통해 이 세션 키로 안전하게 서명되므로 변조할 수 없습니다. Microsoft Entra는 해당 세션 키로 서명되지 않은 디바이스의 모든 요청을 무효화합니다.

해당 키를 TPM으로 보호하여 키를 도용하거나 PRT를 리플레이하려고 하는 악의적인 작업자로부터 PRT에 대한 보안을 강화합니다. 따라서 TPM을 사용하면 자격 증명 탈취로부터 Microsoft Entra 조인, Microsoft Entra 하이브리드 조인 및 Microsoft Entra 등록 디바이스의 보안이 크게 향상됩니다. 성능과 안정성을 위해 TPM 2.0은 Windows 10 이상에서 모든 Microsoft Entra 디바이스 등록 시나리오에 권장되는 버전입니다. Windows 10, 1903 업데이트부터 Microsoft Entra ID는 안정성 문제로 인해 위 키에 대해 TPM 1.2를 사용하지 않습니다.

앱 토큰 및 브라우저 쿠키는 어떻게 보호되나요?

앱 토큰: 앱이 WAM을 통해 토큰을 요청하면 Microsoft Entra ID는 새로 고침 토큰과 액세스 토큰을 발급합니다. 그러나 WAM은 앱에 대한 액세스 토큰만 반환하고 사용자의 DPAPI(데이터 보호 애플리케이션 프로그래밍 인터페이스) 키로 암호화하여 캐시에서 새로 고침 토큰을 보호합니다. WAM은 세션 키로 요청에 서명하여 새로 고침 토큰을 안전하게 사용하며 추가 액세스 토큰을 발급합니다. DPAPI 키는 Microsoft Entra 자체의 Microsoft Entra ID 기반 대칭 키로 보호됩니다. 디바이스가 DPAPI 키를 사용하여 사용자 프로필을 해독해야 하는 경우 Microsoft Entra ID는 CloudAP 플러그 인이 TPM에 해독을 요청하는 세션 키로 암호화된 DPAPI 키를 제공합니다. 이 기능은 새로 고침 토큰 보호 시 일관성을 보장하고 애플리케이션이 자체 보호 메커니즘을 구현하지 못하게 합니다.

브라우저 쿠키: Windows 10 이상에서 Microsoft Entra ID는 브라우저 SSO를 Internet Explorer 및 Microsoft Edge에서는 기본적으로, Google Chrome에서는 Windows 10 계정 확장을 통해, Mozilla Firefox v91 이상에서는 브라우저 설정을 통해 지원합니다. 보안은 쿠키를 보호하는 것 뿐만 아니라 쿠키가 전송되는 엔드포인트도 보호하도록 구축됩니다. 브라우저 쿠키는 세션 키를 활용하여 쿠키를 서명 및 보호함으로써 PRT와 동일한 방식으로 보호됩니다.

사용자가 브라우저 상호 작용을 시작하면 브라우저(또는 확장)가 COM 네이티브 클라이언트 호스트를 호출합니다. 네이티브 클라이언트 호스트는 페이지가 허용 도메인 중 하나에 있는지 확인합니다. 브라우저는 nonce를 비롯한 다른 매개 변수를 네이티브 클라이언트 호스트로 보낼 수 있지만 네이티브 클라이언트 호스트는 호스트 이름의 유효성을 보장합니다. CloudAP 플러그 인에서 PRT 쿠키를 만들고 TPM 보호 세션 키로 서명하면 네이티브 클라이언트 호스트에서 PRT 쿠키를 요청합니다. PRT 쿠키는 세션 키로 서명되므로 변조하기가 어렵습니다. 이 PRT 쿠키는 해당 쿠키가 시작된 디바이스의 유효성을 검사하기 위해 Microsoft Entra ID에 대한 요청 헤더에 포함되어 있습니다. Chrome 브라우저를 사용하는 경우 네이티브 클라이언트 호스트의 매니페스트에 명시적으로 정의된 확장만 호출하여 임의 확장이 이러한 요청을 수행하지 못하도록 할 수 있습니다. Microsoft Entra ID는 PRT 쿠키의 유효성을 검사하고 나면 브라우저에 세션 쿠키를 발급합니다. 이 세션 쿠키에는 PRT와 함께 발급된 것과 동일한 세션 키도 포함되어 있습니다. 후속 요청 중에 세션 키의 유효성이 검사되고 쿠키를 디바이스에 효과적으로 바인딩하며 다른 곳에서 다시 재생되지 못하게 합니다.

PRT는 언제 MFA 클레임을 얻나요?

PRT는 특정 시나리오에서 다단계 인증 클레임을 가져올 수 있습니다. MFA 기반 PRT를 사용하여 애플리케이션에 대한 토큰을 요청하는 경우 MFA 클레임은 이러한 앱 토큰으로 전송됩니다. 이 기능은 필요로 하는 모든 앱에 대해 MFA 챌린지를 방지하여 사용자에게 원활한 환경을 제공합니다. PRT는 다음과 같은 방법으로 MFA 클레임을 가져올 수 있습니다.

  • 비즈니스용 Windows Hello로 로그인: 비즈니스용 Windows Hello는 암호를 대신하며 암호화 키를 사용하여 강력한 2단계 인증을 제공합니다. 비즈니스용 Windows Hello는 디바이스이 사용자에게 국한되며, 자체적으로 MFA에 프로비저닝하도록 요청합니다. 사용자가 비즈니스용 Windows Hello 사용하여 로그인하면 사용자의 PRT는 MFA 클레임을 가져옵니다. 이 시나리오는 스마트 카드 인증이 AD FS에서 MFA 클레임을 생성하는 경우 스마트 카드 로그인하는 사용자에게도 적용됩니다.
    • 비즈니스용 Windows Hello는 다단계 인증으로 간주되기 때문에 MFA 클레임은 PRT가 자체적으로 새로 고쳐질 때 업데이트됩니다. 따라서 사용자가 비즈니스용 Windows Hello를 사용하여 로그인하면 MFA 기간이 지속적으로 확장됩니다.
  • WAM 대화형 로그인 중에 MFA: WAM을 통해 토큰을 요청하는 동안 사용자가 MFA를 수행하여 앱에 액세스해야 하는 경우 이 상호 작용 중에 갱신된 PRT는 MFA 클레임으로 임프린트됩니다.
    • 이 경우 MFA 클레임은 지속적으로 업데이트되지 않으므로 MFA 기간은 디렉터리에 설정된 수명에 따라 결정됩니다.
    • 이전의 기존 PRT 및 RT를 앱에 액세스하는 데 사용하는 경우 PRT 및 RT는 첫 번째 인증 증명으로 간주됩니다. 두 번째 증명 및 날인된 MFA 클레임에는 새 RT가 필요합니다. 이 프로세스는 새 PRT 및 RT도 발급합니다.

Windows 10 이상은 각 자격 증명에 대해 분할된 PRT 목록을 유지 관리합니다. 따라서 각 비즈니스용 Windows Hello, 암호 또는 스마트 카드 대한 PRT가 있습니다. 이 분할은 사용된 자격 증명에 따라 MFA 클레임이 격리되도록 하고 토큰 요청 중에 혼합되지 않도록 합니다.

참고 항목

암호를 사용하여 Windows 10 이상 Microsoft Entra 조인 또는 Microsoft Entra 하이브리드 조인 디바이스에 로그인하는 경우 PRT와 연결된 세션 키가 압연된 후 WAM 대화형 로그인 중 MFA가 필요할 수 있습니다.

PRT는 어떻게 무효화되나요?

다음 시나리오에서는 PRT가 무효화됩니다.

  • 잘못된 사용자: 사용자가 Microsoft Entra ID에서 삭제되거나 사용하지 않도록 설정되면 해당 PRT가 무효화되고 애플리케이션에 대한 토큰을 가져오는 데 사용할 수 없습니다. 삭제된 사용자 또는 사용하지 않도록 설정된 사용자가 이전에 디바이스에 로그인한 경우에는 CloudAP가 유효하지 않은 상태를 인식할 때까지 캐시된 로그인으로 로그인합니다. CloudAP에서 사용자가 유효하지 않다고 확인하면 후속 로그온을 차단합니다. 잘못된 사용자는 자격 증명이 캐시되지 않은 새 디바이스에 로그인할 수 없도록 자동으로 차단됩니다.
  • 잘못된 디바이스: Microsoft Entra ID에서 디바이스가 삭제되거나 사용하지 않도록 설정되면 해당 디바이스에서 가져오는 PRT가 무효화되고 다른 애플리케이션에 대한 토큰을 가져오는 데 사용할 수 없습니다. 사용자가 이미 잘못된 디바이스에 로그인한 경우에는 이 작업을 계속할 수 있습니다. 그러나 디바이스의 모든 토큰이 무효화되고 사용자는 해당 디바이스의 어떤 리소스에 대해서도 SSO가 없습니다.
  • 암호 변경: 사용자가 자신의 암호로 PRT를 획득한 경우 사용자가 암호를 변경할 때 Microsoft Entra ID에 의해 PRT가 무효화됩니다. 암호 변경으로 인해 사용자는 새 PRT를 얻게 됩니다. 이러한 무효화는 다음과 같은 두 가지 방법으로 발생할 수 있습니다.
    • 사용자가 새 암호로 Windows에 로그인하면 CloudAP는 이전 PRT를 삭제하고 Microsoft Entra ID에 새 암호로 새 PRT를 발급하도록 요청합니다. 사용자에게 인터넷 연결이 없으면 새 암호의 유효성을 검사할 수 없으므로 Windows에서 사용자가 이전 암호를 입력하도록 요구할 수 있습니다.
    • 사용자가 이전 암호로 로그인했거나 Windows에 로그인한 후 암호를 변경한 경우 이전 PRT는 WAM 기반 토큰 요청에 사용됩니다. 이 시나리오에서 WAM 토큰 요청 중에 다시 인증하라는 메시지가 표시되고 고 새 PRT가 발급됩니다.
  • TPM 문제: 경우에 따라 디바이스의 TPM이 흔들리거나 실패하여 TPM으로 보호되는 키에 액세스할 수 없게 됩니다. 이 경우 디바이스는 암호화 키의 소유를 증명할 수 없으므로 PRT를 가져오거나 기존 PRT를 사용하여 토큰을 요청할 수 없습니다. 결과적으로 기존 PRT는 Microsoft Entra ID에 의해 무효화됩니다. Windows 10에서 오류를 감지하면 복구 흐름을 시작하여 새 암호화 키를 사용하여 디바이스를 다시 등록합니다. Microsoft Entra 하이브리드 조인을 사용하면 초기 등록과 마찬가지로 사용자 입력 없이 자동으로 복구가 수행됩니다. Microsoft Entra 조인 또는 Microsoft Entra 등록 디바이스의 경우 해당 디바이스에 대한 관리자 권한이 있는 사용자가 복구를 수행해야 합니다. 이 시나리오에서 복구 흐름은 사용자가 디바이스를 성공적으로 복구하도록 안내하는 Windows 프롬프트에 의해 시작됩니다.

자세한 흐름

다음 다이어그램에서는 PRT를 발급, 갱신 및 사용하여 애플리케이션에 대한 액세스 토큰을 요청하는 기본 세부 정보를 보여 줍니다. 또한 이러한 단계에서는 이러한 상호 작용 중에 앞서 언급한 보안 메커니즘이 적용되는 방법도 설명합니다.

처음 로그인하는 동안 PRT 발급

첫 번째 로그인 세부 흐름 중 PRT 발급

참고 항목

Microsoft Entra 조인 디바이스에서 Microsoft Entra PRT 발급(A-F 단계)은 사용자가 Windows에 로그인하기 전에 동기적으로 발생합니다. Microsoft Entra 하이브리드 조인 디바이스에서는 온-프레미스 Active Directory가 기본 인증 기관입니다. 따라서 사용자는 로그인을 위해 TGT를 획득한 후 Windows에 조인된 Microsoft Entra 하이브리드에 로그인할 수 있으며, PRT 발급은 비동기적으로 발생합니다. 로그온 시 Microsoft Entra 자격 증명을 사용하지 않으므로 이 시나리오는 Microsoft Entra 등록 디바이스에는 적용되지 않습니다.

참고 항목

Microsoft Entra 하이브리드가 결합된 Windows 환경에서는 PRT 발급이 비동기적으로 발생합니다. PRT 발급은 페더레이션 공급자와 관련된 문제로 인해 실패할 수 있습니다. 이 실패로 인해 사용자가 클라우드 리소스에 액세스하려고 할 때 로그인 문제가 발생할 수 있습니다. 페더레이션 공급자와 함께 이 시나리오의 문제를 해결해야 합니다.

단계 설명
A 사용자가 로그인 UI에 암호를 입력합니다. LogonUI는 인증 버퍼의 자격 증명을 LSA에 전달하며 LSA에서는 이 자격 증명을 내부적으로 CloudAP에 전달합니다. CloudAP는 이 요청을 CloudAP 플러그 인으로 전달합니다.
b CloudAP 플러그 인은 사용자에 대한 ID 공급자를 식별하기 위한 영역 검색 요청을 시작합니다. 사용자의 테넌트에 페더레이션 공급자 설정이 있는 경우 Microsoft Entra ID는 페더레이션 공급자의 MEX(메타데이터 교환 엔드포인트) 엔드포인트를 반환합니다. 그렇지 않은 경우 Microsoft Entra ID는 사용자가 관리되고 있으므로 사용자가 Microsoft Entra ID에서 인증을 받을 수 있음을 나타냅니다.
C 사용자가 관리되는 경우 CloudAP는 Microsoft Entra ID에서 nonce를 가져옵니다. 사용자가 페더레이션된 경우 CloudAP 플러그 인은 사용자의 자격 증명을 사용하여 페더레이션 공급자로부터 SAML(Security Assertion Markup Language) 토큰을 요청합니다. SAML 토큰이 Microsoft Entra ID로 전송되기 전에 Nonce가 요청됩니다.
D CloudAP 플러그 인은 사용자의 자격 증명, nonce 및 broker 범위를 사용하여 인증 요청을 생성하고, 디바이스 키(dkpriv)로 요청에 서명하고, Microsoft Entra ID로 보냅니다. 페더레이션 환경에서 CloudAP 플러그 인은 사용자의 자격 증명 대신 페더레이션 공급자가 반환한 SAML 토큰을 사용합니다.
E Microsoft Entra ID는 사용자 자격 증명, nonce 및 디바이스 서명의 유효성을 검사하고 디바이스가 테넌트에서 유효한지 확인하고 암호화된 PRT를 발급합니다. PRT와 함께 Microsoft Entra ID는 전송 키(tkpub)를 사용하여 Microsoft Entra ID로 암호화된 세션 키라는 대칭 키도 발급합니다. 또한 세션 키는 PRT에도 포함되어 있습니다. 이 세션 키는 PRT를 사용하는 후속 요청에 대한 PoP(소유 증명) 키 역할을 합니다.
F CloudAP 플러그 인은 암호화된 PRT 및 세션 키를 CloudAP에 전달합니다. CloudAP는 TPM에 전송 키(tkpriv)를 사용하여 세션 키의 암호를 해독하고 TPM의 고유 키를 사용하여 다시 암호화하도록 요청합니다. CloudAP는 암호화된 세션 키를 PRT와 함께 캐시에 저장합니다.

후속 로그온 시 PRT 갱신

후속 로그온 시 PRT 갱신

단계 설명
A 사용자가 로그인 UI에 암호를 입력합니다. LogonUI는 인증 버퍼의 자격 증명을 LSA에 전달하며 LSA에서는 이 자격 증명을 내부적으로 CloudAP에 전달합니다. CloudAP는 이 요청을 CloudAP 플러그 인으로 전달합니다.
B 사용자가 이전에 사용자에게 로그인한 경우 Windows는 캐시된 로그인을 시작하고 자격 증명의 유효성을 검사하여 사용자를 로그인합니다. 4시간마다 CloudAP 플러그 인은 비동기식으로 PRT 갱신을 시작합니다.
C CloudAP 플러그 인은 사용자에 대한 ID 공급자를 식별하기 위한 영역 검색 요청을 시작합니다. 사용자의 테넌트에 페더레이션 공급자 설정이 있는 경우 Microsoft Entra ID는 페더레이션 공급자의 MEX(메타데이터 교환 엔드포인트) 엔드포인트를 반환합니다. 그렇지 않은 경우 Microsoft Entra ID는 사용자가 관리되고 있으므로 사용자가 Microsoft Entra ID에서 인증을 받을 수 있음을 나타냅니다.
D 사용자가 페더레이션된 경우 CloudAP 플러그 인은 사용자의 자격 증명을 사용하여 페더레이션 공급자로부터 SAML 토큰을 요청합니다. SAML 토큰이 Microsoft Entra ID로 전송되기 전에 Nonce가 요청됩니다. 사용자가 관리되는 경우 CloudAP는 Microsoft Entra ID에서 nonce를 직접 가져옵니다.
E CloudAP 플러그 인은 사용자의 자격 증명, nonce 및 기존 PRT를 사용하여 인증 요청을 생성하고, 세션 키로 요청에 서명하고, Microsoft Entra ID로 보냅니다. 페더레이션 환경에서 CloudAP 플러그 인은 사용자의 자격 증명 대신 페더레이션 공급자가 반환한 SAML 토큰을 사용합니다.
F Microsoft Entra ID는 PRT에 포함된 세션 키와 비교하여 세션 키 서명이 유효한지 검사하고, nonce가 유효한지 검사하고, 디바이스가 테넌트에서 유효한지 확인한 후 새 PRT를 발급합니다. 앞에서 확인한 것처럼 PRT는 전송 키(tkpub)로 암호화된 세션 키와 함께 다시 제공됩니다.
G CloudAP 플러그 인은 암호화된 PRT 및 세션 키를 CloudAP에 전달합니다. CloudAP는 TPM에 tkpriv(전송 키)를 사용하여 세션 키의 암호를 해독하고 TPM의 고유 키를 사용하여 다시 암호화하도록 요청합니다. CloudAP는 암호화된 세션 키를 PRT와 함께 캐시에 저장합니다.

참고 항목

usernamemixed 엔드포인트가 외부에서 사용하도록 설정되면 VPN 연결 없이 PRT를 외부에서 갱신할 수 있습니다.

앱 토큰 요청 중에 PRT 사용

앱 토큰 요청 중에 PRT 사용

단계 설명
A 애플리케이션(예: Outlook, OneNote 등)은 WAM에 대한 토큰 요청을 시작합니다. 그러면 WAM은 Microsoft Entra WAM 플러그 인에 토큰 요청을 처리하도록 요청합니다.
b 애플리케이션에 대한 새로 고침 토큰을 이미 사용할 수 있는 경우 Microsoft Entra WAM 플러그 인은 이를 사용하여 액세스 토큰을 요청합니다. 디바이스 바인딩 증명을 제공하기 위해 WAM 플러그 인은 세션 키를 사용하여 요청에 서명합니다. Microsoft Entra ID는 세션 키의 유효성을 검사하고 세션 키로 암호화된 앱에 대한 액세스 토큰과 새 새로 고침 토큰을 발급합니다. WAM 플러그 인은 토큰의 암호를 해독하도록 CloudAP 플러그 인에 요청합니다. 그러면 CloudAP 플러그 인은 세션 키를 사용하여 암호를 해독하도록 TPM에 요청하고 WAM 플러그 인은 두 토큰을 모두 가져옵니다. 다음으로, WAM 플러그 인은 DPAPI를 사용하여 새로 고침 토큰을 다시 암호화하고 자체 캐시에 저장하는 동안 애플리케이션에 대한 액세스 토큰만 제공합니다.
C 애플리케이션에 대한 새로 고침 토큰을 사용할 수 없는 경우 Microsoft Entra WAM 플러그 인은 PRT를 사용하여 액세스 토큰을 요청합니다. 소유 증명을 제공하기 위해 WAM 플러그 인은 PRT를 포함하는 요청에 세션 키로 서명합니다. Microsoft Entra ID는 PRT에 포함된 세션 키와 비교하여 세션 키 서명이 유효한지 검사하고, 디바이스가 유효한지 확인한 후 애플리케이션에 대한 액세스 토큰 및 새로 고침 토큰을 발급합니다. 또한 Microsoft Entra ID는 세션 키로 암호화된 새로운 PRT(새로 고침 주기 기반)를 발급할 수 있습니다.
D WAM 플러그 인은 토큰의 암호를 해독하도록 CloudAP 플러그 인에 요청합니다. 그러면 CloudAP 플러그 인은 세션 키를 사용하여 암호를 해독하도록 TPM에 요청하고 WAM 플러그 인은 두 토큰을 모두 가져옵니다. 다음으로, WAM 플러그 인은 DPAPI를 사용하여 새로 고침 토큰을 다시 암호화하고 자체 캐시에 저장하는 동안 애플리케이션에 대한 액세스 토큰만 제공합니다. WAM 플러그 인은 이 애플리케이션에 대해 계속해서 새로 고침 토큰을 사용합니다. WAM 플러그 인은 또한 자체 캐시에서 업데이트하기 전에 Microsoft Entra ID로 PRT의 유효성을 검사하는 CloudAP 플러그 인에 새로운 PRT를 제공합니다. CloudAP 플러그 인은 계속해서 새 PRT를 사용합니다.
E WAM은 WAM에 대해 새로 발급된 액세스 토큰을 제공하고, 호출 애플리케이션에 다시 제공합니다.

PRT를 사용하는 브라우저 SSO

PRT를 사용하는 브라우저 SSO

단계 설명
A 사용자는 자격 증명을 사용하여 Windows에 로그인한 후 PRT를 가져옵니다. 사용자가 브라우저를 열면 브라우저(또는 확장)가 레지스트리에서 URL을 로드합니다.
b 사용자가 Microsoft Entra 로그인 URL을 열면 브라우저나 확장은 레지스트리에서 가져오는 URL로 URL의 유효성을 검사합니다. 두 URL이 일치하는 경우 브라우저는 토큰을 가져오기 위해 네이티브 클라이언트 호스트를 호출합니다.
C 네이티브 클라이언트 호스트는 URL이 Microsoft ID 공급자(Microsoft 계정 또는 Microsoft Entra ID)에 속하는지 확인하고, URL에서 보낸 nonce를 추출하고, CloudAP 플러그 인을 호출하여 PRT 쿠키를 가져옵니다.
D CloudAP 플러그 인은 PRT 쿠키를 만들고, TPM 바인딩 세션 키로 로그인하고, 다시 네이티브 클라이언트 호스트로 보냅니다.
E 네이티브 클라이언트 호스트는 이 PRT 쿠키를 브라우저에 반환합니다. 브라우저는 x-ms-RefreshTokenCredential이라는 요청 헤더의 일부로 이 쿠키를 포함하고 Microsoft Entra ID에서 토큰을 요청합니다.
F Microsoft Entra ID는 PRT 쿠키에서 세션 키 서명이 유효한지 검사하고, nonce가 유효한지 검사하고, 디바이스가 테넌트에서 유효한지 확인하고, 웹 페이지를 위한 ID 토큰과 브라우저를 위한 암호화된 세션 쿠키를 발급합니다.

참고 항목

이전 단계에서 설명한 브라우저 SSO 흐름은 Microsoft Edge의 InPrivate, Google Chrome의 Incognito(Microsoft 계정 확장을 사용하는 경우) 또는 Mozilla Firefox v91+의 프라이빗 모드와 같은 프라이빗 모드의 세션에는 적용되지 않습니다.

다음 단계

PRT 관련 문제 해결에 대한 자세한 내용은 Windows 10 이상 및 Windows Server 2016 디바이스에 조인된 Microsoft Entra 하이브리드 문제 해결 문서를 참조하세요.