커버로스 인증 프로세스: 보안을 위한 기본 이해

커버로스(Kerberos)는 Windows 시스템에서 널리 사용되는 보안 인증 프로토콜입니다. SQL 서버와 같은 서비스에 로그인할 때 인증 문제를 해결하기 위해서는 커버로스의 작동 방식을 이해하는 것이 중요합니다.

커버로스 인증 프로세스 단계

커버로스 인증은 여러 단계를 거쳐 이루어집니다. 각 단계에서 클라이언트와 서버가 주고받는 정보 및 작업을 살펴보겠습니다.

1단계: 이름 해석 (Name Resolution)

인증 과정은 처음에 클라이언트 컴퓨터가 목표 서버의 IP 주소를 알아내야 합니다. 이때 DNS 캐시에서 정보를 찾거나, 없으면 도메인 컨트롤러에게 이름 해석 요청을 보냅니다.

2단계: TCP 핸드셰이크 (TCP Handshake)

클라이언트가 서버의 IP 주소를 알게 된 후, 세 가지 단계로 이루어진 TCP 핸드셰이크를 통해 보안 연결을 설정합니다.

3단계: 프로토콜 협상 (Protocol Negotiation)

클라이언트와 서버는 사용할 인증 프로토콜을 결정합니다. 효율성이 뛰어난 Kerberos가 보통 선택됩니다.

4단계: AS-REQ 및 AS-REP 교환 (AS-REQ & AS-REP Exchange)

클라이언트는 도메인 컨트롤러에 있는 Key Distribution Center(KDC)에게 Authentication Service Request(AS-REQ)를 보내며, 여기에는 사용자의 이름과 사전 인증 데이터가 포함됩니다. KDC에서 해당 정보를 확인하고 성공하면 Ticket Granting Ticket(TGT)와 세션 키를 포함하는 Authentication Service Response(AS-REP)를 클라이언트에게 전송합니다.

5단계: TGS-REQ 및 TGS-REP 교환 (TGS-REQ & TGS-REP Exchange)

TGT를 사용하여 클라이언트는 특정 서비스에 대한 Service Principal Name(SPN)을 이용해 Ticket Granting Service Request(TGS-REQ)를 KDC에게 보냅니다. 이 요청은 서버에서 해당 서비스에 대한 액세스 티켓(Service Ticket)과 세션 키를 받아옵니다.

6단계: AP-REQ 및 AP-REP 교환 (Optional)

클라이언트는 서비스 티켓을 서버에 보냅니다. 이로써 클라이언트와 서버 간의 인증 과정이 완료됩니다.

Kerberos 이해하기

커버로스는 복잡한 보안 체계를 단순화하여, 네트워크 트레이스 분석과 Kerberos 관련 문제 해결에 큰 도움이 됩니다. KDC(Key Distribution Center), TGT(Ticket Granting Ticket), Service Ticket 등은 인증 과정에서 중요한 역할을 합니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다