draft-ietf-krb-wg-preauth-framework-00.txt
1 2 3 Kerberos Working Group S. Hartman 4 Internet-Draft MIT 5 Expires: August 9, 2004 February 9, 2004 6 7 8 A Generalized Framework for Kerberos Preauthentication 9 draft-ietf-krb-wg-preauth-framework-00 10 11 Status of this Memo 12 13 This document is an Internet-Draft and is in full conformance with 14 all provisions of Section 10 of RFC2026. 15 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. 19 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." 24 25 The list of current Internet-Drafts can be accessed at http:// 26 www.ietf.org/ietf/1id-abstracts.txt. 27 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 30 31 This Internet-Draft will expire on August 9, 2004. 32 33 Copyright Notice 34 35 Copyright (C) The Internet Society (2004). All Rights Reserved. 36 37 Abstract 38 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. 44 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 49 will interact. 50 51 This document also provides common tools needed by multiple 52 53 54 55 Hartman Expires August 9, 2004 [Page 1] 56 57 Internet-Draft Kerberos Preauth Framework February 2004 58 59 60 preauthentication mechanisms. 61 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]. 65 66 Table of Contents 67 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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 Hartman Expires August 9, 2004 [Page 2] 112 113 Internet-Draft Kerberos Preauth Framework February 2004 114 115 116 1. Introduction 117 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. 134 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. 147 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 152 explanation. 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 Hartman Expires August 9, 2004 [Page 3] 168 169 Internet-Draft Kerberos Preauth Framework February 2004 170 171 172 2. Model for Preauthentication 173 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 185 optimistic request. 186 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. 192 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. 204 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. 212 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. 218 219 220 221 222 223 Hartman Expires August 9, 2004 [Page 4] 224 225 Internet-Draft Kerberos Preauth Framework February 2004 226 227 228 2.1 Information Managed by Model 229 230 The following information is maintained by the client and KDC as each 231 request is being processed: 232 233 o The reply key used to encrypt the KDC response 234 235 o How strongly the identity of the client has been authenticated 236 237 o Whether the reply key has been used in this authentication session 238 239 o Whether the contents of the KDC response can be verified by the 240 client principal 241 242 o Whether the contents of the KDC response can be verified by the 243 client machine 244 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 257 key to use. 258 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 264 reply key as a set. 265 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 276 277 278 279 Hartman Expires August 9, 2004 [Page 5] 280 281 Internet-Draft Kerberos Preauth Framework February 2004 282 283 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. 288 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. 295 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. 308 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. 321 322 2.2 The Preauth_Required Error 323 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. 332 333 334 335 Hartman Expires August 9, 2004 [Page 6] 336 337 Internet-Draft Kerberos Preauth Framework February 2004 338 339 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. 343 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. 350 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. 365 366 2.3 Client to KDC 367 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 372 response. 373 374 The client starts by initializing the preauthentication state as 375 specified. It then processes the pdata in the 376 KDC_ERR_PREAUTH_REQUIRED. 377 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. 382 383 2.4 KDC to Client 384 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 388 389 390 391 Hartman Expires August 9, 2004 [Page 7] 392 393 Internet-Draft Kerberos Preauth Framework February 2004 394 395 396 to do with preauthentication; they are discussed in the Kerberos 397 specification. 398 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. 404 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. 410 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. 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 Hartman Expires August 9, 2004 [Page 8] 448 449 Internet-Draft Kerberos Preauth Framework February 2004 450 451 452 3. Preauthentication Facilities 453 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. 465 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. 474 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 484 message. 485 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 500 501 502 503 Hartman Expires August 9, 2004 [Page 9] 504 505 Internet-Draft Kerberos Preauth Framework February 2004 506 507 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. 511 512 3.1 Client Authentication 513 514 Binding to reply key 515 516 Consider Secure ID case where you don't have anything to bind to 517 518 519 3.2 Strengthen Reply Key 520 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. 528 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. 545 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 549 mechanism-specific. 550 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 556 557 558 559 Hartman Expires August 9, 2004 [Page 10] 560 561 Internet-Draft Kerberos Preauth Framework February 2004 562 563 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. 569 570 3.3 Replace Reply Key 571 572 Containers to handle reply key when not sure whether other side 573 supports mech 574 575 Make sure reply key is not used previously 576 577 Interactions with client authentication 578 579 Reference to container argument 580 581 582 3.4 Verify Response 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 Hartman Expires August 9, 2004 [Page 11] 616 617 Internet-Draft Kerberos Preauth Framework February 2004 618 619 620 4. Requirements for Preauthentication Mechanisms 621 622 State management for multi-round-trip mechs 623 624 Security interactions with other mechs 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 Hartman Expires August 9, 2004 [Page 12] 672 673 Internet-Draft Kerberos Preauth Framework February 2004 674 675 676 5. Tools for Use in Preauthentication Mechanisms 677 678 5.1 Combine Keys 679 680 5.2 Signing Requests/Responses 681 682 5.3 Managing State for the KDC 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 Hartman Expires August 9, 2004 [Page 13] 728 729 Internet-Draft Kerberos Preauth Framework February 2004 730 731 732 6. IANA Considerations 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 Hartman Expires August 9, 2004 [Page 14] 784 785 Internet-Draft Kerberos Preauth Framework February 2004 786 787 788 7. Security Considerations 789 790 Very little of the AS request is authenticated. Same for padata 791 in the reply or error. Discuss implications 792 793 Table of security requirements stated elsewhere in the document 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 Hartman Expires August 9, 2004 [Page 15] 840 841 Internet-Draft Kerberos Preauth Framework February 2004 842 843 844 8. Acknowledgements 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 Hartman Expires August 9, 2004 [Page 16] 896 897 Internet-Draft Kerberos Preauth Framework February 2004 898 899 900 Normative References 901 902 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 903 Levels", RFC 2119, BCP 14, March 1997. 904 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. 909 910 [3] Raeburn, K., "Encryption and Checksum Specifications for 911 Kerberos 5", draft-ietf-krb-wg-crypto-03.txt (work in progress). 912 913 [4] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 914 2279, January 1998. 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 Hartman Expires August 9, 2004 [Page 17] 952 953 Internet-Draft Kerberos Preauth Framework February 2004 954 955 956 Informative References 957 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), 961 October 2003. 962 963 964 Author's Address 965 966 Sam hartman 967 MIT 968 969 EMail: hartmans@mit.edu 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 Hartman Expires August 9, 2004 [Page 18] 1008 1009 Internet-Draft Kerberos Preauth Framework February 2004 1010 1011 1012 Appendix A. Todo List 1013 1014 Flesh out sections that are still outlines 1015 1016 Discuss cookies and multiple-round-trip mechanisms. 1017 1018 Talk about checksum contributions from each mechanism 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 Hartman Expires August 9, 2004 [Page 19] 1064 1065 Internet-Draft Kerberos Preauth Framework February 2004 1066 1067 1068 Intellectual Property Statement 1069 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. 1083 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 1088 Director. 1089 1090 1091 Full Copyright Statement 1092 1093 Copyright (C) The Internet Society (2004). All Rights Reserved. 1094 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 1107 English. 1108 1109 The limited permissions granted above are perpetual and will not be 1110 revoked by the Internet Society or its successors or assignees. 1111 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 1116 1117 1118 1119 Hartman Expires August 9, 2004 [Page 20] 1120 1121 Internet-Draft Kerberos Preauth Framework February 2004 1122 1123 1124 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 1125 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1126 1127 1128 Acknowledgment 1129 1130 Funding for the RFC Editor function is currently provided by the 1131 Internet Society. 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 Hartman Expires August 9, 2004 [Page 21] 1176 1177