Kerberos에서 인증 서버 (AS)와 TGS (Ticket Granting Server)는 일반적으로 동일한 서버에서 구현됩니다. 이 머신을 KDC (Key Distribution Center)라고합니다.
물론 중소 규모의 네트워크에서와 같이 동일한 물리적 시스템에서 이러한 서비스를 구현하는 것이 합리적입니다. 또한 비교적 신뢰할 수있는 출처가 있습니다.
TGS와 AS는 동일한 DB에 액세스해야합니다. => 다른 머신에서 TGS와 AS를 구현하는 것은 의미가 없습니다.
그러나 두 데이터베이스간에 어떤 데이터베이스를 공유해야하는지 알 수 없습니다.
이것은 내 생각입니다 .AS와 TGS를 분리하는 방법에는 공유 데이터베이스가 없습니다.
- AS와 TGS가 분리됨에 따라 서로 다른 마스터 시크릿이 있습니다.
- AS에는 모든 사용자가 각자의 마스터 시크릿 (사용자가 로그인 할 때 사용하여 세션 키를 암호화하는 데 사용됨)과 TGS의 마스터 시크릿 (요청 된 TGT를 암호화하기 위해)이있는 데이터베이스가 있습니다.
- TGS에는 데이터베이스가있어 어떤 서비스 (ACL, 해지 목록 등)를 사용할 수 있는지와 각 마스터 비밀이있는 모든 서비스 (티켓을 암호화)를 사용할 수있는 데이터베이스를 결정할 수 있습니다.
사용자가 서비스를 사용하려는 경우 (간체) :
- AS에서 인증
- TGS 마스터 시크릿으로 암호화 된 TGT (Ticket Granting Ticket)와 사용자의 마스터 시크릿으로 암호화 된 세션 키를 받으십시오.
- TGT와 함께 TGS에 문의하십시오
- 서비스의 마스터 시크릿으로 암호화 된 티켓 받기
- 티켓으로 서비스에 문의하십시오
AS와 TGS를 분리하는 데 문제가 있습니까, 아니면 전혀 문제가 없습니까?