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