커버로스 (Kerberos)

정보보안학
한 줄 정의: 신뢰받는 제3의 인증 서버가 발급하는 암호화된 티켓을 이용해, 비밀번호를 네트워크에 노출하지 않고 사용자와 서비스를 상호 인증하는 프로토콜입니다.

쉽게 풀면

매번 서비스마다 비밀번호를 보내는 대신, 믿을 수 있는 중앙 발권소에서 한 번 신분을 확인받고 '입장권(티켓)'을 받아 여러 서비스에 제시하는 방식입니다. 티켓은 암호화되어 있어 위조하거나 도청해도 소용이 없고, 비밀번호 자체는 네트워크를 돌아다니지 않습니다.

왜 중요한가

커버로스는 윈도우 액티브 디렉터리를 비롯한 수많은 기업 환경의 표준 인증 체계로, 단일 인증(SSO)의 기술적 기반이 됩니다. 대칭키 기반으로 확장성 있게 상호 인증을 구현한 고전적이면서도 현역인 프로토콜입니다.

논문에서는 이렇게 쓰입니다

"공격자가 서비스 티켓을 오프라인에서 크래킹하는 커버로스팅 공격을 막기 위해, 서비스 계정에 길고 복잡한 비밀번호를 강제하였다."

조금 더 깊게 보면

커버로스는 키 배포 센터(KDC) 아래 인증 서버(AS)와 티켓 발급 서버(TGS)로 구성됩니다. 사용자는 먼저 티켓 발급 티켓(TGT)을 받고, 이후 각 서비스에 접근할 때마다 TGT를 제시해 개별 서비스 티켓을 받습니다. 모든 티켓에는 시간 표식이 들어 있어 재전송 공격을 막지만, 그만큼 서버 간 시계 동기화가 중요합니다. 골든 티켓 공격처럼 KDC의 마스터 키가 탈취되면 전체 도메인이 위험해집니다.

주의할 점

커버로스는 시계 동기화에 민감하며, 인증(누구인지 확인)만 담당하고 인가(무엇을 할 수 있는지 결정)는 별도라는 점을 구분해야 합니다. 단일 인증을 구현하는 SAML·OpenID와 달리 대칭키·티켓 기반이라는 점에서 접근이 다릅니다.

관련 용어