티스토리 뷰

반응형

 

커버로스
커버로스

 

[ 목차 ]

      커버로스 (Kerberos)

      (가) 개요

          ① 커버로스는 그리스 신화에 나오는 지하 세계의 문을 지키는 머리가 셋 달린 개의 이름이다. 이것은 기업의 자산을 보

               호하기 위한 목적을 가진 인증 기능을 제공하는 보안기술을 위한 훌륭한 이름이다.

          ② 커버로스는 분산 환경을 위한 SSO의 한 예이며, 혼합 네트워크를 위한 사실상의 표준이다. 커버로스는 광범위한 보

               안 능력을 통합하며, 이것은 포괄적인 보안 아키텍처를 제공할 필요가 있는 경우에 기업에게 보다 많은 유연성과 확

               장성을 제공한다.

      (나) 특징

          ① 기업 접근통제를 위해 필요한 네 가지 요소-확장성, 투명성, 안정성, 그리고 보안을 가진다. 그러나 이러한 개방형 아

              키텍처는 또한 상호운용성 논점을 가져온다.

          ② 사용자에게 동일한 계정정보로 여러 가지 서비스를 받을 수 있게 한다. 즉, 티켓이 지정된 유효기간 내에만 있다면 티

               켓을 사용하여 동일한 서버에서 여러 가지의 응용 서비스를 제공받을 수 있다.

          ③ 커버로스를 사용하는 주된 이유는 주체들이 직접 통신하기에는 서로를 충분히 신뢰하지 않기 때문이다. 어떠한 주체

              들도 다른 주체를 직접적으로 신뢰하지 않으며 오직 KDC만을 신뢰한다. KDC는 티켓을 생성하여 통신을 할 필요가

              있는 개별적인 주체들에게 발행한다.

      커버로스의 구성요소

      구성요소 설명 비고
      KDC
      (Key Distribution Center)
      ⊙ 키 분배 서버(Kerberos 내에서 가장 중요한 구성요소
      ⊙ 모든 사용자와 서비스의 비밀키(secret key)를 보관
      ⊙ 신뢰할 수 있는 제 3의 기관으로서 타켓을 생성, 인증서비스를 제공
      ⊙ 클라이언트와 서비스는 KDC의 무결성을 신뢰하며, 이러한 신뢰는
           커버로스 보안의 근간
      ⊙ 사용자의 패스워드는 비밀키로 변환된다. 이 비밀키는 주체와
           KDC사이에서 민감한 데이터를 전송하기 위해 사용되며, 사용자
           인증 목적을 위해서도 사용됨
      TGS와 AS로 구성
      AS
      (Authentication Service)
      ⊙ 실질적으로 인증을 수행
      ⊙ 사용자에 대한 인증을 수행하는 KDC의 부분 서비스
       
      TGS
      (Ticket Granting Service)
      ⊙ 티켓 부여 서비스
      ⊙ 티켓을 부여하고 티켓을 분배하는 KDC의 부분 서비스
       
      Ticket ⊙ 사용자에 대해 신원과 인증을 확인하는 토큰
      ⊙ 사용자가 다른 주체들과 통신이 필요할 때마다 패스워드를 입력하
           지 않도록 도와줌
       
      Principals ⊙ 인증을 위하여 커버로스 프로토콜을 사용하는 모든 실체  

      커버로스의 구성도

      ① 커버로스는 모든 사용자의 패스워드를 알고 있고, 중장집중식 데이터베이스에 그 패스워드를 저장하고 있는 인증 서버

           (AS, authentication server)를 이용한다.

      ② AS는 각 서버와 유일한 비밀키를 공유한다. 이 키는 물리적으로 분배되거나 어떤 안전한 방법을 통해서 분배된다.

      ③ TGS는 AS에게 인증 받은 사용자에게 티켓을 발행한다. 그래서 사용자는 우선 AS에게 티켓 승인 티켓(ticket-granting

           ticket)을 요청한다. 사용자 워크스테이션의 클라이언트 모듈은 이 티켓을 보관한다.

      ④ 사용자가 새 서비스를 요청할 때마다 클라이언트는 자신을 인증하는 티켓을 이용하여 TGS에 접속한다. 이때 TGS는 요

          청된 서비스에 대한 티켓을 발행한다.

      ⑤ 클라이언트는 각 서비스-승인 티켓(service-granting ticket)을 보관하고 특정 서비스가 필요할 때마다 해당 티켓을 사용

          하여 클라이언트의 사용자를 서버에게 인증시킨다.

      ⑥ 타임스탬프를 이용한 시간제한을 두어, 다른 사람이 티켓을 복사하여 나중에 그 사용자인 것처럼 위장(impersonate)하

           여 티켓을 사용하는 것을 막는다.

      커버로스 동작 개요

      커버로스의 취약점

      ① KDC는 실패 단일 지점(SPOF, Single Point Of Failure)이 될 수 있다. 만약 KDC에 문제가 발생하면 누구도 리소스에 접

          근할 수 없데 된다. KDC를 위한 이중화 구성이 필요하다.

      ② 비밀키는 사용자의 워크스테이션에 임시로 저장되며, 이것은 침입자가 암호화된 키를 획득하는 것이 가능하다는 것을

           의미한다.

      ③ 커버로스는 패스워드 추측 공격에 취약하다. KDC는 만약 사전공격이 발생하고 있어도 알지 못한다.

      장점 단점
      ⊙데이터의 기밀성과 무결성 보장
      ⊙재생공격 예방
      ⊙개방된 이기종 간의 컴퓨터에서 자유로운 서비스 인증이
         가능(SSO)

      ⊙대칭키를 사용하여 도청으로부터 보호
      ⊙패스워드 사전공격에 약함
      ⊙비밀키, 세션키가 임시로 단말기에 저장되어 침입자에 의해 
         탈취당할 수 있음
      ⊙Timestamp로 인해 시간 동기화 프로토콜이 필요
      ⊙비밀키 변경 필요
      ⊙KDC가 단일실패지점(SPoF)이 될 수 있음.
      ⊙KDC는 많은 수의 요청을 처리 가능해야 함
         (즉, 확장 가능성이 있어야 함)
      ⊙TGS & AS는 물리적 공격 및 악성코드로부터의 공격에 취약

       

      반응형