Kerberos : AS 및 TGS 분리


9

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를 분리하는 데 문제가 있습니까, 아니면 전혀 문제가 없습니까?


1
Kerberos 내부에 너무 깊이 빠져있는 것 같습니다. 일반적인 확장 방법은 더 많은 KDC를 추가하는 것이므로 수행하려는 작업이 확실하지 않습니다.
Michael Hampton

1
맞아-실제로 어떤 문제에 직면하고 있으며 해결하려고합니까?
mfinni

1
구체적인 문제를 해결하려고하지 않습니다. 실제로 Kerberos를 사용하지 않고 Kerberos 내부를 이해하려고합니다 (시험용). 문제는 순전히 이론적 인 것입니다. 내가 뭔가 잘못 이해했는지 또는 내 질문의 인용문이 완전히 옳지 않은지 알고 싶습니다.
Misch

답변:


4

당신의 질문은 모든 이론입니다. 그래서 친절하게 대답하겠습니다. AS와 TGS는 논리적 서버이므로 이론적으로 분리 될 있습니다. 그러나 실제로는 별도의 시스템에서 구현해야 할 이유가 없었으므로 실제로는 아무도 그렇게하지 않습니다. Kerberos 인증 측면에서 세계에서 가장 크고 가장 바쁜 네트워크조차도 KDC의 논리적 구성 요소를 분리 할 필요가 없습니다. Kerberos의 실제 구현에서 AS에 필요한 모든 데이터와 TGS에 필요한 모든 데이터는 모두 동일한 데이터베이스에 저장됩니다. 그것은 이론적으로 분리 할 수 있지만, 그렇게하고 아무것도하지 않고 있지만, 불필요하게 구현을 복잡하게하는 것과 더 좋은 이유가있다.


1
AS와 TGS를 분리 할 때 또 다른 문제점을 발견했습니다. AS에서 TGT를 얻을 수있을뿐만 아니라 다른 서비스에 대한 티켓을 요청할 수도 있습니다 (예 :이 티켓 하나만 필요하다는 것을 알고 있다면 TGT를 통한 우회 필요 없음). 이것은 AS가 TGS 만 필요로하는 모든 데이터를 추가로 필요로한다는 것을 의미합니다.
Misch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.