[16520] in Kerberos_V5_Development

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

Re: Comments on the checksum vulnerabilities

daemon@ATHENA.MIT.EDU (Sam Hartman)
Fri Dec 3 13:38:19 2010

From: Sam Hartman <hartmans@mit.edu>
To: Greg Hudson <ghudson@mit.edu>
Date: Fri, 03 Dec 2010 13:37:55 -0500
In-Reply-To: <1291398519.20307.237.camel@ray> (Greg Hudson's message of "Fri, 
	03 Dec 2010 12:48:39 -0500")
Message-ID: <tsl4oaupurg.fsf@carter-zimmerman.suchdamage.org>
MIME-Version: 1.0
Cc: "krbdev@mit.edu" <krbdev@mit.edu>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krbdev-bounces@mit.edu

>>>>> "Greg" == Greg Hudson <ghudson@MIT.EDU> writes:
    Greg> 2. Enforcement

    Greg> Right now, the crypto layer is responsible for ensuring that a
    Greg> keyed cksumtype isn't being misapplied to the wrong kind of
    Greg> key, and the protocol layer is responsible for ensuring that a
    Greg> checksum is keyed when it has to be.

    Greg> Since not all checksums need to be keyed (some are contained
    Greg> within an encrypted blob), we cannot suddenly start enforcing
    Greg> keyed checksums for every krb5_[ck]_verify_checksum operation.

Or if we do we'd need to handle the cases where unkeyed checksums are
permitted.  However that would probably be too big of a break for
potential non-tree uses of the API.

I understand we have a lot of verify_checksum APIs.  However, I am also
concerned about the fact that we've made this mistake multiple times.

We might be able to get away with changing behavior for the
krb5_k_interface and adding a way to set on a krb5 key object whether
unkeyed checksums are permitted.  That's probably more ugly than a new
API.

We could potentially have a flag to or-in with keyusages.  Or have a set
of key usages for which unkeyed checksums are permitted.
The last is actually something that seems worth considering.
The other options are kind of ugly.

--Sam
_______________________________________________
krbdev mailing list             krbdev@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev

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