728x90
kerberos는 그리스 신화에서 유래하여 "지옥에서 온 머리가 3개 달린 경비견" 이라는 뜻으로 케르베로스 라고도 불리기도하죠.
이러한 이름을 가지고 있는 kerberos는 MIT에서 개발한 티켓 기반의 컴퓨터 네트워크 인증 프로토콜입니다.
왜 만들어졌나요?
프로젝트 Athena가 제공하는 네트워크 서비스를 보호할 목적으로 처음에 만들어지게 되었습니다. 하지만 일반적으로는 보안이 보장되지 않은 네트워크 환경에서 유저와 서버의 신뢰성을 확보하기 위해서 사용됩니다. 더 쉽게 말하면 인증된 클라이언트만이 서버에 접속할 수 있도록 관리해줍니다.
신뢰성을 어떻게 확보하죠?
바로 위에서 말한 티켓을 사용하여 진행됩니다. 커버로스에서 티켓은 아래 정보를 안전하게 전달하는데 사용되는 정보 패킷입니다.
- 유저 아이디
- 유저 host IP 주소
- timestamp
- 티켓 수명
- 세션키
암호화된 위 정보를 통해서 클라이언트와 서버는 서로 믿을 수 있는지에 대한 과정을 거치며 확인합니다
커버로스 동작 과정
커버로스 인증 메커니즘에는 아래 4가지가 존재합니다.
- 클라이언트: 인증을 얻길 원하는 사용자의 컴퓨터
- 서버: 클라이언트가 접근하려고 하는 컴퓨터
- 인증서버: 클라이언트를 인증해주는 컴퓨터
- 티켓 발급 서버: 티켓을 클라이언트에게 발급해주는 서버
위 그림처럼 내가 누구인지 인증하고(아이디 패스워드 로그인), 티켓을 발급받고 서버에 접근할 수 있게됩니다.
주의할 점
커버로스 서버는 하나이기 때문에 서버가 다운될 경우 새로운 유저는 로그인할 수 없게됩니다. 또한 시간(timestamp)에 대한 요구가 엄격하기 때문에 호스트들 간의 시간 동기화가 되어있지 않을 경우 인증 과정에서 문제가 발생합니다. 과도한 티켓 생성시 서버 부하가 발생할 수 있습니다.
출처:
- 커버로스 (Kerberos)
- [네트워크] 커버로스(kerberos)란?
- Kerberos 인증 구성
- 커버로스(Kerberos) 프로토콜
728x90
'Network' 카테고리의 다른 글
[네트워크] SaltStack 이란? (0) | 2023.04.10 |
---|---|
[네트워크] 분산 서버 환경에서 세션공유 문제 해결법 (0) | 2022.11.01 |
[네트워크] HTTP vs HTTPS (0) | 2022.11.01 |
[네트워크] TCP와 UDP (0) | 2022.11.01 |
[네트워크] OSI 7 계층, OSI 참조모델 (0) | 2022.11.01 |