- 네트워크 보안과 인증 과정에서 발생하는 전형적인 Delegation 문제.
- 쉽게 말해, A가 B를 믿고 권한을 줬는데, B가 그 권한을 가지고 다시 C에게 접근하려고 할 때 C가 B를 거부하는 현상.
문제 상황
가장 흔한 예시는 웹 서버와 DB 서버 간의 관계.
- 사용자가 웹 브라우저를 통해 웹 서버에 접속한다. (Kerberos 인증 성공)
- 웹 서버는 사용자의 요청을 처리하기 위해 뒷단에 있는 DB 서버에서 데이터를 가져와야 한다.
- 이때 웹 서버가 “내 권한”이 아니라 “사용자의 권한”을 대행(Impersonation)해서 DB에 접근을 시도한다.
- DB 서버는 사용자가 가져온 신원 증명(ticket)을 가짜나 만료된 것으로 간주하고 거절한다.
이유
Kerberos 프로토콜의 핵심 보안 원칙 때문.
- 티켓의 제한: 사용자가 웹 서버에 접속할 때 받은 티켓은 기본적으로 “웹 서버까지만” 유효하다.
- 보안 방지: 만약 웹 서버가 이 티켓을 가지고 아무 서버(C, D, E …)나 다 들어갈 수 있다면, 웹 서버 하나만 해킹당해도 전체 네트워크가 털리게 된다.
- 따라서 프로토콜 차원에서 티켓을 다음 서버로 다시 던지는 것을 기본적으로 막아두었기 때문.