[37839] in Kerberos

home help back first fref pref prev next nref lref last post

Re: Can you please help answer this one question (as I have not been

daemon@ATHENA.MIT.EDU (Ken Hornstein)
Thu Jan 26 12:58:42 2017

Message-Id: <201701261758.v0QHwAjw024145@hedwig.cmf.nrl.navy.mil>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
To: "Brant, Ernest" <Ernest.Brant@lv.com>
In-Reply-To: <12B621F760D6DC43981B5F9E619AD0AB8385F959@WHYNXB003.group.net>
MIME-Version: 1.0
Date: Thu, 26 Jan 2017 12:58:10 -0500
Cc: "kerberos@mit.edu" <kerberos@mit.edu>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: kerberos-bounces@mit.edu

>Can you please assist me with the following question as I have read a
>lot of Kerberos documentation and still cannot find the answer to one
>question in any of the documents (unless I missed it).
>
>"How does a trusting Kerberos TGS get it's 'session key' to the
>requester in the trusted domain"

FWIW, I personally prefer the terms "local" and "foreign" when talking about
cross-realm Kerberos, since that's relatively clear.

>I understand how the cross-realm TGT is encrypted with a shared secret
>that the KDCs in both realms (either end of the trust) share, OK so far.

Right.

>However, this cross-realm TGT is given to the requester via it's 'local'
>KDC (e.g. a KDC in their own realm).
>
>Therefore how does the TGS (ticket granting service) 'session key' for
>the KDC in the trusting realm (e.g. the other side of the trust) get
>it's 'session key' into a TGT issued by another KDC (e.g. the trusted
>KDC in this instance on the other side of the trust) This same 'session
>key' has to be supplied to the requester by way of encrypting it with
>the requester's long term key, which explains why it need to be the
>local KDC sending the reply as it knows the requester long term key.

You've got it slightly wrong there. Once you are issued a TGT (via
AS messages), further tickets are acquired via TGS messages, where the
KDC uses the session key from the TGT.

Cross-realm is just done via TGS messages.  Perhaps this will be clearer:

- User "foo" gets TGT "krbtgt/LOCAL@LOCAL".  Session key encrypted via user's
  long-term secret (password) and long-term key for krbtgt/LOCAL@LOCAL (AS
  exchange).
- User "foo" gets ticket "krbtgt/LOCAL@REMOTE".  Session key encrypted both
  using the long-term secret for "krbtgt/LOCAL@REMOTE" (which both LOCAL
  and REMOTE KDCs know) and the session key from that was in
  "krbtgt/LOCAL@LOCAL".  Note: the user is talking to KDC LOCAL, via a
  TGS exchange.
- User foo gets a ticket for "service/remote.host@REMOTE".  Session key
  is encrypted with session key from krbtgt/LOCAL@REMOTE and service long-term
  key.  User talks to KDC REMOTE for this (TGS exchange).

--Ken
________________________________________________
Kerberos mailing list           Kerberos@mit.edu
https://mailman.mit.edu/mailman/listinfo/kerberos

home help back first fref pref prev next nref lref last post