개발스토리
Kerberos 본문
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 |