키 분배 센터 (Key Distribution Center, KDC)

중급암호학수정일

키 분배 센터(Key Distribution Center, KDC)는 각 사용자·서비스와 미리 비밀 키를 하나씩 공유해 둔 신뢰할 수 있는 제3자로서, 서로 통신하려는 두 당사자에게 그때그때 쓸 세션 키를 만들어 안전하게 전달하는 암호 시스템의 구성 요소입니다. 키 교환에 따르는 위험을 줄이고, 어떤 사용자가 어떤 서비스를 언제 쓸 수 있는지 통제하는 시스템에서 주로 쓰입니다.

왜 필요한가

대칭 키 암호만으로 n명이 서로 안전하게 통신하려면 쌍마다 다른 키가 필요해 n(n−1)/2개의 키를 미리 나눠 가져야 합니다. KDC를 두면 각 참여자는 KDC와 공유하는 장기 키 하나만 가지면 되므로 관리할 키가 n개로 줄어듭니다. 두 당사자는 통신할 때마다 KDC에서 새 세션 키를 받고, 세션 키는 짧은 기간만 쓰고 버립니다.

작동 방식

  1. 사용자 A가 KDC에 서비스 B와 통신하겠다고 요청합니다.
  2. KDC는 A의 신원과 권한을 확인한 뒤 새 세션 키를 만듭니다.
  3. KDC는 세션 키를 A의 장기 키로 암호화한 사본과, B의 장기 키로 암호화한 사본(티켓)을 A에게 보냅니다.
  4. A는 자기 사본을 풀어 세션 키를 얻고 티켓을 B에게 전달합니다. B는 자기 장기 키로 티켓을 풀어 같은 세션 키를 얻습니다.

이 흐름은 1978년 니덤(Needham)과 슈뢰더(Schroeder)가 제안한 니덤-슈뢰더 프로토콜에서 정리되었습니다. 오래된 메시지를 다시 보내는 재전송 공격을 막기 위해 타임스탬프나 일회용 난수(nonce)를 함께 씁니다.

케르베로스의 예

가장 널리 쓰이는 KDC는 케르베로스(Kerberos) 인증 시스템입니다. 케르베로스의 KDC는 두 부분으로 나뉩니다. 인증 서버(AS)는 로그인한 사용자에게 일정 시간 유효한 티켓 발급 티켓(TGT)을 주고, 티켓 발급 서버(TGS)는 TGT를 제시한 사용자에게 개별 서비스용 티켓과 세션 키를 줍니다. 티켓에 유효 기간이 있어 권한을 시간 단위로 제한할 수 있고, 사용자는 비밀번호를 서비스마다 보내지 않아도 됩니다. 회사 네트워크에서 쓰는 마이크로소프트 액티브 디렉터리의 도메인 컨트롤러도 케르베로스 KDC 역할을 합니다.

장점과 한계

  • 키 관리 단순화: 관리할 키 수가 줄고, 권한 부여와 회수를 한곳에서 처리할 수 있습니다.
  • 단일 장애 지점: KDC가 멈추면 새 세션을 열 수 없고, KDC가 침해되면 모든 장기 키와 세션 키가 노출될 수 있습니다.
  • 신뢰 집중: 모든 참여자가 KDC를 완전히 신뢰해야 합니다. 이 때문에 서로 모르는 다수가 참여하는 인터넷 환경에서는 공개키 기반 구조(PKI)나 디피-헬먼 키 교환이 주로 쓰입니다.
  • 확장성: 사용자와 서비스가 늘어나면 KDC의 처리 부담이 커지므로 복제 서버를 두어 운영합니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.