본문 바로가기
정보보안/시스템보안

인증 커버로스 인증 기술

by 피갓자 2025. 1. 11.

인증 커버로스 인증 기술
인증 커버로스 인증 기술

커버로스(Kerberos) 개요

  • MIT의 Athena Project의 목적으로 개발된 인증 시스템으로 신뢰하는 서드파티(3rd Party)가 서비스를 이용하려는 클라이언트를 안전한 방법으로 인증
  • 분산 환경에서 대칭키를 이용하여 사용자 인증을 제공하는 중앙집중형 인증 방식

특징

  • Needham과 Schroeder의 신뢰할 수 있는 제3자 프로토콜에 근거한 모델로 중앙의 인증 서버가 네트워크의 모든 실체와 서로 다른 비밀키를 공유하고 그 비밀키를 알고 있는 것으로 실체의 신원을 증명하며 특히 패스워드를 네트워크에 노출하지 않음
  • 클라이언트 서버 모델을 목적으로 개발되었으며 사용자와 서버가 서로 식별할 수 있는 상호 인증(양방향 인증)을 제공
  • 커버로스 프로토콜의 메시지는 도청과 재전송 공격으로부터 보호
  • 특정 인증 구간에서 비대칭 키 암호방식을 이용함으로써 선택적으로 공개키 암호방식을 사용할 수 있음
  • UDP 88번 포트 사용
  • Needgma과 Schroder가 제안한 프로토콜을 신뢰할 수 있는 제3의 인증 서비스로서 현재 Ver.4와 Ver.5까지 나와 있음(Version 4 : 가장 널리 사용, Version 5 : Version 4의 보안 결함 수정)
  • 사용자의 패스워드 네트워크를 통하여 전송 불필요

구성 요소

클라이언트(Client) : 인증을 받기 위한 사용자 컴퓨터

 

서버(Server) : 클라이언트가 접속하려고 하는 컴퓨터

 

키 분배 센터(KDC, Key Distribution Center) : 신뢰할 수 있는 제3의 기관으로서 티켓을 생성, 인증 서비스 제공

 

인증 서버(AS, Authentication Server)

  • 인증 서비스와 사용자에 대한 인증을 수행하는 KDC의 부분 서비스
  • 클라이언트와 인증 서버(KDC) 간의 교환
  • 클라이언트는 KDC에 KRB_AS_REQ msg를 통해 인증 생성을 요청
  • KDC는 클라이언트에 KRB_AS_REQ에 대한 응답으로 티켓에 세션키를 넣어 응답
  • 세션키는 사용자 비밀번호를 이용하여 암호화
  • 티켓 증명 티켓(TGT, Ticket Granting Ticket)은 서버의 비밀키를 이용하여 암호화

티켓 부여 서버(TGS, Ticket Granting Server)

  • 클라이언트는 TGT를 인증 서버로 보내어 서버에 접속하기 위한 서비스 티켓을 요청
  • KDC에서는 서버에 접속하기 위한 서비스 티켓(SGT, Service Granting Ticket)을 첨부하여 응답

클라이언트 서버(CS, Client Server)

  • 클라이언트는 서비스 티켓을 서버로 전송하여 인증을 요청
  • 서버는 클라이언트 티켓의 비밀번호와 세션키를 복호화하여 클라이언트를 검증
  • 인증 절차가 성공일 경우 클라이언트와 서버가 연결

티켓(Ticket) : 사용자에 대한 신원과 인증을 처리하는 토큰

 

타임스탬프(Time Stamp) : 시간제한을 두어 다른 사람이 티켓을 복사하여 재사용하는 것을 방지(재생 공격 방지)

커버로스 동작 원리

  1. 클라이언트는 서버에 접속하기 위해 인증 서버로부터 인증받음
  2. 클라이언트는 인증을 받기 위해 패스워드를 사용하여 인증 서버에 자신을 인증
  3. 인증 서버는 티켓 발급 서버로부터 인증된 클라이언트에 티켓을 발행하도록 허가
  4. 티켓 발급 서버는 인증된 클라이언트에 티켓 발급
  5. 클라이언트는 티켓을 이용하여 서버에 접속
  6. 서버는 티켓을 확인하고 클라이언트를 인증한 후 접속 허용

텔넷(Telnet)이나 기타 이와 비슷한 로그인 요청을 통해 다른 컴퓨터에서 서버에 접속하기를 원한다고 가정했을 때 이 서버는 로그인 요청을 받아들이기 전에 커버로스 티켓을 요구

티켓을 받기 위해 접속자는 먼저 인증 서버에 인증을 요구. 인증 서버는 요구자가 입력한 패스워드에 기반하여 세션키와 서비스 요구를 나타내는 임의의 값을 생성. 세션키는 사실상 “티켓을 부여하는 티켓”

세션키를 티켓 부여 서버(TGS, Ticket Granting Server)에 보냄. TGS는 인증 서버와 물리적으로 동일한 서버에 있을 수 있지만 다른 서비스를 수행. TGS는 서비스를 요청할 때 서버에 보낼 수 있는 티켓을 돌려줌

해당 서비스는 티켓을 거절하거나 또는 받아들여서 서비스를 수행

TGS로부터 받은 티켓은 발송 일자와 시간이 기록되어 있기 때문에 일정 시간 동안(대체로 8시간 동안) 내에는 재인증 없이도 동일한 티켓으로 다른 추가 서비스를 요청할 수 있음. 티켓을 제한된 시간 동안에만 유효하게 만듦으로써 후에 어떤 사용자가 그것을 사용할 수 없도록 만듦

'정보보안 > 시스템보안' 카테고리의 다른 글

접근통제 개요 1/2  (0) 2025.01.13
인증 생체 인증 기술  (0) 2025.01.12
인증 디바이스 인증 기술  (0) 2025.01.10
인증 메시지 인증 기술  (0) 2025.01.09
인증 사용자 인증 기술  (0) 2025.01.08