현재 선택한 정보보안 과정

정보보안기사 필기 이론 학습

이론 목록으로 돌아가기

인증 프로토콜·티켓·통합 인증

Challenge-response와 Kerberos 티켓을 통해 재전송 방지와 SSO를 이해합니다.

예상 읽기 4

1. Challenge-response

비밀번호나 비밀키 자체를 그대로 보내지 않고, 검증자가 보낸 새로운 challenge에 대해 정당한 비밀을 가진 주체만 만들 수 있는 응답을 반환한다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
검증자 → 주장자 : nonce N
주장자 → 검증자 : MAC_K(신원 || N || 문맥)

검증자는 다음을 확인한다.

  • 응답이 현재 보낸 nonce와 연결되는가
  • 올바른 비밀키로 생성되었는가
  • 의도한 상대·서비스·세션과 연결되는가
  • 이미 사용된 응답이 아닌가

2. Freshness와 재전송 방지

방법특징
nonce중복되지 않게 정한 일회성 값; challenge에서는 보통 검증자가 생성
timestamp메시지가 허용 시간 범위 안인지 확인
sequence number메시지 순서를 추적하고 중복을 거부
짧은 만료시간오래된 인증 증표의 사용 기간을 제한

짧은 만료시간만으로 같은 유효기간 안의 중복 사용이 자동 차단되는 것은 아니다. 필요하면 사용 이력이나 replay cache로 중복을 검사한다.

3. 상호 인증

한쪽만 상대를 확인하는 단방향 인증과 달리, 상호 인증은 양쪽이 서로의 정당성을 확인한다. 공격자가 가짜 서버로 사용자를 유도할 수 있는 환경에서는 서버 인증도 중요하다.

4. SSO의 기본 개념

SSO(Single Sign-On)는 한 번의 인증 결과를 여러 서비스에서 활용해 반복 로그인을 줄이는 구조다.

장점:

  • 사용자가 여러 비밀번호를 반복 입력하지 않아도 된다.
  • 중앙에서 인증정책과 계정 상태를 관리하기 쉽다.

위험:

  • 중앙 인증 서버가 침해되면 여러 서비스가 함께 영향을 받는다.
  • 한 번 탈취된 인증 결과가 여러 서비스에 사용될 수 있다.
  • 각 서비스의 로컬 인가와 세션 관리는 여전히 필요하다.

LDAP 같은 디렉터리는 계정 정보를 저장·조회하는 수단일 수 있지만, 디렉터리만 존재한다고 SSO가 자동으로 완성되는 것은 아니다.

5. Kerberos의 구성요소

Kerberos는 신뢰하는 KDC를 중심으로 대칭키와 티켓을 이용해 사용자와 서비스를 인증한다.

구성요소역할
Client서비스를 사용하려는 사용자·프로그램
AS(Authentication Server)사용자 인증 후 TGT를 발급
TGS(Ticket Granting Server)TGT를 확인하고 서비스 티켓을 발급
KDCAS와 TGS를 포함하는 신뢰 중심
Service Server실제 응용 서비스를 제공
TGTTGS에 서비스 티켓을 요청할 때 사용하는 티켓
Service Ticket특정 서비스에 제출하는 티켓
Authenticator세션키와 현재 시각 등을 이용해 만든 신선한 인증 정보

6. Kerberos 티켓 흐름

1단계: AS 교환

  1. 클라이언트가 AS에 인증을 요청한다.
  2. 비밀번호 기반의 기본 흐름에서 AS는 사용자 장기키로 보호한 응답에 클라이언트–TGS 세션키를 담아 전달한다.
  3. AS는 TGS의 장기키로 보호한 TGT를 발급한다. 클라이언트는 TGT의 보호된 내부를 직접 해독하지 않고 보관·제출한다.

2단계: TGS 교환

  1. 클라이언트가 TGT와 authenticator를 TGS에 제출한다.
  2. TGS가 티켓·시간·재사용 여부를 확인한다.
  3. TGS가 클라이언트–서비스 세션키를 클라이언트용으로 보호해 전달하고, 서비스 서버의 장기키로 보호한 서비스 티켓을 발급한다.

3단계: 서비스 인증

  1. 클라이언트가 서비스 티켓과 새 authenticator를 서비스에 제출한다.
  2. 서비스는 티켓에서 세션키를 얻어 authenticator를 확인한다.
  3. 필요하면 서비스도 응답해 상호 인증을 수행한다.
좌우로 이동해 그림을 확인하세요.그림 크게 보기
Kerberos: TGT와 서비스 티켓의 역할
Kerberos: TGT와 서비스 티켓의 역할

7. Kerberos의 핵심 보안 특성

  • 비밀번호를 매 서비스에 직접 전송하지 않는다.
  • 티켓에는 사용 대상·유효기간·세션키 정보가 보호되어 들어간다.
  • 티켓만 반복 전송하는 공격을 막기 위해 authenticator와 replay 검사가 필요하다.
  • 시간 기반 검사를 사용하므로 시계 동기화가 중요하다.
  • KDC는 전체 도메인의 고가치 신뢰 지점이다.
  • 클라이언트의 티켓·세션키 캐시가 탈취되면 유효기간 동안 악용될 수 있다.
  • Kerberos 인증이 애플리케이션 데이터의 기밀성·무결성을 자동 보장하는 것은 아니다.

KDC가 중단되면 새 티켓 발급이 어려워진다. 이미 받은 유효한 티켓의 사용 가능 여부는 서비스 정책과 상태에 달려 있으므로 모든 기존 세션이 즉시 끊어진다고 단정하지 않는다.

스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01Kerberos에서 TGT를 실제 응용 서비스 서버에 제출하면 되는가?
정답 및 해설

아니다. TGT는 TGS에서 서비스 티켓을 얻는 데 사용한다. 응용 서버에는 해당 서비스용 티켓과 새 authenticator를 제출한다.

02시각이 허용 범위 안인 인증 메시지는 언제 다시 와도 받아들여도 되는가?
정답 및 해설

아니다. 시간 범위 안에서도 재전송될 수 있다. authenticator나 nonce의 중복·사용 이력을 검사하고 대상 서비스와 연결해야 한다.