[1889] in Kerberos-V5-bugs

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

Re: ss-960411 Checksum Problems

daemon@ATHENA.MIT.EDU (Sam Hartman)
Thu Apr 18 18:18:46 1996

To: "Theodore Y. Ts'o" <tytso@MIT.EDU>
Cc: Sam Hartman <hartmans@MIT.EDU>, Doug Engert <DEEngert@anl.gov>,
        krb5-bugs@MIT.EDU, raeburn@cygnus.com
From: Sam Hartman <hartmans@MIT.EDU>
Date: 18 Apr 1996 18:18:37 -0400
In-Reply-To: "Theodore Y. Ts'o"'s message of Thu, 18 Apr 1996 13:54:34 -0400

>>>>> ""Theodore" == "Theodore Y Ts'o" <tytso@MIT.EDU> writes:


    "Theodore> 	   Apparently, pre-Beta5 clients generate bogus
    "Theodore> checksums.  Considering that we are still in beta, and
    "Theodore> that there is substancially enhanced security if you
    "Theodore> use checksums, I strongly believe that checksums should
    "Theodore> be used if supplied.

    "Theodore> Well, the problem is that most of the people who are
    "Theodore> using Kerberos V5 today are using pre-beta5 clients.
    "Theodore> Not too many people are using beta 5, since it's a
    "Theodore> pretty broken release.  As a result, I don't want to
    "Theodore> cause to much backwards compatibility headaches.

    "Theodore> I'd much rather see the code #ifdef'ed to allow
    "Theodore> compatibility with pre-beta5 clients, and advertise
    "Theodore> that this is a provisional limited-time feature, thus
    "Theodore> encouraging people to upgrade.  In a future release, we
    "Theodore> can turn off this backwards compatibility fix.

	I would like you to reconsider this for the following reasons:

* People are already going to have to adjust their rlogind
configurations to deal with the options changes advertized on krbdev
and comp.protocols.kerberos back in January.  Therefore, now is a good
time to get people to revisit the options they use and make them aware
of new issues.

*  I would argue that considering sysadmins are already going to have
to look at the new options structure, requiring them to make a
concious decision to support backward compatability at a security cost
is reasonable.

*  I don't think it is ever a good idea to have the default behavior
create security exposures.  

* Your solution precludes an operational mode that I would argue is
useful.  In the old code with -54 or  -54e in use, the security of the
connection was dependent on the client.  I.E. a new client with a -54e
server was secure.  Under your proposed solution, using a -54e server
would be insecure regardless of the client security.  The advantage of
allowing the client to be the determining factor in the security of a
connection when talking to a new server is that it allows
administrators to use  newer clients while allowing principals with
less authorization to use older clients.  (Unfortunately, this isn't
as useful as I hoped it would be, because sufficiently old clients
will not work with a -54 server.  However, I still think it is useful
enough to be supported.)

* The krlogind option structure is much cleaner now, and adding a -i
(ingore checksums) options wouldn't make things much more complicated.
If a user can't configure the new krlogind, they will have a difficult
time setting up krb5.conf, etc.

    "Theodore> 	   This would involve backing out Ken's patch.  In
    "Theodore> particular, the warning if you have -54c would
    "Theodore> reappear--you should never require checksums if you are
    "Theodore> enabling Kerberos4, and then adding the new backward
    "Theodore> compatability option that would have the same behavior
    "Theodore> Ken has the mainline code path currently take.

    "Theodore> The problem with the old way of doing things was that
    "Theodore> even if you were using Kerberos V5, and you had a valid
    "Theodore> checksum, krlogin was still issueing the same the
    "Theodore> warning syslog for no good reason.  That was broken.

	I think it's perfectly reasonable to warn about a combination
of options that is internally inconsistent.  I.E. my point is that the
combination -54c is equivelent to -54, because you do not gain any
additional security over -54 if checksums are validated when present.
I realize that backward compatability makes this difficult, and
requires this to be rethought, but I argue that under the old
code, -54c was almost certainly a user error.  It is reasonable to
warn users that they should rethink their options and settle on -5c or
-54, but not try to combine basically incompatible operating modes.

    "Theodore> As far as checksum security and Kerberos V4, the place
    "Theodore> to warn system administrators about that sort of thing
    "Theodore> is in the documentation, not by causing a syslog to
    "Theodore> appear every single time someone logs in using Kerberos
    "Theodore> V4.

	It's in the documentation as well.

    "Theodore> 							- Ted


Thanks for your time,

--Sam

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