케르베로스 인증
1. 개요
1. 개요
케르베로스 인증은 네트워크 상에서 사용자와 서비스의 신원을 안전하게 확인하기 위한 인증 프로토콜이다. 이 프로토콜은 대칭키 암호화 방식을 기반으로 하며, 신뢰할 수 있는 제삼자인 키 분배 센터(KDC)를 통해 티켓을 발급하고 관리하는 방식으로 작동한다. 케르베로스의 주요 목표는 암호가 네트워크를 통해 평문으로 전송되는 것을 방지하여, 재생 공격을 포함한 다양한 보안 위협으로부터 시스템을 보호하는 것이다.
이 인증 방식은 사용자가 한 번의 로그인으로 여러 서비스에 접근할 수 있는 싱글 사인온(SSO) 환경을 제공하는 데 널리 사용된다. 특히 대규모 기업 네트워크나 캠퍼스 네트워크와 같이 중앙 집중식 사용자 관리가 필요한 환경에서 효과적이다. 케르베로스는 MIT에서 애테나 프로젝트의 일환으로 개발되었으며, 그 이름은 그리스 신화에 등장하는 지하세계를 지키는 삼두견에서 유래했다.
케르베로스 프로토콜의 핵심은 인증 서버(AS)와 티켓 부여 서버(TGS)로 구성된 KDC가 사용자에게 티켓 부여 티켓(TGT)과 서비스 티켓(ST)을 발급하는 과정에 있다. 사용자는 최초 인증 시 암호를 기반으로 생성된 키로 TGT를 얻고, 이후 특정 서비스에 접근할 때마다 이 TGT를 사용하여 해당 서비스용 ST를 요청한다. 이 과정에서 사용자의 암호나 세션 키가 네트워크를 통해 직접 전송되지 않아 보안성이 강화된다.
이 프로토콜은 Microsoft Windows의 Active Directory 도메인 서비스에서 기본 인증 메커니즘으로 채택되어 있으며, 유닉스 및 리눅스 기반 시스템에서도 널리 구현되어 있다. 케르베로스는 강력한 상호 인증, 제한된 티켓 수명을 통한 보안 유지, 그리고 중앙 집중식 관리를 통한 편의성 등의 장점을 제공한다.
2. 역사와 배경
2. 역사와 배경
케르베로스 인증은 1980년대 후반 매사추세츠 공과대학교(MIT)의 아테나 프로젝트의 일환으로 개발되었다. 당시 프로젝트는 분산된 컴퓨팅 환경에서 사용자 인증과 자원 접근 제어를 효율적으로 관리할 필요가 있었다. 기존의 패스워드 기반 인증 방식은 네트워크를 통해 평문으로 자격 증명이 전송될 위험이 있었고, 각 서비스마다 별도의 인증을 요구하는 것은 사용자에게 불편을 초래했다.
이러한 문제를 해결하기 위해 MIT 연구진은 대칭키 암호화를 기반으로 한 티켓 기반의 신뢰할 수 있는 제삼자 인증 프로토콜을 설계하였다. 이 프로토콜은 그리스 신화에서 지하세계를 지키는 다중 머리를 가든 개의 이름을 따 '케르베로스'로 명명되었다. 케르베로스의 핵심 아이디어는 중앙 인증 서버가 사용자에게 서비스 접근을 위한 암호화된 티켓을 발급해 주면, 사용자는 이 티켓을 여러 서버에 제시함으로써 반복적인 로그인 없이 안전하게 인증받을 수 있다는 것이다.
초기 버전인 케르베로스 버전 4는 프로젝트 아테나 내에서 널리 사용되었으며, 이후 보안성을 강화한 케르베로스 버전 5가 표준으로 자리 잡게 되었다. 이 프로토콜은 네트워크 상에서의 안전한 단일 로그온(SSO)을 실현하는 데 기여하였고, 이후 마이크로소프트의 윈도우 액티브 디렉토리와 같은 상업적 시스템의 핵심 인증 메커니즘으로 채택되며 그 중요성이 더욱 부각되었다.
3. 작동 원리
3. 작동 원리
3.1. 티켓 부여 티켓(TGT) 획득
3.1. 티켓 부여 티켓(TGT) 획득
사용자가 네트워크 인증 시스템에 처음 로그인할 때 수행되는 첫 번째 단계가 티켓 부여 티켓(TGT) 획득 과정이다. 사용자는 클라이언트 시스템을 통해 자신의 사용자 ID를 인증 서버(AS)에 제출한다. 이때, 인증 서버는 사용자의 신원을 확인하기 위해 다중 인증(MFA)과 같은 강력한 보안 절차를 요구할 수 있다. 이는 비밀번호 단일 요소만으로는 부족하며, 추가적인 인증 요소를 통해 접근 제어를 강화하기 위함이다.
인증에 성공하면 인증 서버는 사용자와 티켓 부여 서버(TGS) 간의 안전한 통신을 위한 세션 키를 생성한다. 이 세션 키는 사용자의 비밀번호에서 파생된 키로 암호화되어 사용자에게 전달된다. 동시에 인증 서버는 TGT를 생성하는데, 이 티켓에는 사용자 ID, 타임스탬프, 티켓 유효 기간, 그리고 앞서 생성된 사용자-TGS 세션 키가 포함된다. TGT는 티켓 부여 서버만이 알 수 있는 비밀키로 암호화되어 사용자에게 전송된다. 사용자는 세션 키를 복호화하여 보관할 수 있지만, TGT 자체는 암호화된 상태로만 저장하여 내용을 확인하거나 변경할 수 없다. 이렇게 획득한 TGT는 이후 특정 서버에 접근하기 위한 서비스 티켓을 요청할 때 재사용되는 일종의 마스터 티켓 역할을 한다.
3.2. 서비스 티켓(ST) 요청
3.2. 서비스 티켓(ST) 요청
클라이언트가 티켓 부여 티켓을 성공적으로 획득한 후, 특정 서버나 네트워크 서비스에 접근하고자 할 때는 서비스 티켓을 요청해야 한다. 이 과정은 티켓 부여 서버를 대상으로 이루어진다. 클라이언트는 자신의 TGT와 접근을 원하는 서비스의 식별자(일반적으로 서비스 프린시펄 네임)를 포함한 요청 메시지를 암호화하여 TGS에게 전송한다.
티켓 부여 서버는 수신한 TGT를 자신이 보유한 비밀키로 복호화하여 그 유효성을 검증한다. 검증이 완료되면, TGS는 요청된 서비스에 대한 새로운 세션 키를 생성하고, 이 키를 두 부분으로 나누어 클라이언트에게 응답한다. 첫 번째 부분은 서비스 세션 키를 클라이언트의 비밀키(사용자 암호에서 파생)로 암호화한 것이며, 두 번째 부분은 동일한 서비스 세션 키와 클라이언트 정보를 서버의 비밀키로 암호화한 서비스 티켓이다.
이렇게 발급받은 서비스 티켓은 재사용이 가능하다. 티켓의 유효 기간 내에서는 클라이언트가 동일한 서비스에 다시 접근할 때마다 TGT를 사용해 TGS에 새로운 서비스 티켓을 요청할 필요 없이, 기존에 발급받은 서비스 티켓을 직접 응용 프로그램 서버에게 제출하면 된다. 이는 네트워크 트래픽과 티켓 부여 서버의 부하를 줄이는 데 기여한다.
3.3. 서비스 접근
3.3. 서비스 접근
사용자가 서비스 티켓을 성공적으로 획득한 후, 실제로 원하는 네트워크 서비스나 응용 프로그램에 접근하는 단계이다. 클라이언트는 서비스 서버에 접속 요청을 보낼 때, 획득한 서비스 티켓과 새로 생성된 인증자를 함께 전송한다.
서버는 자신만이 알고 있는 비밀키로 서비스 티켓을 복호화하여 그 안에 포함된 세션 키와 클라이언트 정보를 확인한다. 또한, 클라이언트가 함께 보낸 인증자를 동일한 세션 키로 복호화하여 내부의 타임스탬프가 유효한지 검증한다. 이 과정을 통해 서버는 해당 티켓이 진짜이며, 재전송(재생 공격)이 아닌 현재의 정당한 클라이언트 요청임을 확신할 수 있다.
인증이 완료되면, 서버와 클라이언트는 서비스 티켓 내의 세션 키를 공유하게 되어, 이후의 모든 통신을 이 키로 암호화하여 기밀성과 무결성을 보장한다. 이로써 사용자는 암호를 네트워크에 직접 노출시키지 않고도 안전하게 서비스를 이용할 수 있다.
이러한 서비스 접근 과정은 단일 사인온 환경의 핵심을 이룬다. 사용자는 최초 티켓 부여 티켓 획득 시 한 번만 비밀번호를 입력하면, 이후에는 이와 같은 티켓 교환 과정을 통해 여러 다른 서비스들에 추가 인증 없이 접근이 가능해진다.
4. 구성 요소
4. 구성 요소
4.1. 인증 서버(AS)
4.1. 인증 서버(AS)
인증 서버(Authentication Server, AS)는 케르베로스 인증 프로토콜의 핵심 구성 요소 중 하나로, 사용자의 초기 인증을 담당한다. 사용자가 네트워크에 로그인을 시도하면, 인증 서버는 사용자가 제공한 자격 증명(예: 사용자 ID와 패스워드)의 유효성을 검증한다. 이 과정에서 인증 서버는 디렉터리 서비스(예: LDAP)나 데이터베이스에 저장된 사용자 정보와 비교하여 신원을 확인한다.
인증에 성공하면, 인증 서버는 사용자와 티켓 부여 서버(Ticket Granting Server, TGS) 간의 안전한 통신을 위한 세션 키를 생성한다. 이 세션 키는 사용자의 패스워드에서 파생된 키로 암호화되어 사용자에게 전달된다. 동시에 인증 서버는 티켓 부여 서버를 향한 특별한 티켓인 티켓 부여 티켓(Ticket Granting Ticket, TGT)을 발급한다. 이 TGT에는 사용자 정보와 새로 생성된 세션 키가 포함되어 있으며, 티켓 부여 서버만 알 수 있는 비밀키로 암호화된다.
따라서 인증 서버의 역할은 최초 1회의 강력한 인증을 수행하고, 이후의 모든 서비스 인증 요청에 사용될 수 있는 TGT와 세션 키를 안전하게 제공하는 것이다. 이는 사용자가 매번 패스워드를 입력하지 않고도 다양한 네트워크 서비스에 접근할 수 있는 기반을 마련하며, 중앙 집중식 인증의 이점을 실현한다. 인증 서버는 보안 정책에 따라 인증 방식을 결정하며, 다중 인증(MFA)을 지원하도록 확장될 수도 있다.
4.2. 티켓 부여 서버(TGS)
4.2. 티켓 부여 서버(TGS)
티켓 부여 서버(Ticket Granting Server, TGS)는 케르베로스 인증 프로토콜의 핵심 구성 요소 중 하나로, 인증 서버(AS)로부터 티켓 부여 티켓(TGT)을 받은 클라이언트가 특정 네트워크 서비스나 응용 프로그램 서버에 접근하기 위한 실제 서비스 티켓(ST)을 발급받는 역할을 담당한다. TGS는 인증 서버와 마찬가지로 키 배포 센터(KDC) 내에 위치하며, 사용자의 초기 인증 이후 발생하는 모든 후속 서비스 접근 요청을 처리하는 중개자 기능을 수행한다.
클라이언트가 특정 서버(예: 파일 서버, 메일 서버)에 접근하고자 할 때, 자신의 신원을 증명하는 TGT와 접근하려는 서버의 정보를 TGS에 제출한다. TGS는 TGT의 유효성을 검증한 후, 해당 서버와만 공유되는 세션 키를 생성하고 이를 클라이언트와 서버 각각을 위해 암호화하여 서비스 티켓을 만들어 클라이언트에게 전달한다. 이 과정에서 클라이언트는 서버의 비밀번호를 알 필요 없이 안전하게 서비스를 요청할 수 있다.
TGS의 운영은 단일 실패점(SPOF)이 될 수 있다는 점에서 중요하며, 가용성과 보안을 위해 보통 복제되어 구성된다. 또한, TGS가 발급하는 모든 서비스 티켓에는 유효 기간이 설정되어 있어, 재생 공격을 방지하고 보안을 강화한다. 이는 중앙 집중식 인증 시스템의 효율성과 접근 제어의 정밀성을 동시에 실현하는 메커니즘이다.
4.3. 클라이언트/사용자
4.3. 클라이언트/사용자
클라이언트/사용자는 케르베로스 인증 프로토콜에서 서비스를 이용하려는 주체를 가리킨다. 이는 일반적으로 최종 사용자인 사람일 수도 있고, 다른 시스템이나 서비스를 대신하여 인증을 수행해야 하는 프로그램일 수도 있다. 클라이언트의 핵심 역할은 자신의 신원(아이디와 비밀번호)을 안전하게 인증 서버(AS)에 증명하고, 이후 획득한 티켓을 사용하여 원하는 서버에 접근하는 것이다.
인증 과정에서 클라이언트는 먼저 티켓 부여 티켓(TGT)을 획득하기 위해 인증 서버에 접근한다. 이때 사용자는 자신의 비밀번호에서 파생된 키를 사용하거나, 스마트 카드 같은 다른 수단을 통해 신원을 확인받는다. 성공적으로 인증되면 클라이언트는 티켓 부여 서버(TGS)로부터 발급받은 TGT와 그에 대한 세션 키를 로컬 자격 증명 캐시에 안전하게 저장한다.
이후 특정 서비스(예: 파일 서버, 이메일 시스템)에 접근해야 할 때마다 클라이언트는 저장된 TGT를 사용하여 티켓 부여 서버에 새로운 서비스 티켓(ST)을 요청한다. 최종적으로 이 서비스 티켓을 해당 응용 프로그램 서버에 제출함으로써 접근 권한을 부여받게 된다. 클라이언트 측에서는 사용자의 비밀번호가 네트워크를 통해 전송되지 않으며, 티켓의 유효 기간이 관리되어 보안이 강화된다는 이점을 가진다.
4.4. 서비스/응용 프로그램 서버
4.4. 서비스/응용 프로그램 서버
서비스/응용 프로그램 서버는 케르베로스 인증 프로토콜에서 최종적으로 접근하고자 하는 자원이나 서비스를 호스팅하는 주체이다. 사용자는 클라이언트를 통해 이 서버가 제공하는 특정 서비스(예: 파일 공유, 이메일, 데이터베이스)를 이용하기 위해 인증을 받아야 한다. 이 서버는 인증 서버(AS)와 티켓 부여 서버(TGS)와는 구별되는, 실제 업무가 수행되는 최종 목적지 역할을 한다.
서비스 서버는 클라이언트로부터 서비스 티켓(ST)을 전달받으면, 자신과 티켓 부여 서버만이 공유하는 비밀키를 사용해 해당 티켓을 복호화하고 검증한다. 티켓 검증 과정에서 서버는 티켓 내의 사용자 신원, 유효 기간, 클라이언트 네트워크 주소 정보를 확인하고, 타임스탬프를 검사하여 재생 공격이 아닌지 판단한다. 검증이 성공하면, 서버는 사용자에게 서비스 접근을 허용하고 세션을 수립한다.
이러한 구조는 중앙 집중식 인증 시스템의 핵심 장점을 구현한다. 즉, 각 서비스 서버가 모든 사용자의 비밀번호를 별도로 저장하고 관리할 필요가 없으며, 대신 티켓 부여 서버로부터 발급받은 서비스 티켓이라는 신뢰할 수 있는 증명서를 검증하는 방식으로 접근을 통제한다. 이는 분산 시스템 환경에서 보안 정책의 일관성을 유지하고 관리 부담을 줄이는 데 기여한다.
5. 보안 메커니즘
5. 보안 메커니즘
5.1. 대칭키 암호화
5.1. 대칭키 암호화
케르베로스 인증 프로토콜의 핵심 보안 기반은 대칭키 암호화에 있다. 이 프로토콜은 인증 서버, 티켓 부여 서버, 그리고 최종 서버와의 모든 통신에서 대칭키를 사용하여 티켓과 인증자를 암호화 및 복호화한다. 각 사용자와 서비스는 키 배포 센터와 미리 공유된 비밀키를 가지고 있으며, 이 키를 바탕으로 세션 중에 사용할 일회성 세션 키가 안전하게 생성 및 분배된다.
이러한 방식은 공개키 암호화 방식에 비해 계산상의 부하가 적고 효율적이라는 장점이 있다. 특히, 네트워크를 통해 전송되는 중요한 인증 정보가 강력한 암호화로 보호되며, 키 자체는 절대 평문으로 네트워크를 통해 전송되지 않는다. 대신, 키 배포 센터와 클라이언트가 이미 알고 있는 공유 비밀을 바탕으로 파생된 정보만이 교환되어, 도청에 의한 키 유출 위험을 최소화한다.
케르베로스에서 사용되는 대표적인 대칭키 암호화 알고리즘으로는 DES, 그 후속인 3DES, 그리고 현재 널리 사용되는 AES가 있다. 프로토콜의 버전과 구현 환경에 따라 지원하는 암호화 알고리즘이 달라지며, 최신 구현체들은 보다 강력한 알고리즘을 사용하여 암호화의 강도를 높이고 있다. 이렇게 암호화된 티켓은 클라이언트의 신원과 권한을 증명하는 동시에, 세션 키를 서버에게 안전하게 전달하는 매개체 역할을 한다.
결과적으로, 대칭키 암호화는 케르베로스가 단일 로그인 환경을 제공하면서도 높은 보안성을 유지할 수 있게 하는 근간이 된다. 이를 통해 클라이언트는 암호를 매번 입력하지 않고도 다양한 네트워크 서비스에 안전하게 접근할 수 있으며, 서버는 암호화된 티켓을 검증함으로써 사용자를 신뢰할 수 있게 된다.
5.2. 타임스탬프와 재생 공격 방지
5.2. 타임스탬프와 재생 공격 방지
케르베로스 프로토콜은 재생 공격을 효과적으로 방지하기 위해 타임스탬프를 핵심 요소로 활용한다. 인증 과정에서 발행되는 모든 티켓과 인증자에는 생성 시간이 기록된 타임스탬프가 포함된다. 서버는 이 타임스탬프를 검증하여 요청의 신선도를 확인한다.
서비스 접근 시, 클라이언트는 티켓 부여 서버로부터 받은 서비스 티켓과 함께 새롭게 생성한 인증자를 응용 프로그램 서버에 제출한다. 이 인증자에는 클라이언트의 신원과 현재 시간이 암호화되어 있다. 서버는 인증자의 타임스탬프를 확인하고, 서버와 클라이언트 간에 허용되는 시간 차이(일반적으로 5분 내외)를 정의한 클록 스큐 허용 범위를 벗어나면 해당 요청을 거부한다.
이 메커니즘은 공격자가 네트워크에서 탈취한 티켓이나 인증자를 나중에 재사용하는 것을 원천적으로 차단한다. 타임스탬프가 유효 시간을 초과하면 그 자격 증명은 더 이상 사용될 수 없게 된다. 따라서 보안 세션을 유지하기 위해서는 지속적으로 새로운 인증자가 생성되어야 하며, 이는 시스템 전반에 걸쳐 정확한 시간 동기화가 필수적임을 의미한다. 일반적으로 NTP와 같은 프로토콜을 통해 시간을 동기화하여 이 문제를 해결한다.
5.3. 티켓 수명
5.3. 티켓 수명
6. 장점과 단점
6. 장점과 단점
6.1. 장점
6.1. 장점
케르베로스 인증의 가장 큰 장점은 중앙 집중식 인증 관리로 인한 효율성 향상이다. 사용자는 네트워크에 처음 로그인할 때 한 번만 자격 증명을 입력하면 되며, 이후 세션 기간 동안 다양한 서비스에 접근할 때마다 반복적으로 암호를 입력할 필요가 없다. 이는 사용자 경험을 크게 개선하고, 관리자가 사용자 계정과 암호화 키를 중앙에서 관리할 수 있게 해준다.
또한 케르베로스는 강력한 보안 메커니즘을 제공한다. 대칭키 암호화를 기반으로 하여 인증 과정에서 암호가 네트워크를 통해 평문으로 전송되지 않는다. 각 서비스 티켓은 특정 서버와 클라이언트용으로 발급되며, 타임스탬프와 제한된 수명을 가지고 있어 재생 공격을 방지한다. 이를 통해 네트워크 상에서의 신원 도용이나 데이터 가로채기 위험을 줄인다.
이 프로토콜은 상호 인증을 지원한다는 점에서도 유리하다. 클라이언트가 서버의 신원을 확인할 수 있어, 사용자가 악의적으로 위장한 서버에 속아 자격 증명을 제공하는 상황을 방지할 수 있다. 이는 피싱 공격에 대한 효과적인 방어 수단이 된다.
마지막으로, 케르베로스는 확장성과 표준화 측면에서 장점을 가진다. 대규모 기업 환경에서 수많은 사용자와 서비스를 관리하는 데 적합한 구조를 가지며, MIT에서 개발된 이후 IETF에 의해 표준화되어 다양한 운영 체제와 응용 프로그램에서 광범위하게 채택되고 있다.
6.2. 단점
6.2. 단점
케르베로스 인증은 중앙 집중식 인증 서버에 의존한다는 근본적인 특성에서 비롯된 몇 가지 단점을 지닌다. 가장 큰 문제는 단일 실패 지점이 존재한다는 점이다. 인증 서버나 티켓 부여 서버(TGS)가 다운되거나 공격을 받으면, 전체 네트워크의 인증 서비스가 마비되어 사용자가 어떤 서버에도 접근할 수 없게 된다. 이는 시스템의 가용성과 복원력을 저하시키는 주요 요인이다.
또한, 케르베로스 프로토콜은 기본적으로 사용자와 서비스 간의 상호 인증을 제공하지만, 초기 사용자 인증은 비밀번호에 의존하는 경우가 많다. 이는 오프라인 사전 공격이나 키로거 같은 악성 소프트웨어에 의해 비밀번호가 유출될 경우 보안이 무너질 수 있는 취약점으로 이어진다. 따라서 케르베로스만으로는 강력한 사용자 인증을 보장하기 어려우며, 다중 인증(MFA)과 같은 추가 수단이 권장된다.
시스템의 복잡성도 관리상의 부담으로 작용한다. 대칭키 암호화 기반의 티켓 관리, 타임스탬프 동기화, 각 서버와의 키 배포 및 관리는 설정과 유지 보수를 까다롭게 만든다. 특히 대규모 분산 시스템 환경에서는 모든 구성 요소 간의 시간 동기화가 정확해야 재생 공격 방지가 효과적이기 때문에, NTP(Network Time Protocol) 서버의 정확한 운영이 필수적이다.
마지막으로, 케르베로스는 주로 조직 내부 네트워크(인트라넷) 환경에 최적화되어 있다. 인터넷과 같은 공개 네트워크를 거치는 서비스나, 최신 클라우드 컴퓨팅 및 마이크로서비스 아키텍처와의 연동에는 추가적인 게이트웨이 또는 프로토콜 변환 계층이 필요할 수 있어, 현대적인 하이브리드 IT 환경에서의 적용에 제약이 따를 수 있다.
7. 주요 구현 및 사용 사례
7. 주요 구현 및 사용 사례
7.1. MIT Kerberos
7.1. MIT Kerberos
MIT Kerberos는 케르베로스 인증 프로토콜의 가장 대표적이고 널리 사용되는 오픈 소스 구현체이다. 이 구현체는 매사추세츠 공과대학교의 아테나 프로젝트에서 개발되어 배포되었으며, 이후 인터넷 표준으로 채택되는 데 기여하였다. MIT Kerberos는 프로토콜의 참조 구현체 역할을 하여, 다른 많은 상용 및 오픈 소스 시스템의 기반이 되었다.
이 구현체의 핵심 구성 요소는 인증 서버, 티켓 부여 서버, 그리고 다양한 클라이언트와 응용 프로그램 서버를 위한 라이브러리 및 도구들이다. MIT Kerberos는 유닉스 및 리눅스와 같은 유닉스 계열 운영 체제 환경에서 네트워크 인증의 사실상 표준으로 자리 잡았다. 이를 통해 사용자는 한 번의 로그인으로 네트워크 상의 여러 서비스에 안전하게 접근할 수 있는 SSO 환경을 제공한다.
MIT Kerberos의 지속적인 개발과 유지는 MIT의 후원을 받는 커뮤니티에 의해 이루어지고 있으며, 보안 취약점에 대한 패치와 새로운 기능 추가가 꾸준히 이루어지고 있다. 이 구현체의 광범위한 채택과 검증은 네트워크 보안 분야에서 그 신뢰성과 안정성을 입증하는 요소가 되었다.
7.2. Microsoft Windows Active Directory
7.2. Microsoft Windows Active Directory
마이크로소프트의 윈도우 서버 운영 체제에 포함된 디렉터리 서비스인 액티브 디렉터리(Active Directory, AD)는 기업 네트워크 환경에서 중앙 집중식 인증과 접근 제어를 제공하는 핵심 서비스이다. 액티브 디렉터리는 사용자, 컴퓨터, 그룹, 기타 네트워크 자원에 대한 정보를 저장하고, 이들 간의 관계와 보안 정책을 관리한다. 이 서비스의 기본 인증 프로토콜로 케르베로스가 채택되어 있으며, 이를 통해 도메인에 가입된 클라이언트와 서버 간의 안전한 상호 인증이 이루어진다.
액티브 디렉터리 도메인 환경에서 사용자가 자신의 컴퓨터에 로그인하려고 시도하면, 시스템은 도메인 컨트롤러에 접속하여 케르베로스 인증 절차를 시작한다. 사용자가 입력한 자격 증명은 도메인 컨트롤러(Domain Controller)의 인증 서버 및 티켓 부여 서버 역할을 통해 검증되고, 티켓 부여 티켓이 발급된다. 이후 사용자가 파일 서버나 메일 서버 같은 네트워크 자원에 접근할 때마다 이 TGT를 사용하여 해당 서버용 서비스 티켓을 얻고, 최종적으로 서비스에 접근하게 된다.
이 통합은 단일 로그인 환경을 실현한다. 사용자는 최초 도메인 로그인 시 한 번만 비밀번호를 입력하면, 도메인 내에서 케르베로스를 지원하는 모든 응용 프로그램과 서비스에 추가 인증 없이 접근할 수 있다. 이는 사용자의 편의성을 크게 높인다. 또한 관리자 관점에서는 중앙에서 사용자 계정과 비밀번호 정책을 관리할 수 있으며, 개별 서버마다 사용자 계정을 별도로 유지할 필요가 없어 보안 정책의 일관된 적용과 관리 효율성이 향상된다.
액티브 디렉터리의 케르베로스 구현은 마이크로소프트 독자적인 확장을 포함하고 있다. 예를 들어, RC4 암호화 알고리즘을 사용한 호환성 지원과 함께, 더 강력한 AES 암호화도 지원한다. 또한 PKI(공개 키 기반 구조)와의 통합을 통해 스마트 카드 기반의 로그인 같은 강력한 인증 수단을 활용할 수 있도록 한다. 따라서 액티브 디렉터리는 현대 기업 IT 인프라에서 신원 확인, 자원 접근 관리, 보안 정책 시행의 근간을 이루는 중요한 플랫폼으로 자리 잡고 있다.
