1. Kerberos
ㅇ (어원) 그리이스 신화에 나오는 저승문을 지키는 머리가 3개인 개의 이름
ㅇ 미국 MIT대의 Athena Project에 의해 개발된 대칭키 방식에 의한 인증 시스템
- 신뢰받은 제3자 기반의 인증 시스템의 초기 구현 형태이자 가장 많이 사용됨
. MS社 윈도우즈 환경에서 사용됨
. 유닉스 환경에서는 SSH 참조
ㅇ 커버로스는, `키분배센터 기능` 및 `인증 프로토콜` 모두를 포함
- 그 구성이 꽤 복잡하게 엮어 있음
2. 특징
ㅇ 주요 보안서비스
- 키 분배
- 인증
ㅇ 암호화 알고리즘
- Ver 4 : DES 사용
- Ver 5 : DES 이외의 다른 암호 알고리즘 등도 사용 가능
ㅇ 인증 방식 : 공유 비밀 키 인증방식 (대칭키 암호방식)
- 공개키 인증방식을 전혀 사용 않음
ㅇ 커버로스 메세지 전달 : UDP (포트번호 : 88)
ㅇ 주요 사용 버전
- Kerberos Ver.4 및 Ver.5 (RFC 1510,1964,4120)
3. 인증 절차
ㅇ 사용자가 어떤 서비스 또는 서버에 접속하려면,
- 커브로스는,
. 우선적으로 사용자(사전 등록된 텍스트 형식의 패스워드 필요) 및 서버를 인증하고,
. 티켓 형식을 발행하며,
- 티켓을 통해,
. 네트워크 상에 흩어져 존재하는 사용자,서비스,서버(호스트)들에 대해
. 상대의 신분을 보증해 줌
ㅇ 티켓 종류
- TGT (Ticket Granting Ticket)
. 요구하는 주체 : 사용자가 AS(인증서버)에 TGT(티켓승인티켓)를 요구
. TGT에 담겨지는 정보 : 사용자 ID, IP 주소, TGS ID
. TGT의 암호화 : AS(인증서버)가 보관중인 사용자 암호의 해시값으로 암호화시킴
- SGT (Session Granting Ticket)
. 특정 유사 서버/서비스에 접속할 때 마다, 이미 받은 TGT를 TGS 서버에 제출하여,
. 해당 서버/서비스에 대한 한시적 SGT 티켓을 받음
ㅇ 3단계 인증절차
- 인증서버를 통해, TGT 확보
- TGS 서버에, TGT 및 자신의 사용자 ID를 제출하며,
. 원하는 서비스/서버에 접근할 수 있는 SGT를 확보
- 원하는 서비스/서버에, SGT를 제출하고,
. 접근을 허용 받음
4. 시스템 구성 : 분산된 클라이언트/서버 구조
ㅇ KDC (키분배센터, 인증 및 티켓 발행)
- AS (인증 서버, Kerberos 서버) : 처음 1회 만 인증,유지,관리
. 서버와 사용자 간의 상호 신분확인을 위한 제3의 인증 서버
. 사용자 요구에 따라 TGT 발행
- TGS (Ticket Granting Service) 서버 : 사용자 접속 서비스 요구 때 마다 티켓 발행
ㅇ 접속 서비스/서버
- 클라이언트가 실제 접속하려고 하는 서비스/서버(호스트)
ㅇ 접속 클라이언트(사용자)
※ 한편, 공동체(Realm)라고해서,
- AS 및 TGS가 분산 분포되어 집단을 이룬 영역