pull up r23815 from trunk
[krb5.git] / README
1                    Kerberos Version 5, Release 1.8
2
3                             Release Notes
4                         The MIT Kerberos Team
5
6 Copyright and Other Notices
7 ---------------------------
8
9 Copyright (C) 1985-2010 by the Massachusetts Institute of Technology
10 and its contributors.  All rights reserved.
11
12 Please see the file named NOTICE for additional notices.
13
14 MIT Kerberos is a project of the MIT Kerberos Consortium.  For more
15 information about the Kerberos Consortium, see http://kerberos.org/
16
17 For more information about the MIT Kerberos software, see
18     http://web.mit.edu/kerberos/
19
20 People interested in participating in the MIT Kerberos development
21 effort should see http://k5wiki.kerberos.org/
22
23 Building and Installing Kerberos 5
24 ----------------------------------
25
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.
32
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.
38
39 If you are attempting to build under Windows, please see the
40 src/windows/README file.
41
42 Reporting Bugs
43 --------------
44
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).
49
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
52 krb5-bugs@mit.edu.
53
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.
57
58 You may view bug reports by visiting
59
60     http://krbdev.mit.edu/rt/
61
62 and logging in as "guest" with password "guest".
63
64 DES transition
65 --------------
66
67 The krb5-1.8 release disables single-DES cryptosystems by default.  As
68 a result, you may need to add the libdefaults setting
69 "allow_weak_crypto = true" to communicate with existing Kerberos
70 infrastructures if they do not support stronger ciphers.
71
72 The Data Encryption Standard (DES) is widely recognized as weak.  The
73 krb5-1.7 release contains measures to encourage sites to migrate away
74 from using single-DES cryptosystems.  Among these is a configuration
75 variable that enables "weak" enctypes, which now defaults to "false"
76 beginning with krb5-1.8.  The krb5-1.8 release includes additional
77 measures to ease the transition away from single-DES.  These
78 additional measures include:
79
80 * enctype config enhancements (so you can do "DEFAULT +des", etc.)
81 * new API to allow applications (e.g. AFS) to explicitly reenable weak
82   crypto
83 * easier kadmin history key changes
84
85 Major changes in 1.8
86 --------------------
87
88 The krb5-1.8 release contains a large number of changes, featuring
89 improvements in the following broad areas:
90
91 * Code quality
92 * Developer experience
93 * Performance
94 * End-user experience
95 * Administrator experience
96 * Protocol evolution
97
98 Code quality:
99
100 * Move toward test-driven development -- new features have test code,
101   or at least written testing procedures.
102
103 * Remove applications to a separate distribution to simplify
104   independent maintenance.
105
106 * Increase conformance to coding style
107
108   + "The great reindent"
109
110   + Selective refactoring
111
112 Developer experience:
113
114 * Crypto modularity -- vendors can more easily substitute their own
115   crypto implementations, which might be hardware-accelerated or
116   validated to FIPS 140, for the builtin crypto implementation that
117   has historically shipped as part of MIT Kerberos.  Currently, only
118   an OpenSSL provider is included, but others are planned for the
119   future.
120
121 * Move toward improved KDB interface
122
123 * Improved API for verifying and interrogating authorization data
124
125 Performance:
126
127 * Investigate and remedy repeatedly-reported performance bottlenecks.
128
129 * Encryption performance -- new crypto API with opaque key structures,
130   to allow for optimizations such as caching of derived keys
131
132 End-user experience:
133
134 * Reduce DNS dependence by implementing an interface that allows
135   client library to track whether a KDC supports service principal
136   referrals.
137
138 Administrator experience:
139
140 * Disable DES by default -- this reduces security exposure from using
141   an increasingly insecure cipher.
142
143 * More versatile crypto configuration, to simplify migration away from
144   DES -- new configuration syntax to allow inclusion and exclusion of
145   specific algorithms relative to a default set.
146
147 * Account lockout for repeated login failures -- mitigates online
148   password guessing attacks, and helps with some enterprise regulatory
149   compliance.
150
151 * Bridge layer to allow Heimdal HDB modules to act as KDB backend
152   modules.  This provides a migration path from a Heimdal to an MIT
153   KDC.
154
155 Protocol evolution:
156
157 * FAST enhancements -- preauthentication framework enhancements to
158   allow a client to securely negotiate the use of FAST with a KDC of
159   unknown capabilities.
160
161 * Microsoft Services for User (S4U) compatibility: S4U2Self, also
162   known as "protocol transition", allows for service to ask a KDC for
163   a ticket to themselves on behalf of a client authenticated via a
164   different means; S4U2Proxy allows a service to ask a KDC for a
165   ticket to another service on behalf of a client.
166
167 * Anonymous PKINIT -- allows the use of public-key cryptography to
168   anonymously authenticate to a realm
169
170 * Support doing constrained delegation similar to Microsoft's
171   S4U2Proxy without the use of the Windows PAC.  This functionality
172   uses a protocol compatible with Heimdal.
173
174 krb5-1.8 changes by ticket ID
175 -----------------------------
176
177 5468    delete kadmin v1 support
178 6206    new API for storing extra per-principal data in ccache
179 6434    krb5_cc_resolve() will crash if a null name param is provided
180 6454    Make krb5_mkt_resolve error handling work
181 6510    Restore limited support for static linking
182 6539    Enctype list configuration enhancements
183 6546    KDB should use enctype of stashed master key
184 6547    Modify kadm5 initializers to accept krb5 contexts
185 6563    Implement s4u extensions
186 6564    s4u extensions integration broke test suite...
187 6565    HP-UX IA64 wrong endian
188 6572    Implement GSS naming extensions and authdata verification
189 6576    Implement new APIs to allow improved crypto performance
190 6577    Account lockout for repeated login failures
191 6578    Heimdal DB bridge plugin for KDC back end
192 6580    Constrained delegation without PAC support
193 6582    Memory leak in _kadm5_init_any introduced with ipropd
194 6583    Unbundle applications into separate repository
195 6586    libkrb5 support for non-blocking AS requests
196 6590    allow testing even if name->addr->name mapping doesn't work
197 6591    fix slow behavior on Mac OS X with link-local addresses
198 6592    handle negative enctypes better
199 6593    Remove dependency on /bin/csh in test suite
200 6595    FAST (preauth framework) negotiation
201 6597    Add GSS extensions to store credentials, generate random bits
202 6598    gss_init_sec_context potential segfault
203 6599    memory leak in krb5_rd_req_decrypt_tkt_part
204 6600    gss_inquire_context cannot handle no target name from mechanism
205 6601    gsssspi_set_cred_option cannot handle mech specific option
206 6603    issues with SPNEGO
207 6605    PKINIT client should validate SAN for TGS, not service principal
208 6606    allow testing when offline
209 6607    anonymous PKINIT
210 6616    Fix spelling and hyphen errors in man pages
211 6618    Support optional creation of PID files for krb5kdc and kadmind
212 6620    kdc_supported_enctypes does nothing; eradicate mentions thereof
213 6621    disable weak crypto by default
214 6622    kinit_fast fails if weak enctype is among client principal keys
215 6623    Always treat anonymous as preauth required
216 6624    automated tests for anonymous pkinit
217 6625    yarrow code does not initialize keyblock enctype and uses
218         unitialized value
219 6626    Restore interoperability with 1.6 addprinc -randkey
220 6627    Set enctype in crypto_tests to prevent memory leaks
221 6628    krb5int_dk_string_to_key fails to set enctype
222 6629    krb5int_derive_key results in cache with uninitialized values
223 6630    krb5int_pbkdf2_hmac_sha1 fails to set enctype on keyblock
224 6632    Simplify and fix FAST check for keyed checksum type
225 6634    Use keyed checksum type for DES FAST
226 6640    Make history key exempt from permitted_enctypes
227 6642    Add test program for decryption of overly short buffers
228 6643    Problem with krb5 libcom_err vs. system libcom_err
229 6644    Change basename of libkadm5 libraries to avoid Heimdal conflict
230 6645    Add krb5_allow_weak_crypto API
231 6648    define MIN() in lib/gssapi/krb5/prf.c
232 6649    Get rid of kdb_ext.h and allow out-of-tree KDB plugins
233 6651    Handle migration from pre-1.7 databases with master key
234         kvno != 1 (1.8 pullup)
235 6652    Make decryption of master key list more robust
236 6653    set_default_enctype_var should filter not reject weak enctypes
237 6654    Fix greet_server build
238 6655    Fix cross-realm handling of AD-SIGNEDPATH
239 6656    krb5int_fast_free_state segfaults if state is null
240 6657    enc_padata can include empty sequence
241 6658    Implement gss_set_neg_mechs
242 6659    Additional memory leaks in kdc
243 6660    Minimal support for updating history key
244 6662    MITKRB5-SA-2010-001 CVE-2010-0283 KDC denial of service
245 6663    update mkrel to deal with changed source layout
246 6665    Fix cipher state chaining in OpenSSL back end
247 6669    doc updates for allow_weak_crypto
248
249 Acknowledgements
250 ----------------
251
252 Past and present Sponsors of the MIT Kerberos Consortium:
253
254     Apple
255     Carnegie Mellon University
256     Centrify Corporation
257     Columbia University
258     Cornell University
259     The Department of Defense of the United States of America (DoD)
260     Google
261     Iowa State University
262     MIT
263     Michigan State University
264     Microsoft
265     The National Aeronautics and Space Administration
266         of the United States of America (NASA)
267     Nippon Telephone and Telegraph (NTT)
268     Oracle
269     Pennsylvania State University
270     Red Hat
271     Stanford University
272     TeamF1, Inc.
273     The University of Alaska
274     The University of Michigan
275
276 Past and present members of the Kerberos Team at MIT:
277
278     Danilo Almeida
279     Jeffrey Altman
280     Justin Anderson
281     Richard Basch
282     Mitch Berger
283     Jay Berkenbilt
284     Andrew Boardman
285     Bill Bryant
286     Steve Buckley
287     Joe Calzaretta
288     John Carr
289     Mark Colan
290     Don Davis
291     Alexandra Ellwood
292     Dan Geer
293     Nancy Gilman
294     Matt Hancher
295     Thomas Hardjono
296     Sam Hartman
297     Paul Hill
298     Marc Horowitz
299     Eva Jacobus
300     Miroslav Jurisic
301     Barry Jaspan
302     Geoffrey King
303     Kevin Koch
304     John Kohl
305     HaoQi Li
306     Peter Litwack
307     Scott McGuire
308     Steve Miller
309     Kevin Mitchell
310     Cliff Neuman
311     Paul Park
312     Ezra Peisach
313     Chris Provenzano
314     Ken Raeburn
315     Jon Rochlis
316     Jeff Schiller
317     Jen Selby
318     Robert Silk
319     Bill Sommerfeld
320     Jennifer Steiner
321     Ralph Swick
322     Brad Thompson
323     Harry Tsai
324     Zhanna Tsitkova
325     Ted Ts'o
326     Marshall Vale
327     Tom Yu
328
329 The following external contributors have provided code, patches, bug
330 reports, suggestions, and valuable resources:
331
332     Brandon Allbery
333     Russell Allbery
334     Michael B Allen
335     Derek Atkins
336     David Bantz
337     Alex Baule
338     Arlene Berry
339     Jeff Blaine
340     Radoslav Bodo
341     Emmanuel Bouillon
342     Michael Calmer
343     Ravi Channavajhala
344     Srinivas Cheruku
345     Howard Chu
346     Andrea Cirulli
347     Christopher D. Clausen
348     Kevin Coffman
349     Simon Cooper
350     Sylvain Cortes
351     Nalin Dahyabhai
352     Roland Dowdeswell
353     Jason Edgecombe
354     Mark Eichin
355     Shawn M. Emery
356     Douglas E. Engert
357     Peter Eriksson
358     Ronni Feldt
359     JC Ferguson
360     William Fiveash
361     Ákos Frohner
362     Marcus Granado
363     Scott Grizzard
364     Steve Grubb
365     Philip Guenther
366     Jakob Haufe
367     Jeff Hodges
368     Love Hörnquist Åstrand
369     Ken Hornstein
370     Henry B. Hotz
371     Luke Howard
372     Shumon Huque
373     Jeffrey Hutzelman
374     Wyllys Ingersoll
375     Holger Isenberg
376     Mikkel Kruse
377     Volker Lendecke
378     Ryan Lynch
379     Franklyn Mendez
380     Markus Moeller
381     Paul Moore
382     Edward Murrell
383     Nikos Nikoleris
384     Dmitri Pal
385     Javier Palacios
386     Ezra Peisach
387     W. Michael Petullo
388     Mark Phalan
389     Xu Qiang
390     Robert Relyea
391     Martin Rex
392     Guillaume Rousse
393     Tom Shaw
394     Peter Shoults
395     Simo Sorce
396     Michael Ströder
397     Bjørn Tore Sund
398     Rathor Vipin
399     Jorgen Wahlsten
400     Max (Weijun) Wang
401     John Washington
402     Marcus Watts
403     Simon Wilkinson
404     Nicolas Williams
405     Ross Wilper
406     Hanz van Zijst
407
408 The above is not an exhaustive list; many others have contributed in
409 various ways to the MIT Kerberos development effort over the years.
410 Other acknowledgments (for bug reports and patches) are in the
411 doc/CHANGES file.