1 Kerberos Version 5, Release 1.8
6 Copyright and Other Notices
7 ---------------------------
9 Copyright (C) 1985-2010 by the Massachusetts Institute of Technology
10 and its contributors. All rights reserved.
12 Please see the file named NOTICE for additional notices.
14 MIT Kerberos is a project of the MIT Kerberos Consortium. For more
15 information about the Kerberos Consortium, see http://kerberos.org/
17 For more information about the MIT Kerberos software, see
18 http://web.mit.edu/kerberos/
20 People interested in participating in the MIT Kerberos development
21 effort should see http://k5wiki.kerberos.org/
23 Building and Installing Kerberos 5
24 ----------------------------------
26 The first file you should look at is doc/install-guide.ps; it contains
27 the notes for building and installing Kerberos 5. The info file
28 krb5-install.info has the same information in info file format. You
29 can view this using the GNU emacs info-mode, or by using the
30 standalone info file viewer from the Free Software Foundation. This
31 is also available as an HTML file, install.html.
33 Other good files to look at are admin-guide.ps and user-guide.ps,
34 which contain the system administrator's guide, and the user's guide,
35 respectively. They are also available as info files
36 kerberos-admin.info and krb5-user.info, respectively. These files are
37 also available as HTML files.
39 If you are attempting to build under Windows, please see the
40 src/windows/README file.
45 Please report any problems/bugs/comments using the krb5-send-pr
46 program. The krb5-send-pr program will be installed in the sbin
47 directory once you have successfully compiled and installed Kerberos
48 V5 (or if you have installed one of our binary distributions).
50 If you are not able to use krb5-send-pr because you haven't been able
51 compile and install Kerberos V5 on any platform, you may send mail to
54 Please keep in mind that unencrypted e-mail is not secure. If you need
55 to report a security vulnerability, or send sensitive information,
56 please PGP-encrypt it to krbcore-security@mit.edu.
58 You may view bug reports by visiting
60 http://krbdev.mit.edu/rt/
62 and logging in as "guest" with password "guest".
67 The Data Encryption Standard (DES) is widely recognized as weak. The
68 krb5-1.7 release contains measures to encourage sites to migrate away
69 from using single-DES cryptosystems. Among these is a configuration
70 variable that enables "weak" enctypes, which now defaults to "false"
71 beginning with krb5-1.8. The krb5-1.8 release includes additional
72 measures to ease the transition away from single-DES.
77 The krb5-1.8 release contains a large number of changes, featuring
78 improvements in the following broad areas:
81 * Developer experience
84 * Administrator experience
89 * Move toward test-driven development -- new features have test code,
90 or at least written testing procedures.
92 * Remove applications to a separate distribution to simplify
93 independent maintenance.
95 * Increase conformance to coding style
97 + "The great reindent"
99 + Selective refactoring
101 Developer experience:
103 * Crypto modularity -- vendors can more easily substitute their own
104 crypto implementations, which might be hardware-accelerated or
105 validated to FIPS 140, for the builtin crypto implementation that
106 has historically shipped as part of MIT Kerberos. Currently, only
107 an OpenSSL provider is included, but others are planned for the
110 * Move toward improved KDB interface
112 * Improved API for verifying and interrogating authorization data
116 * Investigate and remedy repeatedly-reported performance bottlenecks.
118 * Encryption performance -- new crypto API with opaque key structures,
119 to allow for optimizations such as caching of derived keys
123 * Reduce DNS dependence by implementing an interface that allows
124 client library to track whether a KDC supports service principal
127 Administrator experience:
129 * Disable DES by default -- this reduces security exposure from using
130 an increasingly insecure cipher.
132 * More versatile crypto configuration, to simplify migration away from
133 DES -- new configuration syntax to allow inclusion and exclusion of
134 specific algorithms relative to a default set.
136 * Account lockout for repeated login failures -- mitigates online
137 password guessing attacks, and helps with some enterprise regulatory
140 * Bridge layer to allow Heimdal HDB modules to act as KDB backend
141 modules. This provides a migration path from a Heimdal to an MIT
146 * FAST enhancements -- preauthentication framework enhancements to
147 allow a client to securely negotiate the use of FAST with a KDC of
148 unknown capabilities.
150 * Microsoft Services for User (S4U) compatibility: S4U2Self, also
151 known as "protocol transition", allows for service to ask a KDC for
152 a ticket to themselves on behalf of a client authenticated via a
153 different means; S4U2Proxy allows a service to ask a KDC for a
154 ticket to another service on behalf of a client.
156 * Anonymous PKINIT -- allows the use of public-key cryptography to
157 anonymously authenticate to a realm
159 * Support doing constrained delegation similar to Microsoft's
160 S4U2Proxy without the use of the Windows PAC. This functionality
161 uses a protocol compatible with Heimdal.
163 krb5-1.8 changes by ticket ID
164 -----------------------------
166 5468 delete kadmin v1 support
167 6206 new API for storing extra per-principal data in ccache
168 6434 krb5_cc_resolve() will crash if a null name param is provided
169 6454 Make krb5_mkt_resolve error handling work
170 6510 Restore limited support for static linking
171 6539 Enctype list configuration enhancements
172 6546 KDB should use enctype of stashed master key
173 6547 Modify kadm5 initializers to accept krb5 contexts
174 6563 Implement s4u extensions
175 6564 s4u extensions integration broke test suite...
176 6565 HP-UX IA64 wrong endian
177 6572 Implement GSS naming extensions and authdata verification
178 6576 Implement new APIs to allow improved crypto performance
179 6577 Account lockout for repeated login failures
180 6578 Heimdal DB bridge plugin for KDC back end
181 6580 Constrained delegation without PAC support
182 6582 Memory leak in _kadm5_init_any introduced with ipropd
183 6583 Unbundle applications into separate repository
184 6586 libkrb5 support for non-blocking AS requests
185 6590 allow testing even if name->addr->name mapping doesn't work
186 6591 fix slow behavior on Mac OS X with link-local addresses
187 6592 handle negative enctypes better
188 6593 Remove dependency on /bin/csh in test suite
189 6595 FAST (preauth framework) negotiation
190 6597 Add GSS extensions to store credentials, generate random bits
191 6598 gss_init_sec_context potential segfault
192 6599 memory leak in krb5_rd_req_decrypt_tkt_part
193 6600 gss_inquire_context cannot handle no target name from mechanism
194 6601 gsssspi_set_cred_option cannot handle mech specific option
195 6605 PKINIT client should validate SAN for TGS, not service principal
196 6606 allow testing when offline
197 6607 anonymous PKINIT
198 6616 Fix spelling and hyphen errors in man pages
199 6618 Support optional creation of PID files for krb5kdc and kadmind
200 6620 kdc_supported_enctypes does nothing; eradicate mentions thereof
201 6621 disable weak crypto by default
202 6622 kinit_fast fails if weak enctype is among client principal keys
203 6623 Always treat anonymous as preauth required
204 6624 automated tests for anonymous pkinit
205 6625 yarrow code does not initialize keyblock enctype and uses unitialized value
206 6626 Restore interoperability with 1.6 addprinc -randkey
207 6627 Set enctype in crypto_tests to prevent memory leaks
208 6628 krb5int_dk_string_to_key fails to set enctype
209 6629 krb5int_derive_key results in cache with uninitialized values
210 6630 krb5int_pbkdf2_hmac_sha1 fails to set enctype on keyblock
211 6632 Simplify and fix FAST check for keyed checksum type
212 6634 Use keyed checksum type for DES FAST
213 6640 Make history key exempt from permitted_enctypes
214 6642 Add test program for decryption of overly short buffers
215 6643 Problem with krb5 libcom_err vs. system libcom_err
216 6644 Change basename of libkadm5 libraries to avoid Heimdal conflict
217 6645 Add krb5_allow_weak_crypto API
218 6648 define MIN() in lib/gssapi/krb5/prf.c
219 6649 Get rid of kdb_ext.h and allow out-of-tree KDB plugins
220 6651 Handle migration from pre-1.7 databases with master key kvno != 1 (1.8 pullup)
221 6652 Make decryption of master key list more robust
222 6653 set_default_enctype_var should filter not reject weak enctypes
223 6654 Fix greet_server build
224 6655 Fix cross-realm handling of AD-SIGNEDPATH
225 6656 krb5int_fast_free_state segfaults if state is null
226 6657 enc_padata can include empty sequence
227 6658 Implement gss_set_neg_mechs
228 6660 Minimal support for updating history key
229 6662 MITKRB5-SA-2010-001 CVE-2010-0283 KDC denial of service
230 6663 update mkrel to deal with changed source layout
235 Past and present Sponsors of the MIT Kerberos Consortium:
238 Carnegie Mellon University
242 The Department of Defense of the United States of America (DoD)
244 Iowa State University
246 Michigan State University
248 The National Aeronautics and Space Administration
249 of the United States of America (NASA)
250 Nippon Telephone and Telegraph (NTT)
252 Pennsylvania State University
256 The University of Alaska
257 The University of Michigan
259 Past and present members of the Kerberos Team at MIT:
312 The following external contributors have provided code, patches, bug
313 reports, suggestions, and valuable resources:
330 Christopher D. Clausen
351 Love Hörnquist Åstrand
391 The above is not an exhaustive list; many others have contributed in
392 various ways to the MIT Kerberos development effort over the years.
393 Other acknowledgments (for bug reports and patches) are in the