[613] in Kerberos-V5-bugs

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

More on Shortcuts

daemon@ATHENA.MIT.EDU (Clifford Neuman)
Tue Aug 2 10:10:09 1994

Date: Tue, 2 Aug 1994 07:10:08 -0700
From: Clifford Neuman <bcn@ISI.EDU>
To: DEEngert@anl.gov
Cc: krb5-bugs@MIT.EDU, auth-pilot@es.net
In-Reply-To: "Doug Engert"'s message of Tue, 02 Aug 94 08:53:07 CDT <199408021353.AA23501@venera.isi.edu>

   Date: Tue, 02 Aug 94 08:53:07 CDT
   From: "Doug Engert" <DEEngert@anl.gov>

   I am running the krb5.src.B4-1.tar.Z and krb5.crypto.B4-1.tar.Z
   with isode.tar.Z from k5.3 for some archs built with Imake.
   Can you point me at some code which I can look at to
   verify if I have the CyberSAFE mods?

Look at the top of lib/krb5/krb/gc_frm_kdc.c for a CyberSAFE
copyright notice. 

   You said "it will return the ream closest to the target for which
   it does share a key." How do you define closest? Does it depend
   on the realm names, and check all the realms returned by the
   walk_rtree routine to see if it has a key?

Yes.

   But the code I submitted does more. It alters the list returned
   by walk_rtree, and insert and/or deletes realms. As such it may work
   with the CyberSAFE code, if the CyberSAFE uses the walk_rtree
   list.

Yes, the CyberSafe code does use the walk_rtree list.  There are still
some issues related to false starts that may cause it to miss certain
shortcuts.  In particular, if B.C.D shares a key with X.Y.Z, and C.D
shares a key with T.U.V.W.X.Y.Z, and one tries to authenticate from
A.B.C.D to T.U.V.W.X.Y.Z, then it will find the shortcut from B.C.D to
X.Y.Z and walk down the tree from there, never finding the shortcut
from C.D that it would have found if it only popped up one higher.

   The ESNet Authentication Pilot Project is trying to use cross
   realm authentication by having a ESNet realm which will share
   keys with the rest of the member organizations. i.e. 2N rather
   then N(N-1) keys. These organizations don't want to have their
   realm names depend on the name of the ESNet realm. Therefore just
   walking the realm names will not work. on the

    o ANL.GOV, FNAL.GOV, LLNL.GOV, PNL.GOV, and NERSC.GOV all are
      members on ES.NET and want to cross authenticate using the
      ES.NET realm.

    o But ANL.GOV, and FNAL.GOV are also members of HEP.NET, and
      would rather cross authenticate using HEP.NET rather then
      ES.NET. (An example, ANL and FNAL have not discussed this.)

You are correct, it would not handle the above situation because the
path is determined by the names of the realms.  I think that it would
be worthwhile to include your changes to support this.  I would prefer
that it not be called shortcut, since that implies (not from the
dictionary meaning, but the way I use it) bypassing parts of the
hierarchy.  Instead I would call it something like
CONFIGURABLE_AUTHENTICATION_PATH.

How is it that you validate the authentication path on the server
side.  In particular, if you stay within the hierarchy defined by
the old walk_rtree, only skipping hops, it is easy to define a policy
that says what is allowed in the transited field.  Once you allow
other realms to be involved, you need to guard against realms that
shouldn't be involved appearing in that path.  That is a policy
decision on the application-server side.

	~ Cliff

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