| 구분 | 명칭 (Full Name) | 역할 |
|---|---|---|
| AS | Authentication Server (인증 서버) | 초기 로그인 시 사용자(Client)를 인증하고 TGT를 발급합니다. |
| TGS | Ticket-Granting Server (티켓 발급 서버) | TGT를 확인한 후, 특정 서비스 접근을 위한 Service Ticket (서비스 티켓)을 발급합니다. |
| SS | Service Server (서비스 서버) | 클라이언트가 최종적으로 접근하고자 하는 자원을 제공하며, Service Ticket을 통해 클라이언트를 인증합니다. |
Kerberos는 대칭키 암호화(Symmetric-Key Cryptography)를 사용하여 티켓을 암호화하고 세션 키(Session Key)를 안전하게 전달합니다.
제시된 이미지의 내용처럼, 수행능력표는 주체별로 접근 가능한 객체(자원)와 접근 방식(권한)을 지정한 테이블 또는 자료구조입니다.
Kerberos의 Service Ticket은 단순히 '클라이언트가 인증되었다'는 사실만 담고 있지 않고, 종종 '인가(Authorization)' 관련 정보를 포함하여 접근통제 수단으로 활용됩니다.
Ticket-Granting Ticket (TGT): TGS에 접근할 권한을 부여합니다.
Service Ticket (ST): 특정 서비스 서버(SS)에 접근할 권한을 부여하며, 이 티켓 내의 인가 데이터(Authorization Data) 필드에 클라이언트가 속한 그룹 정보나 기타 접근 통제 관련 속성 정보가 담길 수 있습니다.
즉, Service Ticket 자체가 특정 자원(서비스 서버)에 대한 접근 권한(Capability)을 부여하는 토큰(Token) 역할을 수행합니다.
| 모델 | 특징 |
|---|---|
| Capability List | 수행능력표(Capability Tables)는 주체(사용자)가 가진 권한 목록을 명시합니다. Kerberos의 티켓은 이 Capability List의 개념을 암호화된 토큰(Ticket) 형태로 구현한 것입니다. |
| RBAC (Role-Based Access Control) | 실제 Active Directory 환경 등에서 Kerberos를 사용할 때, Service Ticket 내부에 사용자 계정의 그룹(Group) 또는 역할(Role) 정보를 포함시켜 이 정보를 기반으로 서버에서 최종적인 인가(Authorization) 결정을 수행하게 됩니다. |
| DAC (Discretionary Access Control) | Service Ticket을 받은 클라이언트가 해당 티켓을 서버에 제시하여 서버가 접근을 허용하면, 이는 DAC의 한 형태로 볼 수도 있습니다. |
| 구분 | 장점 (Strong Points) | 취약점 (Weak Points) |
|---|---|---|
| 보안 | 상호 인증 (클라이언트 ↔ 서버), 재전송 공격 방지 (타임 스탬프 사용), 네트워크 스니핑 방지 (평문 패스워드 미사용) | KDC 단일 실패 지점(SPOF): KDC 서버가 다운되면 전체 인증 시스템 마비. |
| 운영 | SSO 구현 용이, 분산 환경에 적합하여 관리 편리 | 시계 동기화 필수: KDC와 클라이언트 간의 시간 차이가 클 경우 인증 실패. |
| 공격 | Kerberoasting: 서비스 계정의 해시를 탈취하여 오프라인으로 크래킹 시도. Golden/Silver Ticket: KDC 비밀키(Golden) 또는 서비스 비밀키(Silver) 탈취 시 위조 티켓 생성 가능. |
Kerberos는 강력한 인증 메커니즘을 제공하지만, 완벽한 접근통제(인가)를 위해서는 Active Directory 등과 연동하여 티켓 내 정보를 기반으로 서버에서 최소 권한 원칙(Principle of Least Privilege)이 적용된 정책 기반 인가(Policy-Based Authorization)를 반드시 수행해야 합니다.