3 Kerberos Working Group S. Hartman
5 Expires: August 9, 2004 February 9, 2004
8 A Generalized Framework for Kerberos Preauthentication
9 draft-ietf-krb-wg-preauth-framework-00
13 This document is an Internet-Draft and is in full conformance with
14 all provisions of Section 10 of RFC2026.
16 Internet-Drafts are working documents of the Internet Engineering
17 Task Force (IETF), its areas, and its working groups. Note that other
18 groups may also distribute working documents as Internet-Drafts.
20 Internet-Drafts are draft documents valid for a maximum of six months
21 and may be updated, replaced, or obsoleted by other documents at any
22 time. It is inappropriate to use Internet-Drafts as reference
23 material or to cite them other than as "work in progress."
25 The list of current Internet-Drafts can be accessed at http://
26 www.ietf.org/ietf/1id-abstracts.txt.
28 The list of Internet-Draft Shadow Directories can be accessed at
29 http://www.ietf.org/shadow.html.
31 This Internet-Draft will expire on August 9, 2004.
35 Copyright (C) The Internet Society (2004). All Rights Reserved.
39 Kerberos is a protocol for verifying the identity of principals
40 (e.g., a workstation user or a network server) on an open network.
41 The Kerberos protocol provides a mechanism called preauthentication
42 for proving the identity of a principal and for better protecting
43 the long-term secret of the principal.
45 This document describes a model for Kerberos preauthentication
46 mechanisms. The model describes what state in the Kerberos request a
47 preauthentication mechanism is likely to change. It also describes
48 how multiple preauthentication mechanisms used in the same request
51 This document also provides common tools needed by multiple
55 Hartman Expires August 9, 2004 [Page 1]
57 Internet-Draft Kerberos Preauth Framework February 2004
60 preauthentication mechanisms.
62 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
63 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
64 document are to be interpreted as described in [1].
68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
69 2. Model for Preauthentication . . . . . . . . . . . . . . . . . 4
70 2.1 Information Managed by Model . . . . . . . . . . . . . . . . . 5
71 2.2 The Preauth_Required Error . . . . . . . . . . . . . . . . . . 6
72 2.3 Client to KDC . . . . . . . . . . . . . . . . . . . . . . . . 7
73 2.4 KDC to Client . . . . . . . . . . . . . . . . . . . . . . . . 7
74 3. Preauthentication Facilities . . . . . . . . . . . . . . . . . 9
75 3.1 Client Authentication . . . . . . . . . . . . . . . . . . . . 10
76 3.2 Strengthen Reply Key . . . . . . . . . . . . . . . . . . . . . 10
77 3.3 Replace Reply Key . . . . . . . . . . . . . . . . . . . . . . 11
78 3.4 Verify Response . . . . . . . . . . . . . . . . . . . . . . . 11
79 4. Requirements for Preauthentication Mechanisms . . . . . . . . 12
80 5. Tools for Use in Preauthentication Mechanisms . . . . . . . . 13
81 5.1 Combine Keys . . . . . . . . . . . . . . . . . . . . . . . . . 13
82 5.2 Signing Requests/Responses . . . . . . . . . . . . . . . . . . 13
83 5.3 Managing State for the KDC . . . . . . . . . . . . . . . . . . 13
84 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
85 7. Security Considerations . . . . . . . . . . . . . . . . . . . 15
86 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16
87 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 18
88 Normative References . . . . . . . . . . . . . . . . . . . . . 17
89 Informative References . . . . . . . . . . . . . . . . . . . . 18
90 A. Todo List . . . . . . . . . . . . . . . . . . . . . . . . . . 19
91 Intellectual Property and Copyright Statements . . . . . . . . 20
111 Hartman Expires August 9, 2004 [Page 2]
113 Internet-Draft Kerberos Preauth Framework February 2004
118 The core Kerberos specification treats preauthentication data as an
119 opaque typed hole in the messages to the KDC that may influence the
120 reply key used to encrypt the KDC response. This generality has been
121 useful: preauthentication data is used for a variety of extensions to
122 the protocol, many outside the expectations of the initial designers.
123 However, this generality makes designing the more common types of
124 preauthentication mechanisms difficult. Each mechanism needs to
125 specify how it interacts with other mechanisms. Also, problems like
126 combining a key with the long-term secret or proving the identity of
127 the user are common to multiple mechanisms. Where there are
128 generally well-accepted solutions to these problems, it is desirable
129 to standardize one of these solutions so mechanisms can avoid
130 duplication of work. In other cases, a modular approach to these
131 problems is appropriate. The modular approach will allow new and
132 better solutions to common preauth problems to be used by existing
133 mechanisms as they are developed.
135 This document specifies a framework for Kerberos preauthentication
136 mechanisms. IT defines the common set of functions preauthentication
137 mechanisms perform as well as how these functions affect the state of
138 the request and response. In addition several common tools needed by
139 preauthentication mechanisms are provided. Unlike [3], this
140 framework is not complete--it does not describe all the inputs and
141 outputs for the preauthentication mechanisms. Mechanism designers
142 should try to be consistent with this framework because doing so will
143 make their mechanisms easier to implement. Kerberos implementations
144 are likely to have plugin architectures for preauthentication; such
145 architectures are likely to support mechanisms that follow this
146 framework plus commonly used extensions.
148 This document should be read only after reading the documents
149 describing the Kerberos cryptography framework [3] and the core
150 Kerberos protocol [2]. This document freely uses terminology and
151 notation from these documents without reference or further
167 Hartman Expires August 9, 2004 [Page 3]
169 Internet-Draft Kerberos Preauth Framework February 2004
172 2. Model for Preauthentication
174 when a Kerberos client wishes to obtain a ticket using the
175 authentication server, it sends an initial AS request. If
176 preauthentication is being used, then the KDC will respond with a
177 KDC_ERR_PREAUTH_REQUIRED error. Alternatively, if the client knows
178 what preauthentication to use, it MAY optimize a round-trip and send
179 an initial request with padata included. If the client includes the
180 wrong padata, the server MAY return KDC_ERR_PREAUTH_FAILED with no
181 indication of what padata should have been included. For
182 interoperability reasons, clients that include optimistic preauth
183 MUST retry with no padata and examine the KDC_ERR_PREAUTH_REQUIRED if
184 they receive a KDC_ERR_PREAUTH_FAILED in response to their initial
187 The KDC maintains no state between two requests; subsequent requests
188 may even be processed by a different KDC. On the other hand, the
189 client treats a series of exchanges with KDCs as a single
190 authentication session. Each exchange accumulates state and
191 hopefully brings the client closer to a successful authentication.
193 These models for state management are in apparent conflict. For many
194 of the simpler preauthentication scenarios, the client uses one
195 round trip to find out what mechanisms the KDC supports. Then the
196 next request contains sufficient preauthentication for the KDC to be
197 able to return a successful response. For these simple scenarios,
198 the client only sends one request with preauthentication data and so
199 the authentication session is trivial. For more complex
200 authentication sessions, the KDC needs to provide the client with a
201 cookie to include in future requests to capture the current state of
202 the authentication session. Handling of multiple round-trip
203 mechanisms is discussed in Section 5.3.
205 This framework specifies the behavior of Kerberos preauthentication
206 mechanisms used to identify users or to modify the reply key used to
207 encrypt the KDC response. The padata typed hole may be used to carry
208 extensions to Kerberos that have nothing to do with proving the
209 identity of the user or establishing a reply key. These extensions
210 are outside the scope of this framework. However mechanisms that do
211 accomplish these goals should follow this framework.
213 This framework specifies the minimum state that a Kerberos
214 implementation needs to maintain while handling a request in order to
215 process preauthentication. It also specifies how Kerberos
216 implementations process the preauthentication data at each step of
217 the AS request process.
223 Hartman Expires August 9, 2004 [Page 4]
225 Internet-Draft Kerberos Preauth Framework February 2004
228 2.1 Information Managed by Model
230 The following information is maintained by the client and KDC as each
231 request is being processed:
233 o The reply key used to encrypt the KDC response
235 o How strongly the identity of the client has been authenticated
237 o Whether the reply key has been used in this authentication session
239 o Whether the contents of the KDC response can be verified by the
242 o Whether the contents of the KDC response can be verified by the
245 Conceptually, the reply key is initially the long-term key of the
246 principal. However, principals can have multiple long-term keys
247 because of support for multiple encryption types, salts and
248 string2key parameters. As described in section 5.2.7.5 of the
249 Kerberos protocol [2], the KDC sends PA-ETYPe-INFO2 to notify the
250 client what types of keys are available. Thus in full generality,
251 the reply key in the preauth model is actually a set of keys. At the
252 beginning of a request, it is initialized to the set of long-term
253 keys advertised in the PA-ETYPE-INFO2 element on the KDC. If
254 multiple reply keys are available, the client chooses which one to
255 use. Thus the client does not need to treat the reply key as a set.
256 At the beginning of a handling a request, the client picks a reply
259 KDC implementations MAY choose to offer only one key in the
260 PA-ETYPE-INFO2 element. Since the KDC already knows the client's
261 list of supported enctypes from the request, no interoperability
262 problems are created by choosing a single possible reply key. This
263 way, the KDC implementation avoids the complexity of treating the
266 At the beginning of handling a message on both the client and KDC,
267 the client's identity is not authenticated. A mechanism may indicate
268 that it has successfully authenticated the client's identity. This
269 information is useful to keep track of on the client in order to
270 know what preauthentication mechanisms should be used. The KDC needs
271 to keep track of whether the client is authenticated because the
272 primary purpose of preauthentication is to authenticate the client
273 identity before issuing a ticket. Implementations that have
274 preauthentication mechanisms offering significantly different
275 strengths of client authentication MAY choose to keep track of the
279 Hartman Expires August 9, 2004 [Page 5]
281 Internet-Draft Kerberos Preauth Framework February 2004
284 strength of the authentication used as an input into policy
285 decisions. For example, some principals might require strong
286 preauthentication, while less sensitive principals can use relatively
287 weak forms of preauthentication like encrypted timestamp.
289 Initially the reply key has not been used. A preauthentication
290 mechanism that uses the reply key either directly to encrypt or
291 cheksum some data or indirectly in the generation of new keys MUST
292 indicate that the reply key is used. This state is maintained by the
293 client and KDC to enforce the security requirement stated in Section
294 3.3 that the reply key cannot be replaced after it is used.
296 Without preauthentication, the client knows that the KDC request is
297 authentic and has not been modified because it is encrypted in the
298 long-term key of the client. Only the KDC and client know that key.
299 So at the start of handling any message the KDC request is presumed
300 to be verified to the client principal. Any preauthentication
301 mechanism that sets a new reply key not based on the principal's
302 long-term secret MUST either verify the KDC response some other way
303 or indicate that the response is not verified. If a mechanism
304 indicates that the response is not verified then the client
305 implementation MUST return an error unless a subsequent mechanism
306 verifies the response. The KDC needs to track this state so it can
307 avoid generating a response that is not verified.
309 The typical Kerberos request does not provide a way for the client
310 machine to know that it is talking to the correct KDC. Someone who
311 can inject packets into the network between the client machine and
312 the KDC and who knows the password that the user will give to the
313 client machine can generate a KDC response that will decrypt
314 properly. So, if the client machine needs to authenticate that the
315 user is in fact the named principal, then the client machine needs to
316 do a TGS request for itself as a service. Some preauthentication
317 mechanisms may provide a way for the client to authenticate the KDC.
318 Examples of this include signing the response with a well-known
319 public key or providing a ticket for the client machine as a service
320 in addition to the requested ticket.
322 2.2 The Preauth_Required Error
324 Typically a client starts an authentication session by sending an
325 initial request with no preauthentication. If the KDC requires
326 preauthentication, then it returns a KDC_ERR_PREAUTH_REQUIRED
327 message. This message MAY also be returned for preauthentication
328 configurations that use multi-round-trip mechanisms. This error
329 contains a sequence of padata. Typically the padata contains the
330 preauth type IDs of all the available preauthentication mechanisms.
331 IN the initial error response, most mechanisms do not contain data.
335 Hartman Expires August 9, 2004 [Page 6]
337 Internet-Draft Kerberos Preauth Framework February 2004
340 If a mechanism requires multiple round trips or starts with a
341 challenge from the KDC to the client, then it will likely contain
342 data in the initial error response.
344 The KDC SHOULD NOT send data that is encrypted in the long-term
345 password-based key of the principal. Doing so has the same security
346 exposures as the Kerberos protocol without preauthentication. There
347 are few situations where preauthentication is desirable and where the
348 KDC needs to expose ciphertext encrypted in a weak key before the
349 client has proven knowledge of that key.
351 In order to generate the error response, the KDC first starts by
352 initializing the preauthentication state. Then it processes any
353 padata in the client's request in the order provided by the client.
354 Mechanisms that are not understood by the KDC are ignored.
355 Mechanisms that are inappropriate for the client principal or request
356 SHOULD also be ignored. Next, it generates padata for the error
357 response, modifying the preauthentication state appropriately as each
358 mechanism is processed. The KDC chooses the order in which it will
359 generated padata (and thus the order of padata in the response), but
360 it needs to modify the preauthentication state consistently with the
361 choice of order. For example, if some mechanism establishes an
362 authenticated client identity, then the mechanisms subsequent in the
363 generated response receive this state as input. After the padata is
364 generated, the error response is sent.
368 This description assumes a client has already received a
369 KDC_ERR_PREAUTH_REQUIRED from the KDC. If the client performs
370 optimistic preauthentication then the client needs to optimisticly
371 choose the information it would normally receive from that error
374 The client starts by initializing the preauthentication state as
375 specified. It then processes the pdata in the
376 KDC_ERR_PREAUTH_REQUIRED.
378 After processing the pdata in the KDC error, the client generates a
379 new request. It processes the preauthentication mechanisms in the
380 order in which they will appear in the next request, updating the
381 state as appropriate. When the request is complete it is sent.
385 When a KDC receives an AS request from a client, it needs to
386 determine whether it will respond with an error or a AS reply.
387 There are many causes for an error to be generated that have nothing
391 Hartman Expires August 9, 2004 [Page 7]
393 Internet-Draft Kerberos Preauth Framework February 2004
396 to do with preauthentication; they are discussed in the Kerberos
399 From the standpoint of evaluating the preauthentication, the KDC
400 first starts by initializing the preauthentication state. IT then
401 processes the padata in the request. AS mentioned in Section 2.2,
402 the KDC MAY ignore padata that is inappropriate for the configuration
403 and MUST ignore padata of an unknown type.
405 At this point the KDC decides whether it will issue a
406 preauthentication required error or a reply. Typically a KDC will
407 issue a reply if the client's identity has been authenticated to a
408 sufficient degree. The processing of the preauthentication required
409 error is described in Section 2.2.
411 The KDC generates the pdata modifying the preauthentication state as
412 necessary. Then it generates the final response, encrypting it in
413 the current preauthentication reply key.
447 Hartman Expires August 9, 2004 [Page 8]
449 Internet-Draft Kerberos Preauth Framework February 2004
452 3. Preauthentication Facilities
454 Preauthentication mechanisms can be thought of as conceptually
455 providing various facilities. This serves two useful purposes.
456 First, mechanism authors can choose only to solve one specific small
457 problem. It is often useful for a mechanism designed to offer key
458 management not to directly provide client authentication but instead
459 to allow one or more other mechanisms to handle this need. Secondly,
460 thinking about the abstract services that a mechanism provides
461 yields a minimum set of security requirements that all mechanisms
462 providing that facility must meet. These security requirements are
463 not complete; mechanisms will have additional security requirements
464 based on the specific protocol they employ.
466 A mechanism is not constrained to only offering one of these
467 facilities. While such mechanisms can be designed and are sometimes
468 useful, many preauthentication mechanisms implement several
469 facilities. By combining multiple facilities in a single mechanism,
470 it is often easier to construct a secure, simple solution than by
471 solving the problem in full generality. Even when mechanisms provide
472 multiple facilities, they need to meet the security requirements for
473 all the facilities they provide.
475 According to Kerberos extensibility rules (section 1.4.2 of the
476 Kerberos specification [2]), an extension MUST NOT change the
477 semantics of a message unless a recipient is known to understand that
478 extension. Because a client does not know that the KDC supports a
479 particular preauth mechanism when it sends an initial request, a
480 preauth mechanism MUST NOT change the semantics of the request in a
481 way that will break a KDC that does not understand that mechanism.
482 Similarly, KDCs MUST not send messages to clients that affect the
483 core semantics unless the clients have indicated support for the
486 The only state in this model that would break the interpretation of a
487 message is changing the expected reply key. If one mechanism changed
488 the reply key and a later mechanism used that reply key, then a KDC
489 that interpreted the second mechanism but not the first would fail to
490 interpret the request correctly. In order to avoid this problem,
491 extensions that change core semantics are typically divided into two
492 parts. The first part proposes a change to the core semantic--for
493 example proposes a new reply key. The second part acknowledges that
494 the extension is understood and that the change takes effect. Section
495 3.2 discusses how to design mechanisms that modify the reply key to
496 be split into a proposal and acceptance without requiring additional
497 round trips to use the new reply key in subsiquent preauthentication.
498 Other changes in the state described in Section 2.1 can safely be
499 ignored by a KDC that does not understand a mechanism. Mechanisms
503 Hartman Expires August 9, 2004 [Page 9]
505 Internet-Draft Kerberos Preauth Framework February 2004
508 that modify the behavior of the request outside the scope of this
509 framework need to carefully consider the Kerberos extensibility rules
510 to avoid similar problems.
512 3.1 Client Authentication
516 Consider Secure ID case where you don't have anything to bind to
519 3.2 Strengthen Reply Key
521 Particularly, when dealing with keys based on passwords it is
522 desirable to increase the strength of the key by adding additional
523 secrets to it. Examples of sources of additional secrets include the
524 results of a Diffie-Hellman key exchange or key bits from the output
525 of a smart card [5]. Typically these additional secrets are
526 converted into a Kerberos protocol key. Then they are combined with
527 the existing reply key as discussed in Section 5.1.
529 If a mechanism implementing this facility wishes to modify the reply
530 key before knowing that the other party in the exchange supports the
531 mechanism, it proposes modifying the reply key. The other party then
532 includes a message indicating that the proposal is accepted if it is
533 understood and meets policy. In many cases it is desirable to use
534 the new reply key for client authentication and for other facilities.
535 Waiting for the other party to accept the proposal and actually
536 modify the reply key state would add an additional round trip to the
537 exchange. Instead, mechanism designers are encouraged to include a
538 typed hole for additional padata in the message that proposes the
539 reply key change. The padata included in the typed hole are
540 generated assuming the new reply key. If the other party accepts the
541 proposal, then these padata are interpreted as if they were included
542 immediately following the proposal. The party generating the
543 proposal can determine whether the padata were processed based on
544 whether the proposal for the reply key is accepted.
546 The specific formats of the proposal message, including where padata
547 are are included is a matter for the mechanism specification.
548 Similarly, the format of the message accepting the proposal is
551 Mechanisms implementing this facility and including a typed hole for
552 additional padata MUST checksum that padata using a keyed checksum or
553 encrypt the padata. Typically the reply key is used to protect the
554 padata. XXX If you are only minimally increasing the strength of the
555 reply key, this may give the attacker access to something too close
559 Hartman Expires August 9, 2004 [Page 10]
561 Internet-Draft Kerberos Preauth Framework February 2004
564 to the original reply key. However, binding the padata to the new
565 reply key seems potentially important from a security standpoint.
566 There may also be objections to this from a double encryption
567 standpoint because we also recommend client authentication facilities
568 be tied to the reply key.
570 3.3 Replace Reply Key
572 Containers to handle reply key when not sure whether other side
575 Make sure reply key is not used previously
577 Interactions with client authentication
579 Reference to container argument
615 Hartman Expires August 9, 2004 [Page 11]
617 Internet-Draft Kerberos Preauth Framework February 2004
620 4. Requirements for Preauthentication Mechanisms
622 State management for multi-round-trip mechs
624 Security interactions with other mechs
671 Hartman Expires August 9, 2004 [Page 12]
673 Internet-Draft Kerberos Preauth Framework February 2004
676 5. Tools for Use in Preauthentication Mechanisms
680 5.2 Signing Requests/Responses
682 5.3 Managing State for the KDC
727 Hartman Expires August 9, 2004 [Page 13]
729 Internet-Draft Kerberos Preauth Framework February 2004
732 6. IANA Considerations
783 Hartman Expires August 9, 2004 [Page 14]
785 Internet-Draft Kerberos Preauth Framework February 2004
788 7. Security Considerations
790 Very little of the AS request is authenticated. Same for padata
791 in the reply or error. Discuss implications
793 Table of security requirements stated elsewhere in the document
839 Hartman Expires August 9, 2004 [Page 15]
841 Internet-Draft Kerberos Preauth Framework February 2004
895 Hartman Expires August 9, 2004 [Page 16]
897 Internet-Draft Kerberos Preauth Framework February 2004
902 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
903 Levels", RFC 2119, BCP 14, March 1997.
905 [2] Neuman, C., Yu, T., Hartman, S. and K. Raeburn, "The Kerberos
906 Network Authentication Service (V5)",
907 draft-ietf-krb-wg-kerberos-clarifications-04.txt (work in
908 progress), June 2003.
910 [3] Raeburn, K., "Encryption and Checksum Specifications for
911 Kerberos 5", draft-ietf-krb-wg-crypto-03.txt (work in progress).
913 [4] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC
951 Hartman Expires August 9, 2004 [Page 17]
953 Internet-Draft Kerberos Preauth Framework February 2004
956 Informative References
958 [5] Hornstein, K., Renard, K., Neuman, C. and G. Zorn, "Integrating
959 Single-use Authentication Mechanisms with Kerberos",
960 draft-ietf-krb-wg-kerberos-sam-02.txt (work in progress),
969 EMail: hartmans@mit.edu
1007 Hartman Expires August 9, 2004 [Page 18]
1009 Internet-Draft Kerberos Preauth Framework February 2004
1012 Appendix A. Todo List
1014 Flesh out sections that are still outlines
1016 Discuss cookies and multiple-round-trip mechanisms.
1018 Talk about checksum contributions from each mechanism
1063 Hartman Expires August 9, 2004 [Page 19]
1065 Internet-Draft Kerberos Preauth Framework February 2004
1068 Intellectual Property Statement
1070 The IETF takes no position regarding the validity or scope of any
1071 intellectual property or other rights that might be claimed to
1072 pertain to the implementation or use of the technology described in
1073 this document or the extent to which any license under such rights
1074 might or might not be available; neither does it represent that it
1075 has made any effort to identify any such rights. Information on the
1076 IETF's procedures with respect to rights in standards-track and
1077 standards-related documentation can be found in BCP-11. Copies of
1078 claims of rights made available for publication and any assurances of
1079 licenses to be made available, or the result of an attempt made to
1080 obtain a general license or permission for the use of such
1081 proprietary rights by implementors or users of this specification can
1082 be obtained from the IETF Secretariat.
1084 The IETF invites any interested party to bring to its attention any
1085 copyrights, patents or patent applications, or other proprietary
1086 rights which may cover technology that may be required to practice
1087 this standard. Please address the information to the IETF Executive
1091 Full Copyright Statement
1093 Copyright (C) The Internet Society (2004). All Rights Reserved.
1095 This document and translations of it may be copied and furnished to
1096 others, and derivative works that comment on or otherwise explain it
1097 or assist in its implementation may be prepared, copied, published
1098 and distributed, in whole or in part, without restriction of any
1099 kind, provided that the above copyright notice and this paragraph are
1100 included on all such copies and derivative works. However, this
1101 document itself may not be modified in any way, such as by removing
1102 the copyright notice or references to the Internet Society or other
1103 Internet organizations, except as needed for the purpose of
1104 developing Internet standards in which case the procedures for
1105 copyrights defined in the Internet Standards process must be
1106 followed, or as required to translate it into languages other than
1109 The limited permissions granted above are perpetual and will not be
1110 revoked by the Internet Society or its successors or assignees.
1112 This document and the information contained herein is provided on an
1113 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1114 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1115 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1119 Hartman Expires August 9, 2004 [Page 20]
1121 Internet-Draft Kerberos Preauth Framework February 2004
1124 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1125 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1130 Funding for the RFC Editor function is currently provided by the
1175 Hartman Expires August 9, 2004 [Page 21]