[3792] in Kerberos

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

Re: can someone make KClient handle athena.dialup.mit.edu?

daemon@ATHENA.MIT.EDU (Dan Geer)
Fri Sep 2 17:46:46 1994

To: "Jon A. Rochlis" <jon@cam.ov.com>
Cc: Kerberos Developer List <KRBDEV-L@BROWNVM.BROWN.EDU>, brlewis@MIT.EDU,
        tytso@MIT.EDU, kerberos@MIT.EDU
In-Reply-To: Your message of "Thu, 25 Aug 1994 18:09:46 EDT."
             <9408252209.AA17647@kung-pao-chi-ding.aktis.com> 
Date: Fri, 02 Sep 1994 17:29:51 -0400
From: Dan Geer <geer@cam.ov.com>


    
    
       For the MIT pool of dialup hosts we have a scheme where named responds
       to queries for athena.dialup.mit.edu with whichever host it thinks is
       up, allowing logins, and has the least load.  So a user who telnets to
       athena.dialup.mit.edu will get a banner for, say, alfredo.mit.edu.  If
       they need to login again later to the same host, (say they want to
       retrieve a file from /usr/tmp), they have to specify alfredo.mit.edu
       because athena.dialup.mit.edu might resolve to something else.
       
       This scheme breaks Kerberos authentication, because clients will try to
       get tickets for rcmd.athena@DIALUP.MIT.EDU rather than
       rcmd.alfredo@ATHENA.MIT.EDU.
    
       I work around this in Unix telnet by modifying krb_realmofhost() and
       krb_get_phost() to reverse resolve the IP address of
       athena.dialup.mit.edu to get the hostname from which to derive the realm
       and instance.  Ted Ts'o tells me this is good behavior for Kerberos in
       general.  It ought to go into all versions of Kerberos.
    
    Hi Bruce, 
    
    I don't like this very much.  You are proposed to rely on the DNS to
    provide security information and assumning that you *can* reverse
    resolve in the first place.  Resolving an IP address isn't a security
    issue, since you know the name of the service you're trying to use,
    but when the service name can change out frome underneath you, you
    could wind up talking to an a fake server and mutual authentication
    won't help you.  For the same reason, get_phost's cannonicalization
    has always bothered me. 
    
    I would suggest a better workaround for your problem might be to share
    a common key for rcmd.athena@ATHENA.MIT.EDU on the dialup server's
    srvtabs and change krb.realms (or the appropriate resource on the Mac)
    to equate put hosts in DIALUP.MIT.EDU domain in the ATHENA.MIT.EDU
    realm.  While I generally hate to see servers share secret keys (ala
    AFS), this might be a reasonable exception.  On the other hand perhaps
    a comprise of the servers with shared keys is more likely than a DNS
    attack, but that's a tough call. I just don't like to see this put
    into the Kerberos libraries as a general approach.

The circumstances under which shared keys
might be rightly called acceptable are
when the service providers (machines) involved
are identical, co-located, and dataless.
In short, when they simulate a well configured
multi-processor that has no resources of its
own worth thieving.

As always, the evaluation to think/use is that
of containment: would breach of facility X
materially advance the attacker's ability to
make a further breach, either in space or time.
That is why I argue for identicality, co-location,
and datalessness.  In short, if they share a
key, they should be indistinguishable and
impoverished.

--dan


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