티스토리 뷰

싱글 사인온 시스템 Kerberos 인증


그리스 신화의 지옥의 파수견 케르베로스(Kerberos)에서 유래됐습니다.


싱글 사인온 시스템을 제공하는 네트워크 인증 방식으로, Kerberos는 서버와 클라이언트 간의 신원 확인을 위해 사용하는 프로토콜입니다.


UNIX계 OS에 클라이언트 서버형의 윈도우 시스템을 제공하는 「XWindow System」의 개발로 알려진 매사추세츠 공과대학(MIT)의 Athena 프로젝트가 개발되었습니다.


그 사양은 RFC 4120에서 표준화 되어 마이크로소프트의 Active Directory가 권장하는 인증 방식으로, MacOS에서도 채용되고 있습니다.




Kerberos 인증의 구성 요소는 이하의 5개입니다.


첫째, KDC  Key Distribution Server : 서버와 클라이언트에 관한 신뢰관계의 정보를 일괄 관리하는 데이터베이스입니다.


둘째, AS  Authentication Server : 클라이언트로부터 인증을 받는 서버입니다.


셋째, TGS Ticket Granting Server : 서버를 이용하기 위한 티켓을 발행하는 서버입니다.


네째, 프린서펄 principal: KDC가 인증하는 클라이언트 및 서버입니다.




다섯째, 레름 realm: 동일 KDC의 산하에 있는 시스템을 그룹으로서 정의하는 논리 네트워크입니다.


Kerberos 인증에서는, 클라이언트가 올바른 유저 ID와 패스워드를 AS(Authentication Server)에 송신해 인증에 성공하면, TGS(TicketGranting Server)로부터 티켓이라고 불리는 데이터를 받을 수 있습니다.


인증에는, 이 티켓이 사용되고 서버는 액세스 해 오는 클라이언트가 액세스권을 가지고 있는지를, 유저 ID와 패스워드가 아닌 티켓(클라이언트의 ID, 타임스탬프, 유효기간등)을 사용해 확인하고 있습니다.


인증시에 티켓을 사용함으로써 어카운트(유저 ID, 패스워드)의 누설을 막고 있는 것입니다.

댓글