스마트 카드 및 원격 데스크톱 서비스
IT 전문가를 위한 이 항목에서는 스마트 카드 로그인을 구현할 때 원격 데스크톱 서비스의 동작에 대해 설명합니다.
스마트 카드 리디렉션 논리와 WinSCard API가 결합되어 여러 리디렉션된 세션을 단일 프로세스로 지원합니다.
많은 원격 데스크톱 서비스 시나리오를 사용하도록 설정하려면 스마트 카드 지원이 필요합니다. 확인할 수 있습니다.
- 빠른 사용자 전환 또는 원격 데스크톱 서비스 사용. 사용자는 리디렉션된 스마트 카드 기반 원격 데스크톱 연결을 설정할 수 없습니다. 즉, 빠른 사용자 전환 또는 원격 데스크톱 서비스 세션에서 연결 시도가 성공하지 못했습니다.
- EFS(파일 시스템 암호화)를 사용하여 빠른 사용자 전환 또는 원격 데스크톱 서비스 세션에서 LSA(로컬 보안 기관) 프로세스에서 사용자의 스마트 카드 판독기를 찾을 수 있습니다. EFS에서 스마트 카드 판독기 또는 인증서를 찾을 수 없는 경우 EFS는 사용자 파일의 암호를 해독할 수 없습니다.
원격 데스크톱 서비스 리디렉션
원격 데스크톱 시나리오에서 사용자는 서비스를 실행하기 위해 원격 서버를 사용하고 스마트 카드 사용자가 사용하는 컴퓨터에 로컬입니다. 스마트 카드 로그인 시나리오에서 원격 서버의 스마트 카드 서비스는 사용자가 로그인하려는 로컬 컴퓨터에 연결된 스마트 카드 판독기로 리디렉션됩니다.
원격 데스크톱 리디렉션
리디렉션 모델에 대한 참고 사항:
- 이 시나리오는 원격 데스크톱 서비스가 있는 컴퓨터의 원격 로그인 세션입니다. 원격 세션( 클라이언트 세션으로 레이블 지정)에서 사용자가 실행됩니다.
net use /smartcard
- 화살표는 사용자가 RDC(원격 데스크톱 연결) 클라이언트 컴퓨터에 연결된 스마트 카드 판독기에서 사용자의 스마트 카드 도달할 때까지 명령 프롬프트에서 PIN을 입력한 후 PIN의 흐름을 나타냅니다.
- 인증은 세션 0에서 LSA에 의해 수행됩니다.
- CryptoAPI 처리는 LSA(
lsass.exe
)에서 수행됩니다. RDP 리제이렉터(rdpdr.sys
)는 프로세스별 컨텍스트가 아닌 세션당을 허용하기 때문에 가능합니다. - ScHelper 라이브러리는 Kerberos 프로토콜과 관련된 CryptoAPI 래퍼입니다.
- 리디렉션 결정은 호출을 수행하는 스레드의 세션에 따라 스마트 카드 컨텍스트별로 결정됩니다.
SCardEstablishContext
RD 세션 호스트 서버 Single Sign-In 환경
공통 조건 준수의 일환으로 RDC 클라이언트는 자격 증명 관리자를 사용하여 사용자의 암호 또는 스마트 카드 PIN을 획득하고 저장하도록 구성할 수 있어야 합니다. 일반적인 조건 준수를 사용하려면 애플리케이션이 사용자의 암호 또는 PIN에 직접 액세스할 수 없습니다.
일반적인 조건 준수를 위해서는 특히 암호 또는 PIN이 LSA를 암호화되지 않은 상태로 두지 않도록 해야 합니다. 분산 시나리오에서는 암호 또는 PIN이 신뢰할 수 있는 LSA와 다른 LSA 간에 이동할 수 있도록 허용해야 하며 전송 중에 암호화할 수 없습니다.
원격 데스크톱 서비스 세션에 스마트 카드 지원 SSO(Single Sign-In)를 사용하는 경우 사용자는 여전히 모든 새 원격 데스크톱 서비스 세션에 로그인해야 합니다. 그러나 사용자에게 원격 데스크톱 서비스 세션을 설정하기 위해 PIN을 두 번 이상 묻는 메시지가 표시되지 않습니다. 예를 들어 사용자가 원격 컴퓨터에 있는 Microsoft Word 문서 아이콘을 두 번 클릭하면 PIN을 입력하라는 메시지가 표시됩니다. 이 PIN은 자격 증명 SSP가 설정한 보안 채널을 사용하여 전송됩니다. PIN은 보안 채널을 통해 RDC 클라이언트로 다시 라우팅되고 Winlogon으로 전송됩니다. PIN이 올바르지 않거나 스마트 카드 관련 오류가 없는 한 사용자는 PIN에 대한 추가 프롬프트를 받지 않습니다.
원격 데스크톱 서비스 및 스마트 카드 로그인
원격 데스크톱 서비스를 사용하면 사용자가 RDC 클라이언트 컴퓨터에 PIN을 입력하고 사용자 이름 및 암호를 기반으로 하는 인증과 유사한 방식으로 RD 세션 호스트 서버로 전송하여 스마트 카드 로그인할 수 있습니다.
또한 원격 데스크톱 서비스와 관련된 그룹 정책 설정을 스마트 카드 기반 로그인에 사용하도록 설정해야 합니다.
RD 세션 호스트(원격 데스크톱 세션 호스트) 서버에 스마트 카드 로그인을 사용하도록 설정하려면 RDC 클라이언트 컴퓨터에 KDC(키 배포 센터) 인증서가 있어야 합니다. 컴퓨터가 동일한 도메인 또는 작업 그룹에 없는 경우 다음 명령을 사용하여 인증서를 배포할 수 있습니다.
certutil.exe -dspublish NTAuthCA "DSCDPContainer"
DSCDPContainer
CN(일반 이름)은 일반적으로 인증 기관의 이름입니다.
예제:
certutil -dspublish NTAuthCA <CertFile> "CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=engineering,DC=contoso,DC=com"
명령줄 도구에 대한 이 옵션에 대한 자세한 내용은 -dsPublish를 참조하세요.
도메인 간 원격 데스크톱 서비스 및 스마트 카드 로그인
엔터프라이즈의 리소스에 대한 원격 액세스를 사용하도록 설정하려면 도메인에 대한 루트 인증서를 스마트 카드 프로비전해야 합니다. 도메인에 조인된 컴퓨터에서 명령줄에서 다음 명령을 실행합니다.
certutil.exe -scroots update
명령줄 도구에 대한 이 옵션에 대한 자세한 내용은 -SCRoots를 참조하세요.
도메인 간 원격 데스크톱 서비스의 경우 RD 세션 호스트 서버의 KDC 인증서도 클라이언트 컴퓨터의 NTAUTH 저장소에 있어야 합니다. 저장소를 추가하려면 명령줄에서 다음 명령을 실행합니다.
certutil -addstore -enterprise NTAUTH <CertFile>
여기서 CertFile 은 KDC 인증서 발급자의 루트 인증서입니다.
명령줄 도구에 대한 이 옵션에 대한 자세한 내용은 -addstore를 참조하세요.
참고
도메인에 가입되지 않은 컴퓨터에서 스마트 카드 사용하여 로그인하려면 스마트 카드 도메인 컨트롤러의 루트 인증을 포함해야 합니다. 도메인 컨트롤러의 루트 인증 없이는 PKI(공개 키 인프라) 보안 채널을 설정할 수 없습니다.
도메인에서 원격 데스크톱 서비스에 로그인하는 것은 인증서의 UPN이 형식 <ClientName>@<DomainDNSName>
을 사용하는 경우에만 작동합니다.
인증서의 UPN에는 확인할 수 있는 도메인이 포함되어야 합니다. 그렇지 않으면 Kerberos 프로토콜에서 연결할 도메인을 확인할 수 없습니다. GPO X509 도메인 힌트를 사용하도록 설정하여 이 문제를 resolve 수 있습니다. 이 설정에 대한 자세한 내용은 스마트 카드 그룹 정책 및 레지스트리 설정을 참조하세요.