Windows 인증 개념
이 참조 개요 항목에서는 Windows 인증을 기반으로 하는 개념에 대해 설명합니다.
인증은 개체 또는 사용자의 ID를 확인하는 프로세스입니다. 개체 인증의 목표는 개체가 올바른지 확인하는 데 있습니다. 사용자를 인증하는 경우 목표는 해당 사용자가 사기꾼이 아닌지 확인하는 것입니다.
네트워킹 컨텍스트에서 인증은 네트워크 애플리케이션이나 리소스에 대해 ID를 증명하는 행위입니다. 일반적으로 ID는 (공용 키 암호화와 같이) 사용자만 아는 키 또는 공유 키를 사용하는 암호화 작업을 통해 증명됩니다. 인증 교환의 서버 쪽에서는 서명된 데이터를 알려진 암호화 키와 비교하여 인증 시도의 유효성을 검사합니다.
암호화 키를 안전한 중앙 위치에 저장하면 인증 프로세스를 쉽게 확장하고 유지 관리할 수 있습니다. 사용자의 자격 증명인 암호화 키를 포함한 ID 정보를 저장할 때는 기본 기술인 Active Directory를 사용하는 것이 좋습니다. 기본 NTLM 및 Kerberos 구현에는 Active Directory가 필요합니다.
인증 기술은 간단한 로그온에서 운영 체제 또는 로그인부터 암호와 같이 사용자만 알고 있는 항목을 기반으로 사용자를 식별하는 서비스 또는 애플리케이션에 이르기까지 다양하며 토큰, 공개 키 인증서, 사진 또는 생물학적 특성과 같이 사용자가 가지고 있는 것을 사용하는 보다 강력한 보안 메커니즘에 이르기까지 다양합니다. 비즈니스 환경에서 사용자는 단일 위치 또는 여러 위치에서 다양한 유형의 서버에 있는 다중 애플리케이션이나 리소스에 액세스할 수 있습니다. 이러한 이유로, 인증은 다른 플랫폼 및 다른 Windows 운영 체제의 환경을 지원해야 합니다.
인증 및 권한 부여: 여행 비유
여행 비유는 인증의 작동 방식을 설명하는 데 도움이 될 수 있습니다. 여정을 시작하기 위해서는 일반적으로 몇 가지 준비 작업이 필요합니다. 여행자는 호스트 기관에 자신의 실제 ID를 증명해야 합니다. 이 증명은 시민권, 출생지, 개인 바우처, 사진 또는 호스트 국가의 법에서 요구하는 모든 형태가 될 수 있습니다. 여행자의 신원은 여권 발급에 의해 검증되며 이는 조직이 발급하고 관리하는 시스템 계정인 보안 주체와 유사합니다. 여권과 의도된 목적지는 정부 당국이 발행한 일련의 규칙 및 규정을 기반으로 합니다.
여정
여행자가 해외 국경에 도착하면 국경 경비대가 자격 증명을 요청하고 여행자는 여권을 제시합니다. 프로세스는 두 가지입니다.
경비대는 지방 정부가 신뢰하는(적어도 여권을 발급하기 위해 신뢰하는) 보안 당국에서 여권을 발급했는지 확인하고 여권이 수정되지 않은 것을 확인하여 여권을 인증합니다.
경비대는 얼굴이 여권에 있는 사람의 얼굴과 일치하고 다른 필요한 자격 증명이 양호한지 확인하여 여행자를 인증합니다.
여권이 유효하고 여행자가 여권의 소유자로 입증되면 인증에 성공하며 여행자가 국경을 넘을 수 있습니다.
보안 당국 간의 전이적 신뢰는 인증의 기초입니다. 해외 국경에서 발생하는 인증 유형은 신뢰를 기반으로 합니다. 지방 정부는 여행자를 알지 못하지만 호스트 정부가 안다는 것을 신뢰합니다. 호스트 정부가 여권을 발급했을 때는 호스트 정부도 여행자를 알지 못했습니다. 출생 증명서 또는 다른 문서를 발급한 기관을 신뢰한 것입니다. 출생 증명서를 발급한 기관은 증명서에 서명한 의사를 차례로 신뢰했습니다. 의사는 여행자의 출생을 목격했고 신원의 직접적인 증명(이 경우에는 신생아의 발자국)과 함께 증명서에 스탬프를 찍었습니다. 신뢰할 수 있는 중개인을 통해 이러한 방식으로 전송되는 신뢰는 전이적입니다.
전이적 신뢰는 Windows 클라이언트/서버 아키텍처의 네트워크 보안을 위한 기반입니다. 신뢰 관계는 도메인 트리와 같은 도메인 집합 전체에 걸쳐 흐르며 도메인과 해당 도메인을 신뢰하는 모든 도메인 간에 관계를 형성합니다. 예를 들어 도메인 A에 도메인 B에 대한 전이적 신뢰가 있고 도메인 B가 도메인 C를 신뢰하는 경우 도메인 A는 도메인 C를 신뢰합니다.
인증과 권한 부여에는 차이가 있습니다. 인증을 통해 시스템은 사용자 자신이 누구인지 증명합니다. 권한 부여를 통해 시스템은 사용자가 하고자 하는 작업을 수행할 수 있는 권한이 있는지 확인합니다. 다음 단계에 국경 비유를 들기 위해 단지 여행자가 유효한 여권의 적절한 소유자임을 인증하는 것은 반드시 여행자에게 입국할 수 있는 권한을 부여하지는 않습니다. 특정 국가의 거주자는 특정 국가의 모든 시민이 입국할 수 있는 무제한 허가를 부여하는 경우에만 여권을 제시하여 다른 국가에 입국할 수 있습니다.
이와 유사하게 특정 도메인의 모든 사용자에게 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 캐나다에서 미국 시민이 캐나다에 입국할 수 있도록 하는 것처럼 해당 도메인에 속한 모든 사용자는 리소스에 액세스할 수 있습니다. 하지만 브라질이나 인도에 입국하려는 미국 시민들은 두 국가 모두에 유효한 비자를 소지해야 하기 때문에 여권을 제시하는 것만으로는 입국할 수 없다는 것을 알게 되었습니다. 따라서 인증은 리소스에 대한 액세스나 리소스를 사용하기 위한 권한 부여를 보장하지 않습니다.
자격 증명
주의
사용자가 로컬 로그온을 수행할 때 해당 자격 증명은 네트워크를 통해 ID 공급자로 인증되기 전에 캐시된 복사본에 대해 로컬로 확인됩니다. 캐시 확인에 성공하면 디바이스가 오프라인인 경우에도 사용자가 데스크톱에 액세스할 수 있습니다. 그러나 사용자가 클라우드에서 암호를 변경하는 경우 캐시된 검증 도구는 업데이트되지 않으므로 이전 암호를 사용하여 로컬 컴퓨터에 계속 액세스할 수 있습니다.
여권 및 가능한 관련 비자는 여행자에게 허용되는 자격 증명입니다. 하지만 이러한 자격 증명은 여행자가 국가 내의 모든 리소스를 입력하거나 액세스하도록 허용하지 않을 수 있습니다. 예를 들어 회의에 참석하려면 추가적인 자격 증명이 필요합니다. Windows에서 계정 소유자는 자격 증명을 반복적으로 제공하지 않고도 네트워크를 통해 리소스에 액세스할 수 있도록 자격 증명을 관리할 수 있습니다. 이러한 유형의 액세스를 통해 사용자는 시스템에서 1회 인증을 받아 다른 계정 식별자 또는 암호를 입력하지 않고도 사용할 수 있는 모든 애플리케이션 및 데이터 원본에 액세스할 수 있습니다. Windows 플랫폼은 운영 체제의 LSA(로컬 보안 기관)에서 로컬로 사용자 자격 증명을 캐싱하여 네트워크를 통해 단일 사용자 ID(Active Directory에서 유지 관리)를 사용하는 기능을 활용합니다. 사용자가 도메인에 로그온하는 경우 Windows 인증 패키지는 자격 증명을 투명하게 사용하여 네트워크 리소스에 자격 증명을 인증할 때 Single Sign-On을 제공합니다. 자격 증명에 대한 자세한 내용은 Windows 인증의 자격 증명 프로세스를 참조하세요.
여행자를 위한 다단계 인증의 한 가지 양식은 여권 및 회의 등록 정보와 같은 자신의 신원을 인증하기 위해 여러 문서를 소지하고 제시하는 요구 사항일 수 있습니다. Windows는 스마트 카드, 가상 스마트 카드 및 생체 인식 기술을 통해 이 양식이나 인증을 구현합니다.
보안, 주체 및 계정
Windows에서는 작업을 시작할 수 있는 사용자, 서비스, 그룹 또는 컴퓨터가 보안 주체입니다. 보안 주체에는 컴퓨터에 로컬이거나 도메인 기반일 수 있는 계정이 있습니다. 예를 들어 Windows 클라이언트 도메인 조인 컴퓨터는 사용자 로그온이 없는 경우에도 도메인 컨트롤러와 통신하여 네트워크 도메인에 참여할 수 있습니다. 통신을 시작하려면 컴퓨터에 도메인에 활성 계정이 있어야 합니다. 컴퓨터로부터 통신을 수락하기 전에 도메인 컨트롤러의 로컬 보안 기관은 컴퓨터의 ID를 인증한 다음, 사용자 보안 주체와 마찬가지로 컴퓨터의 보안 컨텍스트를 정의합니다. 이 보안 컨텍스트는 특정 컴퓨터 또는 네트워크 상의 사용자, 서비스, 그룹 또는 컴퓨터에서 사용자 또는 서비스의 ID와 기능을 정의합니다. 예를 들어 액세스할 수 있는 파일 공유 또는 프린터 및 해당 리소스의 사용자, 서비스 또는 컴퓨터에서 수행할 수 있는 읽기, 쓰기 또는 수정과 같은 작업을 정의합니다. 자세한 내용은 보안 주체를 참조하세요.
계정은 액세스 또는 리소스를 요청하는 청구인(사용자 또는 서비스)를 식별하는 수단입니다. 진짜 여권을 소지한 여행자는 호스트 국가와 계정을 소유합니다. 사용자, 사용자의 그룹, 개체 및 서비스는 모두 개별 계정을 갖거나 계정을 공유할 수 있습니다. 계정은 그룹의 구성원일 수 있으며 특정 권리 및 권한을 할당할 수 있습니다. 계정은 로컬 컴퓨터, 작업 그룹, 네트워크로 제한되거나 구성원 자격을 도메인에 할당할 수 있습니다.
기본 제공 계정 및 구성원인 보안 그룹은 Windows의 각 버전에서 정의됩니다. 보안 그룹을 사용하면 성공적으로 인증된 많은 사용자에게 동일한 보안 권한을 할당함으로써 액세스 관리를 간소화할 수 있습니다. 여권 발급을 위한 규칙은 여행자를 비즈니스, 관광 또는 정부와 같은 특정 그룹에 할당하도록 요구할 수 있습니다. 이 프로세스는 그룹의 모든 구성원에게 일관된 보안 권한을 보장합니다. 권한을 할당하도록 보안 그룹을 사용하면 리소스에 대한 액세스 제어가 일정하게 유지되고 관리 및 감사가 용이해집니다. 적절한 보안 그룹에서 액세스해야 하는 사용자를 필요에 따라 추가하고 제거하면 ACL(액세스 제어 목록)에 대한 변경 빈도를 최소화할 수 있습니다.
독립 실행형 관리 서비스 계정 및 가상 계정은 Windows Server 2008 R2 및 Windows 7에 도입되어 Microsoft Exchange Server 및 IIS(인터넷 정보 서비스)와 같은 필수 애플리케이션에 자체 도메인 계정을 격리하는 동시에 관리자가 수동으로 이러한 계정의 SPN(서비스 사용자 이름) 및 자격 증명을 관리할 필요가 없도록 했습니다. 그룹 관리 서비스 계정은 Windows Server 2012에 도입되었으며 도메인 내에서 이와 동일한 기능을 제공하는 동시에 이 기능을 여러 개의 서버로 확장합니다. 네트워크 부하 분산과 같이 서버 팜에서 호스트된 서비스에 연결하는 경우 상호 인증을 지원하는 인증 프로토콜을 사용하려면 모든 서비스 인스턴스가 동일한 사용자를 사용해야 합니다.
계정에 대한 자세한 내용은 다음을 참조하세요.
위임된 인증
여행 비유를 사용하기 위해 국가는 대표단이 잘 알려진 한 공식 정부 대표단의 모든 구성원에게 동일한 액세스 권한을 부여할 수 있습니다. 이 위임을 통해 한 구성원은 다른 구성원의 권한에 따라 작업할 수 있습니다. Windows에서 위임된 인증은 네트워크 서비스가 사용자의 인증 요청을 수락하고 두 번째 네트워크 서비스에 대한 새 연결을 시작하기 위해 해당 사용자의 ID를 가정하는 경우 발생합니다. 위임된 인증을 지원하려면 클라이언트 인증 요청 및 백 엔드 또는 N 계층 서버(예: 대용량 데이터베이스)를 처리하는 프런트 엔드 또는 웹 서버와 같은 첫 번째 계층 서버를 설정해야 합니다. 위임된 인증을 조직의 사용자에게 위임함으로써 관리자의 관리 부하를 줄일 수 있는 권한을 위임할 수 있습니다.
위임을 위해 신뢰할 수 있는 서비스 또는 컴퓨터를 설정하여 해당 서비스 또는 컴퓨터가 위임된 인증을 완료하고 요청하는 사용자에 대한 티켓을 받은 다음, 해당 사용자의 정보에 액세스하도록 허용합니다. 이 모델은 올바른 액세스 제어 토큰으로 자격 증명을 제공하는 사용자나 서비스로만 백 엔드 서버의 데이터 액세스를 제한합니다. 또한 이러한 백 엔드 리소스에 대한 액세스 감사도 허용합니다. 클라이언트를 대신하여 사용하기 위해 서버에 위임된 자격 증명을 통해 모든 데이터에 액세스하도록 요구하면 서버가 손상될 수 없고 다른 서버에 저장된 중요한 정보에 액세스할 수 있는지 확인할 수 있습니다. 위임된 인증은 여러 컴퓨터에서 Single Sign-On 기능을 사용하도록 고안된 다중 계층 애플리케이션에 유용합니다.
도메인 간 트러스트 관계에서의 인증
도메인이 두 개 이상인 대부분의 조직에서는 여행자가 해당 국가에서 다른 지역으로의 여행이 허용되는 것처럼 사용자가 다른 도메인에 있는 공유 리소스에 액세스할 수 있어야 합니다. 이 액세스를 제어하기 위해서는 한 도메인의 사용자를 인증하고 다른 도메인의 리소스를 사용할 수 있는 권한을 부여받아야 합니다. 서로 다른 도메인에 있는 클라이언트와 서버 간에 인증 및 권한 부여 기능을 제공하려면 두 개의 도메인 간에 신뢰가 있어야 합니다. 트러스트는 보안 Active Directory 통신에서 발생하는 기본 기술이며 Windows Server 네트워크 아키텍처의 필수 보안 구성 요소입니다.
트러스트가 두 개의 도메인 사이에 있는 경우 각 도메인의 인증 메커니즘은 다른 도메인에서 들어오는 인증을 신뢰합니다. 트러스트는 수신되는 인증 요청이 신뢰할 수 있는 기관(신뢰할 수 있는 도메인)에서 온 것인지 확인하여 리소스 도메인(신뢰할 수 있는 도메인)의 공유 리소스에 대한 제어된 액세스를 제공하는 데 도움이 됩니다. 이 방식으로 트러스트는 유효성이 검사된 인증 요청만 도메인 간에 이동되도록 허용하는 브리지 역할을 합니다.
특정 트러스트가 인증 요청을 전달하는 방법은 구성 방법에 따라 다릅니다. 트러스트 관계는 신뢰할 수 있는 도메인에서 신뢰할 수 있는 도메인의 리소스에 대한 액세스를 제공하거나 다른 도메인의 리소스에 대한 액세스를 각 도메인에서 양방향으로 제공하여 단방향일 수 있습니다. 트러스트는 또한 비전환적이며 이 경우 트러스트는 두 개의 트러스트 파트너 도메인 간에만 존재하거나 전이적입니다. 이러한 경우 트러스트는 파트너 중 하나가 신뢰하는 다른 도메인으로 자동 확장됩니다.
트러스트 작동 방식에 대한 자세한 내용은 도메인 및 포리스트 트러스트의 작동 방식을 참조하세요.
프로토콜 전환
프로토콜 전환은 애플리케이션이 사용자 인증 계층에서 다양한 인증 메커니즘을 지원하도록 돕고 후속 애플리케이션 계층에서 상호 인증 및 제한된 위임과 같은 보안 기능에 대한 Kerberos 프로토콜로 전환하여 애플리케이션 디자이너를 지원합니다.
프로토콜 전환에 대한 자세한 내용은 Kerberos 프로토콜 전환 및 제한된 위임을 참조하세요.
제한된 위임
제한된 위임을 통해 서비스 관리자는 애플리케이션 서비스가 사용자 대신 작업을 수행할 수 있는 범위를 제한하여 애플리케이션 트러스트 경계를 지정 및 적용할 수 있습니다. 위임에 관해 신뢰할 수 있는 컴퓨터가 리소스를 요청할 수 있는 특정 서비스를 지정할 수 있습니다. 서비스의 권한 부여 권한을 제한할 수 있는 유연성은 신뢰할 수 없는 서비스에 의한 손상 기회를 줄여 애플리케이션 보안 설계를 개선하는 데 도움이 됩니다.
제한된 위임에 대한 자세한 내용은 Kerberos 제한된 위임 개요를 참조하세요.