2012-03-29 4 views
2

Kerberos 주체가 several types입니다. [email protected]과 같은 일반 사용자는 KRB_NT_PRINCIPAL입니다. 그러나 HTTP/[email protected]과 같은 서비스는 어떻게됩니까? KRB_NT_SRV_{INST|HST|XHST}과 같은 몇 가지 가능한 유형이 있습니다. 올바른 것은 무엇입니까?호스트 기반 서비스에 대한 Kerberos 기본 유형 수정.

제 생각에 INST은 TGT 전용입니다. 정답은 HST이라고 가정합니다. 오라클의 JDK 소스 코드에서 단서를 찾을 수 없었지만,이 두 가지 모순점은 12입니다.

답변

2

RFC 4120 섹션 7.5.8은 nametypes을 정의한다. 실제로 대부분의 모든 KRB_NT_SRV_HST. 내가의 RFC와 테스트 코드를 제외하고 KRB_NT_SRV_XHST을 본 적이 없다 사용합니다. 두 번째 구성 요소는 호스트 이름이 아닌 경우 일반적으로 KRB_NT_SRV_INST으로 사용된다. .. 예를 들면 당신이 얻을 수있는 호스트 중요하지 않습니다 TGT를, 또는 다른 복제 서비스를 포함하지만, 이름 형식은 문제가 많은 6.2이 설명하지 않습니다

으로는 영역 이름, 컨벤션 사건이었다 모든 사용자가 프린시^이름에 의해 내포 된 정보에 동의하는 을 보장해야합니다. t의 일부인 이름 유형 필드 교장 이름은 해당 이름이 암시하는 종류의 정보를 나타냅니다. 이름 유형은 이어야하며 이름의 의미를 해석하는 힌트로 취급되어야합니다. 동등성을 확인할 때 중요하지 않은 것은 입니다. 이 이름 유형에서만 다른 주체 이름은 동일한 주체를 식별합니다. 이름이 인 경우 이름 공간을 분할하지 않습니다. 이름 유형을 무시하면 두 개의 이름이 같을 수 없습니다 (즉, 구성 요소 중 하나 이상, 또는 영역이 틀림). 다음과 같은 이름 유형이 정의됩니다. 현대 Kerberos 구현은 KRB_NT_SRV_HST를 약간 처리합니다. 특히, 이러한 주체의 두 번째 구성 요소에서 호스트 이름을 기반으로 상호 영역 참조를 생성 할 가능성이 큽니다. 따라서 첫 번째 구성 요소가 서비스를 식별하고 두 번째 구성 요소가 호스트 이름을 식별하면 SRV_HST가 가장 좋습니다.

+0

감사합니다. 감사합니다. –

0

RFC 1510이 이에 대한 더 나은 참조입니다. http://www.rfc-editor.org/rfc/rfc1510.txt 섹션 7.2.1 "호스트의 서버에 대한 주요 식별자는 일반적으로 이며 두 부분으로 구성됩니다. (1) 서버 이 등록 된 KDC의 영역 (2) 호스트 이름이 호스트 이름이 인터넷 도메인 이름이거나 NT-SRV-XHST 유형 인 경우 NT-SRV-HST 유형의 구성 요소 이름입니다. 슬래시 (/) 구분 기호를 사용할 수 있습니다 .2 또는 다중 구성 요소 이름의 첫 번째 구성 요소는 서비스를 식별하고 후자는 구성 요소가 호스트를 식별합니다. 호스트 이름이 대소 문자를 구분하지 않는 경우 인터넷 도메인 이름)의 이름은 호스트는 소문자 여야합니다. 시스템 권한으로 실행되는 telnet 및 Berkeley R 명령과 같은 서비스의 경우 첫 번째 구성 요소는 특정 서비스 식별자 대신 "호스트"문자열입니다. "

+0

그래서 KRB_NT_SRV_ {HST | XHST}가 맞습니까? –

관련 문제