동적 인증 컨텍스트 처리(SAML 2.0)

 
casso127kkr
 
2
인증 컨텍스트는 아이덴티티 공급자에서 사용자가 인증되는 방법을 나타냅니다. 아이덴티티 공급자는 어설션에 인증 컨텍스트를 포함합니다. 인증 컨텍스트는 리소스에 대한 액세스를 허용하기 전에 어설션에 서비스 공급자 신뢰를 부여합니다.
사용자의 현재 세션은 요청된 인증 컨텍스트에 비해 보호 수준이 낮을 수 있습니다. 이 경우 사용자는 상위 수준에서 다시 인증해야 합니다. 동적 인증 기능을 사용하면
Single Sign-On
아이덴티티 공급자가 두 개 이상의 인증 URL로 사용자를 리디렉션할 수 있습니다. 목표는 어설션에 대한 필요한 인증 수준을 설정하는 것입니다. 사용자 재인증 후에는 IdP가 어설션을 생성할 수 있습니다. 이러한 유연성 덕분에 단일 페더레이션 파트너 관계 내에서 여러 보안 수준을 적용할 수 있습니다.
동적 인증은 인증 컨텍스트 템플릿을 사용하여 수행됩니다. 템플릿에는 인증 컨텍스트 URI와 정책 서버 기반 인증 수준 간의 매핑이 포함됩니다. 인증 수준은 사용자 세션에 대한 인증 컨텍스트의 강도를 나타냅니다. 또한 각 URI는 인증 URL에 매핑됩니다. 요청된 인증 컨텍스트에서 사용자를 인증하기 위해 IdP는 재인증할 수 있도록 사용자를 이 URL로 보냅니다. 마지막으로, IdP는 어설션을 요청된 컨텍스트와 함께 서비스 공급자에 다시 보냅니다.
SP에서 시작되는 SSO에 대한 동적 인증
SP가 시작한 SSO 트랜잭션의 일부로, SP는 특정 인증 컨텍스트로 사용자를 인증할 것을 요청할 수 있습니다. 서비스 공급자는 아이덴티티 공급자에 보내는 인증 요청의 일부로 <RequestedAuthnContext> 요소를 포함합니다.
아이덴티티 공급자는 요청을 수신하면 <RequestedAuthnContext> 요소의 값을 현재 사용자 인증 컨텍스트와 비교합니다. 인증 수준에 따라 현재 인증 컨텍스트가 결정됩니다. 비교가 성공적인 경우 아이덴티티 공급자는 어설션에 인증 컨텍스트를 포함합니다. 그런 다음 아이덴티티 공급자가 어설션을 서비스 공급자에게 반환합니다.
서비스 공급자에서 유효성 검사가 구성된 경우 서비스 공급자는 들어오는 컨텍스트를 요청한 값과 비교하여 유효성을 검사합니다. 유효성 검사가 실패할 경우 응답이 거부됩니다. 유효성 검사는 선택 사항입니다.
참고:
Single Sign-On
IdP는 수동 인증을 지원하지 않습니다. SP가 쿼리 매개 변수 IsPassive=true를 사용하여 인증 요청을 보내고 IdP가 어떠한 이유로 사용자를 재인증해야 할 경우 IdP는 NoPassive 응답을 반환합니다.
인증 컨텍스트 처리의 단계는 다음과 같습니다.
  1. SP가 <RequestedAuthnContext> 요소 및 비교 연산자와 함께 인증 요청을 보냅니다.
  2. IdP가 요청을 받습니다. 그러면 다음 동작 중 하나가 발생합니다.
    • 사용자에게 유효한 세션이 없으면 IdP는 제공된 <RequestedAuthnContext> 및 파트너 관계에서 사용되는 인증 컨텍스트 템플릿을 사용합니다. 템플릿에서 각 URI는 인증 URL에 매핑됩니다. IdP는 요청된 인증 컨텍스트에 기반하여 인증 URL을 결정하고 사용자를 이 URL로 리디렉션합니다. IdP는 이 URL로 사용자를 인증하고 해당 사용자를 위한 세션이 생성됩니다.  
    • SP가 요청에 <RequestedAuthnContext>를 포함하지 않는 경우 IdP는 템플릿의 기본 인증 URL을 사용합니다. 기본 항목에 따라 인증 컨텍스트가 결정됩니다. 이 컨텍스트는 최소 인증 수준을 결정합니다.
    • 사용자에게 유효한 세션이 있으면 IdP는 세션의 인증 수준을 SP가 요청한 AuthnContext와 비교합니다. 이 비교는 요청에서 전송된 비교 연산자를 기반으로 합니다.  인증 수준이 높은 경우 IdP는 어설션을 생성합니다. 인증 수준이 너무 낮으면 <RequestedAuthnContext> 요소 및 비교 연산자가 사용할 인증 컨텍스트 URI를 결정합니다. IdP는 템플릿의 URI를 기반으로 사용자를 해당 인증 URL로 리디렉션합니다. IdP가 사용자를 인증하고 사용자 세션이 생성됩니다.  일치 항목이 없으면 IdP는 NoAuthnContext 응답을 SP에 반환합니다. 응답에는 IdP가 요청된 인증 컨텍스트를 지원하지 않는다는 메시지가 포함됩니다.  
  3. 구성된 경우 SP가 어설션의 인증 컨텍스트 URI를 구성과 비교하여 유효한지 확인합니다.  유효성 검사에 성공하면 인증 트랜잭션이 완료됩니다.  
중요!
일치(exact) 비교 연산자만 지원됩니다. SP가 다른 비교 연산자를 전송하면 SP에 오류 응답이 반환됩니다. 이 오류는 요청이 지원되지 않음을 나타냅니다. 템플릿에 정의된 인증 컨텍스트 URI는 SP가 요청한 컨텍스트 중 하나와 일치해야 합니다.
SP에서 시작되는 SSO에 대한 인증 컨텍스트 결과
첫 번째 표에서는 샘플 동적 인증 컨텍스트 템플릿을 보여 줍니다. 이후 표에서는 요청된 인증 컨텍스트 및 동적 인증 컨텍스트 처리를 기반으로 하는 결과를 나열합니다.
요청된 인증 컨텍스트의 강도가 초기 세션 컨텍스트보다 낮은 경우 IdP는 어설션에서 "일치" 인증 컨텍스트를 반환합니다. 각 표에 이 결과가 나타나 있습니다.
표에서는 SP에서 시작된 싱글 사인온을 가정합니다.
인증 컨텍스트 템플릿 구성
인증
컨텍스트 URI
기본값
강도
인증 수준
인증 URL
SmartCardPKI
아니요
3
31-1000
TimeSyncToken
아니요
2
21-30
암호
1
1-20
초기 세션 컨텍스트: 암호
SP-요청
인증 컨텍스트
비교
결과
암호
exact
성공/암호
TimeSyncToken
exact
TimeSyncToken 인증 URL로 리디렉션
SmartCardPKI
exact
SmartCard PKI 인증 URL로 리디렉션
초기 세션 컨텍스트: TimeSyncToken
SP-요청
인증 컨텍스트
비교
결과
암호
exact
성공/암호
TimeSyncToken
exact
성공/TimeSyncToken
SmartCardPKI
exact
SmartCard PKI 인증 URL로 리디렉션
초기 세션 컨텍스트: SmartCardPKI
SP-요청
인증 컨텍스트
비교
결과
암호
exact
성공/암호
TimeSyncToken
exact
성공/TimeSyncToken
SmartCardPKI
exact
성공//SmartCard PKI
기본 URI로 유효한 세션 및 암호 없음
SP-요청
인증 컨텍스트
비교
결과
없음
없음
암호 인증 URI로 리디렉션
암호
exact
암호 인증 URL로 리디렉션
TimeSyncToken
exact
TimeSyncToken 인증 URL로 리디렉션
SmartcardPKI
exact
SmartCardPKI 인증 URL로 리디렉션
IdP에서 시작되는 SSO에 대한 동적 인증 처리
싱글 사인온이 IdP에서 시작되는 경우 인증 컨텍스트 처리의 단계는 다음과 같습니다.
  1. IdP가 싱글 사인온 트랜잭션을 시작합니다.
    • 사용자에게 유효한 세션이 없으면 사용자는 인증 컨텍스트 템플릿에 구성된 기본 인증 URL로 리디렉션됩니다.
    • 사용자에게 유효한 세션이 있으면 세션에 대한 인증 수준을 기본 인증 컨텍스트 URI의 보호 수준과 비교합니다. 수준의 강도가 최소한 기본값 강도가 아니면 사용자는 기본 URI의 인증 URL로 리디렉션됩니다. 그런 다음 사용자가 인증됩니다. 이 프로세스는 어설션을 생성하는 데 필요한 최소 인증 수준을 설정합니다.
  2. IdP가 어설션을 생성하고 인증 컨텍스트를 여기에 포함합니다. 그런 다음 어설션이 SP에 전송됩니다.
  3. 구성된 경우 SP가 어설션의 인증 컨텍스트 URI를 구성과 비교하여 유효한지 확인합니다.  유효성 검사에 성공하면 인증 트랜잭션이 완료됩니다.
Single Sign-On
가 SP에 있는 경우 수신되는 인증 컨텍스트의 유효성을 검사하도록 SP를 구성할 수 있습니다. 유효성 검사에 성공하려면 어설션의 authncontext 값이 SP 파트너 관계에서 사용하는 템플릿의 인증 컨텍스트 URI 중 하나와 일치해야 합니다.