1. Kerberos 란??

kerberos는 네트워크 인증 protocol이다.

네트워크 보안에서 Username과 password를 계속해서 보낸다는 것은 매번 password를 가로챌 수 있는 기회를 제공하는 것과 동일하다. 그리하여 Kerberos에서는 이러한 Username과 password의 전송을 최소화로 만들도록 지원한다.


2. Kerberos와 Firewalls의 차이 

기존의 보안체계인 Firewalls과 같은 경우는 위험성이 외부에서만 접근할 것이라는 추측을 토대로 제작되어졌다. 하지만 공격의 빈도는 내부에서 더많이 이뤄진다는것을 알 수 있었다.


3. Kerberos의 아키텍쳐


그림 출처 : http://www.slideshare.net/BibekNam/kerberos-authentication-protocol

(1) Kerberos 구성요소 

3가지 Components로 구성되어 있다.

 - Client

 - Authentication Server or Key Distribution Serber (KDC)

 - Server

3가지 주요 활동이 있다.

 - Authentication Service (AS) Exchange

 - Ticket Grating Service (TGS) Exchange

 - Client Server (CS) Exchange


(2) AS Exchange

 a. Client와 Authentication Server(KDC) 간의 교환

 b. Client는 KDC에게 KRB_AS_REQ msg를 통해 인증 생성을 요청한다.

 c. KDC는 Client에게 KRB_AS_REQ에 대한 응답으로 ticket에 Session Key를 넣어 응답해준다.

 d. Session Key는 사용자 비밀번호를 이용하여 암호화 된다.

 e. ticket(Ticket Granting Ticket)은 서버의 비밀키를 이용하여 암호화 한다.


(3) TGS Exchange (TGS는 서버로 연결하기 위한 Service Ticket을 얻는 과정)

 a. Client는 TGT를 인정서버로 보내 Server에 접속하기 위한 Service Ticket을 요청한다.

 b. KDC에서는 Server에 접속하기 위한 Service Ticket을 첨부하여 답변해준다.


(4) CS Exchange (Service Ticket을 통하여 Server로 접속하는 과정)

 a. Client는 Service Ticket을 Server로 전송하여 인증을 요청한다.

 b. Server는 Client ticket의 비밀번호와 session key를 복호화하여 Client를 검증한다

 c. 인증 절차가 성공일 경우  Client와 Server가 연결 되어진다.


4. Kerberos 기반 원격 응용프로그램

 - ftp

 - rcp

 - rlogin

 - rsh

 - ssh 

 - telnet


5. Kerberos 주체

kerberos 서비스의 클라이언트는 주체로 식별된다. 주체는 KDC가 티켓을 지정할 수 있는 고유 ID이다. 주체는 사용자 또는 서비스일 수 있다.

주체 이름은 기본요소, 인스턴스, 영역이라는 세가지 구성요소로 구분된다. 예를 들어 Kerberos주체는 foo/admin@ENG.EXAMPLE.COM이다. 위 예에서 각 요소의 역할은 다음과 같다.

 - foo는 기본요소. 기본요소는 사용자 이름 또는 서비스(예 : nfs)일 수 있다. 기본요소는 host라는 단어일 수 도 있다. 단어의 주체는 다양한 네트워크 서비스 ftp, rcp, rlogin등을 제공하도록 설정된 서비스 주체임을 의미한다.

- admin은 인스턴스. 인스턴스는 사용자 주체의 경우 선택적이지만, 서비스 주체의 경우에는 필수이다. 예를 들어 사용자 foo가 가끔 시스템 관리자 역할을 수행하는 경우 foo/admin을 사용하여 자신과 자신의 일반적인 사용자 ID를 구별할 수 있다. 즉 Kerberos는 foo와 foo/admin을 다른 두 주체로 취급한다.


6. Kerberos 영역

영역은 도메인과 유사한 논리적 그룹. 동일한 마스터 KDC아래에 있는 시스템 그룹을 정의한다. 일부 영역은 계층형으로, 한 영역이 다른 영역의 수퍼 세트이다. 또 다른 영역은 비계층형으로, 두영역간의 매핑을 정의해야 한다. Kerberos서비스의 특징은 영역간 인증을 허용한다는 점이다. 이 Kerberos 기능을 영역간 인증이라고 한다.


7.Kerberos 서버

각 영역에는 주체 데이터베이스의 마스터 복사본을 유지관리 하는 서버가 있어야 한다. 이서버를 마스터 KDC서버라고 한다. 또한 각 영역에는 주체 데이터베이스의 복제 복사본을 포함하는 슬레이브 KDC서버도 한개이상 있어야 한다.

마스터 KDC서버와 슬레이브 KDC서버모두 인증을 설정하는데 사용되는 티켓을 만든다.

이서버는 Kerberos화된 서비스에 대한 액세스를 제공한다.


8.Kerberos 제어를 위한 API

http://web.mit.edu/kerberos/krb5-current/doc/users/user_commands/kinit.html

참조해보자... 




'Cloud Service > Kerberos' 카테고리의 다른 글

Hadoop과 Kerberos  (3) 2016.05.10
CentOS6.6환경 Kerberos 설치 및 HDFS 연동  (1) 2016.05.09
Posted by MIDDLE
,