Kerberos
2021. 4. 21. 22:10ㆍ보안\암호화
반응형
Kerberos란
Kerberos는 티켓 기반의 컴퓨터 네트워크 인증 프로토콜입니다. 보안이 보장되지 않은 네트워크 환경에서 클라이언트와 서버가 서로의 신뢰성을 확보하기위해 사용됩니다. Kerberos는 클라이언트 - 서버이외에 제 3의 컴퓨터가 클라이언트의 사용자를 인증합니다. 인증을 통해 서버는 클라이언트의 사용자가 올바른 사용자인지 확인하게 되고 클라이언트 - 서버간 통신이 가능해집니다.
Kerberos의 장점
- 기밀성과 무결성 보장
- 재생공격 예방
- 이기종간 서비스 인증 가능
- 대칭키를 사용하여 도청으로부터 보호
Kerberos의 단점
- 사용자 몰림으로 인해 과도한 티켓 생성 시 서버 부하가 발생할 수 있습니다.
- AS(Authentication Server) 다운 시 인증 과정이 중단됩니다.
- 각 서버의 시간 설정이 잘못되어 있는 경우 인증 과정에서 문제가 발생합니다.
- 프로토콜의 표준화가 진행되지 않아 서버마다 구현이 상이합니다.
Kerberos의 동작 과정
(1) 사용자가 로그인을 시도
(2) 클라이언트는 유저 아이디를 인증서버(AS)로 전송
(3) 인증서버(AS)는 중앙저장소(LDAP)에 유저 아이디 확인 후 존재할 경우 다음 데이터들을 반환
- 클라이언트 PW 기반으로 암호화한 티켓 발급 서버(TGS)의 세션키
- 클라이언트 ID, IP 주소, 유효 기간, TGS 세션키를 TGS 비밀키로 암호화나 티켓 발급용 티켓 TGT
(4) 클라이언트는 다음 두 가지를 티켓 발급 서버(TGS)에 전송
- 클라이언트 ID, Timestamp를 TGS 세션키로 암호화한 인증자
- TGT(클라이언트는 TGS 비밀키를 모르기 때문에 복호화 및 조작 불가)
(5) 티켓 발급 서버(TGS)는 인증자(TGS 세션키로 복호화)와 TGT(TGS 비밀키로 복호화)를 복호화하여 클라이언트 ID가 일치할 경우 아래 두 메시지를 반환
- 티켓 발급 서버(TGS) 세션키로 암호화한 서비스 서버(SS) 세션키
- 클라이언트 ID, IP 주소, 유효 기간, 서비스 서버(SS) 비밀키로 암호화한 티켓
(6) 클라이언트는 다음 두 메시지를 서비스 서버(SS)로 전달
- 클라이언트 ID, TimeStamp를 서비스 서버(SS) 세션키로 암호화한 인증자
- 티켓
(7) 서비스 서버(SS)는 티켓, 인증자를 복호화하여 Client ID가 일치할 경우 다음 메시지를 반환
- Timestamp를 서비스 서버(SS) 세션키로 암호화하여 반환
(8) 클라이언트는 전달받은 timestamp와 자신이 인증자에 담아보냈던 timestmap의 값을 확인하여 일치하는 경우 실제 작업을 시작
반응형