Skip Menu |
 

Subject: use more secure checksum types
By default, we're using the checksum types for kdc_req, ap_req, and
krb_safe messages that are specified in the config file, with some
hard-coded defaults. The ability to specify them in the config file is
for DCE compatibility. The problem is, except for the krb_safe one, the
fallbacks are weak, unkeyed types, and we always use them, not just in
conjunction with DES key types.

(a) Can we get rid of the config file specifications altogether, even if
it means losing on compatibility with some versions of DCE (and possibly
not even the latest version)?

(b) Even if we have to keep the config-file stuff, it should only be
used in conjunction with DES key types.

(c) We should consider making the default for DES key types be to use
keyed checksums, too.

This is the full version of the problem we hacked around for ticket 1621
at the last minute for the 1.3 release....
To: rt-comment@krbdev.mit.edu
Subject: Re: [krbdev.mit.edu #1624] use more secure checksum types
From: Sam Hartman <hartmans@mit.edu>
Date: Wed, 25 Jun 2003 20:13:16 -0400
RT-Send-Cc:
Show quoted text
>>>>> "Ken" == Ken Raeburn via RT <rt-comment@krbdev.mit.edu> writes:

Show quoted text
Ken> By default, we're using the checksum types for kdc_req,
Ken> ap_req, and krb_safe messages that are specified in the
Ken> config file, with some hard-coded defaults. The ability to
Ken> specify them in the config file is for DCE compatibility.
Ken> The problem is, except for the krb_safe one, the fallbacks
Ken> are weak, unkeyed types, and we always use them, not just in
Ken> conjunction with DES key types.

Show quoted text
Ken> (a) Can we get rid of the config file specifications
Ken> altogether, even if it means losing on compatibility with
Ken> some versions of DCE (and possibly not even the latest
Ken> version)?

I actually think we should keep the config file stuff for debugging,
but only use it if specified.

ANd we should make it clear that users should never specify those
checksums. IF you specify a wrong checksum (one that is keyed
incorrectly), then things will fail.

But I find it useful to be able to override checksum types for
debugging and interop testing.
To: rt-comment@krbdev.mit.edu
Cc: krb5-prs@MIT.EDU
Subject: Re: [krbdev.mit.edu #1624] use more secure checksum types
From: Ken Raeburn <raeburn@MIT.EDU>
Date: Thu, 26 Jun 2003 15:58:17 -0400
RT-Send-Cc:
"Sam Hartman via RT" <rt-comment@krbdev.mit.edu> writes:
Show quoted text
> I actually think we should keep the config file stuff for debugging,
> but only use it if specified.

Point taken. I guess the answer to (a) is "no", then.

We should still do better when the config file options are not given.

Ken
From: hartmans@mit.edu
Subject: SVN Commit

Use the preferred checksum for non-DES keys in the kdc_req path and
all the time in the ap_req checksum path. This breaks code to support
DCE versions prior to 1.1 but uses the correct checksum for protocol
compatibility.

https://github.com/krb5/krb5/commit/56108ac2b7c7b747951614b9da99a5df1d57be6d
Commit By: hartmans
Revision: 22154
Changed Files:
U trunk/doc/admin.texinfo
U trunk/src/config-files/krb5.conf.M
U trunk/src/lib/krb5/krb/mk_req_ext.c
U trunk/src/lib/krb5/krb/send_tgs.c
From: tlyu@mit.edu
Subject: SVN Commit

Fix krshd and krlogind to use krb5_c_verify_checksum.

https://github.com/krb5/krb5/commit/d44144bc3c86cd2e0b9dbe74f0241905201ddd23
Commit By: tlyu
Revision: 22159
Changed Files:
U trunk/src/appl/bsd/krlogind.c
U trunk/src/appl/bsd/krshd.c
From: hartmans@mit.edu
Subject: SVN Commit

Unfortunately, pre-1.7 krshd fails to support keyed checksums because
it uses the wrong API and wrong key usage. So, if the auth_context
has an explicit checksum type set, then respect that. kcmd sets such
a checksum type. Also, because other applications may have the same
problem, allow the config file variable if set to override the default
checksum.

* kcmd.c: Force use of rsa_md5
* init_ctx.c: do not default to md5
* mk_req_ext.c: allow auth_context to override

https://github.com/krb5/krb5/commit/6d48a7deaeed3dcb5dce55d8e9730c47512a904e
Commit By: hartmans
Revision: 22160
Changed Files:
U trunk/doc/admin.texinfo
U trunk/src/appl/bsd/kcmd.c
U trunk/src/config-files/krb5.conf.M
U trunk/src/lib/krb5/krb/init_ctx.c
U trunk/src/lib/krb5/krb/mk_req_ext.c
From: tlyu@mit.edu
Subject: SVN Commit
Download (untitled) / with headers
text/plain 2.2KiB

pull up r22154, r22159, r22160 from trunk

------------------------------------------------------------------------
r22160 | hartmans | 2009-04-02 23:33:01 -0400 (Thu, 02 Apr 2009) | 12 lines
Changed paths:
M /trunk/doc/admin.texinfo
M /trunk/src/appl/bsd/kcmd.c
M /trunk/src/config-files/krb5.conf.M
M /trunk/src/lib/krb5/krb/init_ctx.c
M /trunk/src/lib/krb5/krb/mk_req_ext.c

ticket: 1624

Unfortunately, pre-1.7 krshd fails to support keyed checksums because
it uses the wrong API and wrong key usage. So, if the auth_context
has an explicit checksum type set, then respect that. kcmd sets such
a checksum type. Also, because other applications may have the same
problem, allow the config file variable if set to override the default
checksum.

* kcmd.c: Force use of rsa_md5
* init_ctx.c: do not default to md5
* mk_req_ext.c: allow auth_context to override
------------------------------------------------------------------------
r22159 | tlyu | 2009-04-02 19:30:28 -0400 (Thu, 02 Apr 2009) | 3 lines
Changed paths:
M /trunk/src/appl/bsd/krlogind.c
M /trunk/src/appl/bsd/krshd.c

ticket: 1624

Fix krshd and krlogind to use krb5_c_verify_checksum.
------------------------------------------------------------------------
r22154 | hartmans | 2009-04-01 14:25:02 -0400 (Wed, 01 Apr 2009) | 8 lines
Changed paths:
M /trunk/doc/admin.texinfo
M /trunk/src/config-files/krb5.conf.M
M /trunk/src/lib/krb5/krb/mk_req_ext.c
M /trunk/src/lib/krb5/krb/send_tgs.c

ticket: 1624
Target_version: 1.7
tags: pullup

Use the preferred checksum for non-DES keys in the kdc_req path and
all the time in the ap_req checksum path. This breaks code to support
DCE versions prior to 1.1 but uses the correct checksum for protocol
compatibility.

https://github.com/krb5/krb5/commit/25b06efa597dc69c5e5e85ed805893f03ffcc570
Commit By: tlyu
Revision: 22243
Changed Files:
U branches/krb5-1-7/doc/admin.texinfo
U branches/krb5-1-7/src/appl/bsd/kcmd.c
U branches/krb5-1-7/src/appl/bsd/krlogind.c
U branches/krb5-1-7/src/appl/bsd/krshd.c
U branches/krb5-1-7/src/config-files/krb5.conf.M
U branches/krb5-1-7/src/lib/krb5/krb/init_ctx.c
U branches/krb5-1-7/src/lib/krb5/krb/mk_req_ext.c
U branches/krb5-1-7/src/lib/krb5/krb/send_tgs.c