개발스토리

Kerberos 본문

Computer Science/보안

Kerberos

무루뭉 2020. 11. 9. 01:50

Kerberos

● Symmetic Key 기반 분산 인증 시스템

ex) pc방에서 프린트 할 때 프린트 서버에 따로 로그인 안하고 바로 인쇄만 누르면 프린트 된다.

● 매번 password 입력을 안해도 되고, 각 서버가 사용자들의 password를 저장할 필요가 없다.

ex) 구글 계정 로그인 한번 하면, 유튜브도 가능하고, 구글 드라이브도 사용이 가능하다.

 

Kerberos design 요구사항

● 사용자는 로그인을 한 번만 한다. 그 다음 분산 시스템을 쓰는 데에서 로그인을 별도로 안해도 된다.

● 사용자가 다른 시스템을 요구할 때 사용자의 정보를 보내지 않아야 한다.

● 모든 서버가 사용자의 비밀번호를 저장하지 않아도 된다.

 

System Components

● AS(Authentication Server) 

- 모든 사용자/서버들의 비밀번호를 안다.

- TGS에 제시할 티켓을 발급

● TGS(Ticket Granting Server)

- 서버는 티켓만 받는다.

- 서비스 요청 시에, 한 사용자는 한 서버에 티켓을 제시한다.

- 서버에 제시할 티켓 발급 역할을 한다.

 

시스템 구성도

 

- 인증 서버를 구글로 보고, 서버를 유튜브로 보자.

- 구글에 로그인을 하고 인증값을 받는다.

- 그 다음, 티켓 발급 서버에 인증값을 주고 티켓을 발급 받는다.

- 발급 받은 티켓으로 유튜브에 접속을 한다. (위 그림에서 클라이언트와 서버에 화살표가 잘못되었다.)

 

protocol

● user/TGS는 AS에 server는 TGS에 등록(비밀번호)되어 있다.

User가 서비스를 필요로 한다.(ex 프린트하고 싶다)

서비스를 제공할 서버를 찾는다.

해당 서버를 관리하는 TGS를 찾는다.

● AS에 TGS에 보낼 티켓을 요청한다.

 

단점

single point of value : AS(인증서버), TS(티켓서버)가 죽으면, 전체 시스템이 죽는다.

scalability : 확장성이 떨어진다.

 

 

'Computer Science > 보안' 카테고리의 다른 글

SSL/TLS  (1) 2020.11.19
IPsec  (0) 2020.11.18
Dos  (0) 2020.11.09
Firewall(방화벽)  (0) 2020.11.09
페르마 정리와 오일러 정리  (0) 2020.10.03
Comments