shishi-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS shishi/doc/specifications


From: shishi-commit
Subject: CVS shishi/doc/specifications
Date: Thu, 28 Oct 2004 22:41:16 +0200

Update of /home/cvs/shishi/doc/specifications
In directory dopio:/tmp/cvs-serv977

Added Files:
        draft-yu-krb-wg-kerberos-extensions-02.txt 
Log Message:
Add.


--- 
/home/cvs/shishi/doc/specifications/draft-yu-krb-wg-kerberos-extensions-02.txt  
    2004/10/28 20:41:11     NONE
+++ 
/home/cvs/shishi/doc/specifications/draft-yu-krb-wg-kerberos-extensions-02.txt  
    2004/10/28 20:41:11     1.1
INTERNET-DRAFT                                                    Tom Yu
draft-yu-krb-wg-kerberos-extensions-02.txt                           MIT
Expires: 25 April 2005                                   25 October 2004


        The Kerberos Network Authentication Service (Version 5)


Status of This Memo


   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   or will be disclosed, and any of which I become aware will be
   disclosed, in accordance with RFC 3668.


   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.


   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."


   The list of current Internet-Drafts can be accessed at


      http://www.ietf.org/ietf/1id-abstracts.txt


   The list of Internet-Draft Shadow Directories can be accessed at


      http://www.ietf.org/shadow.html



Copyright Notice


   Copyright (C) The Internet Society (2004).  All Rights Reserved.


Abstract


   This document describes version 5 of the Kerberos network
   authentication protocol.  It describes a framework to allow for
   extensions to be made to the protocol without creating
   interoperability problems.


Key Words for Requirements


   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", and "MAY" in this document are
   to be interpreted as described in RFC 2119.





Yu                         Expires: Apr 2005                    [Page 1]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


Table of Contents


   Status of This Memo ..............................................  1
   Copyright Notice .................................................  1
   Abstract .........................................................  1
   Key Words for Requirements .......................................  1
   Table of Contents ................................................  2
   1.  Introduction .................................................  5
   1.1.  Kerberos Protocol Overview .................................  5
   1.2.  Document Organization ......................................  6
   2.  Compatibility Considerations .................................  6
   2.1.  Extensibility ..............................................  7
   2.2.  Compatibility with RFC 1510 ................................  7
   2.3.  Backwards Compatibility ....................................  7
   2.4.  1.4.2. Sending Extensible Messages .........................  8
   2.5.  Criticality ................................................  8
   2.6.  Authenticating Cleartext Portions of Messages ..............  9
   2.7.  Capability Negotiation ..................................... 10
   3.  Use of ASN.1 in Kerberos ..................................... 10
   3.1.  Module Header .............................................. 11
   3.2.  Top-Level Type ............................................. 11
   3.3.  Previously Unused ASN.1 Notation (informative) ............. 12
   3.3.1.  Parameterized Types ...................................... 12
   3.3.2.  COMPONENTS OF Notation ................................... 12
   3.3.3.  Constraints .............................................. 12
   3.4.  New Types .................................................. 13
   4.  Basic Types .................................................. 14
   4.1.  Constrained Integer Types .................................. 14
   4.2.  KerberosTime ............................................... 15
   4.3.  KerberosString ............................................. 15
   4.4.  Language Tags .............................................. 16
   4.5.  KerberosFlags .............................................. 16
   4.6.  Typed Holes ................................................ 16
   4.7.  HostAddress and HostAddresses .............................. 17
   4.7.1.  Internet (IPv4) Addresses ................................ 17
   4.7.2.  Internet (IPv6) Addresses ................................ 17
   4.7.3.  DECnet Phase IV addresses ................................ 18
   4.7.4.  Netbios addresses ........................................ 18
   4.7.5.  Directional Addresses .................................... 18
   5.  Principals ................................................... 19
   5.1.  Name Types ................................................. 19
   5.2.  Principal Type Definition .................................. 19
   5.3.  Principal Name Reuse ....................................... 20
   5.4.  Realm Names ................................................ 20
   5.5.  Printable Representations of Principal Names ............... 21
   5.6.  Ticket-Granting Service Principal .......................... 21
   5.6.1.  Cross-Realm TGS Principals ............................... 21
   6.  Types Relating to Encryption ................................. 21
   6.1.  Assigned Numbers for Encryption ............................ 22
   6.1.1.  EType .................................................... 22
   6.1.2.  Key Usages ............................................... 22


Yu                         Expires: Apr 2005                    [Page 2]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


   6.2.  Which Key to Use ........................................... 23
   6.3.  EncryptionKey .............................................. 24
   6.4.  EncryptedData .............................................. 24
   6.5.  Checksums .................................................. 25
   6.5.1.  ChecksumOf ............................................... 26
   6.5.2.  Signed ................................................... 27
   7.  Tickets ...................................................... 27
   7.1.  Timestamps ................................................. 28
   7.2.  Ticket Flags ............................................... 28
   7.2.1.  Flags Relating to Initial Ticket Acquisition ............. 29
   7.2.2.  Invalid Tickets .......................................... 29
   7.2.3.  OK as Delegate ........................................... 30
   7.2.4.  Renewable Tickets ........................................ 30
   7.2.5.  Postdated Tickets ........................................ 31
   7.2.6.  Proxiable and Proxy Tickets .............................. 32
   7.2.7.  Forwarded and Forwardable Tickets ........................ 33
   7.3.  Transited Realms ........................................... 34
   7.4.  Authorization Data ......................................... 34
   7.4.1.  AD-IF-RELEVANT ........................................... 35
   7.4.2.  AD-KDCIssued ............................................. 35
   7.4.3.  AD-AND-OR ................................................ 37
   7.4.4.  AD-MANDATORY-FOR-KDC ..................................... 37
   7.5.  Encrypted Part of Ticket ................................... 37
   7.6.  Cleartext Part of Ticket ................................... 38
   8.  Credential Acquisition ....................................... 40
   8.1.  KDC-REQ .................................................... 40
   8.2.  PA-DATA .................................................... 46
   8.3.  KDC-REQ Processing ......................................... 46
   8.3.1.  Handling Replays ......................................... 46
   8.3.2.  Request Validation ....................................... 47
   8.3.2.1.  AS-REQ Authentication .................................. 47
   8.3.2.2.  TGS-REQ Authentication ................................. 47
   8.3.2.3.  Principal Validation ................................... 47
   8.3.2.4.  Checking For Revoked or Invalid Tickets ................ 48
   8.3.3.  Timestamp Handling ....................................... 48
   8.3.3.1.  AS-REQ Timestamp Processing ............................ 49
   8.3.3.2.  TGS-REQ Timestamp Processing ........................... 49
   8.3.4.  Handling Transited Realms ................................ 50
   8.3.5.  Address Processing ....................................... 50
   8.3.6.  Ticket Flag Processing ................................... 51
   8.3.7.  Key Selection ............................................ 52
   8.3.7.1.  Reply Key and Session Key Selection .................... 52
   8.3.7.2.  Ticket Key Selection ................................... 52
   8.4.  KDC-REP .................................................... 52
   8.5.  Reply Validation ........................................... 55
   8.6.  IP Transports .............................................. 55
   8.6.1.  UDP/IP transport ......................................... 55
   8.6.2.  TCP/IP transport ......................................... 56
   8.6.3.  KDC Discovery on IP Networks ............................. 57
   8.6.3.1.  DNS vs. Kerberos - Case Sensitivity of Realm Names ..... 57
   8.6.3.2.  DNS SRV records for KDC location ....................... 58


Yu                         Expires: Apr 2005                    [Page 3]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


   8.6.3.3.  KDC Discovery for Domain Style Realm Names on IP
                Networks ............................................ 58
   9.  Errors ....................................................... 58
   10.  Session Key Exchange ........................................ 61
   10.1.  AP-REQ .................................................... 61
   10.2.  AP-REP .................................................... 63
   11.  Session Key Use ............................................. 65
   11.1.  KRB-SAFE .................................................. 65
   11.2.  KRB-PRIV .................................................. 65
   11.3.  KRB-CRED .................................................. 66
   12.  Security Considerations ..................................... 67
   12.1.  Time Synchronization ...................................... 67
   12.2.  Replays ................................................... 67
   12.3.  Principal Name Reuse ...................................... 67
   12.4.  Password Guessing ......................................... 67
   12.5.  Forward Secrecy ........................................... 67
   12.6.  Authorization ............................................. 68
   12.7.  Login Authentication ...................................... 68
   13.  IANA Considerations ......................................... 68
   14.  Acknowledgments ............................................. 69
   Appendices ....................................................... 69
   A.  ASN.1 Module (Normative) ..................................... 69
   B.  Kerberos and Character Encodings (Informative) ...............103
   C.  Kerberos History (Informative) ...............................104
   D.  Notational Differences from [KCLAR] ..........................105
   Normative References .............................................106
   Informative References ...........................................106
   Author's Address .................................................108
   Full Copyright Statement .........................................108
























Yu                         Expires: Apr 2005                    [Page 4]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


1.  Introduction


   The Kerberos network authentication protocol is a trusted-third-party
   protocol utilizing symmetric-key cryptography.  It assumes that all
   communications between parties in the protocol may be arbitrarily
   tampered with or monitored, and that the security of the overall
   system depends only on the effectiveness of the cryptographic
   techniques and the secrecy of the cryptographic keys used.  The
   Kerberos protocol authenticates an application client's identity to
   an application server, and likewise authenticates the application
   server's identity to the application client.  These assurances are
   made possible by the client and the server sharing secrets with the
   trusted third party: the Kerberos server, also known as the Key
   Distribution Center (KDC).  In addition, the protocol establishes an
   ephemeral shared secret (the session key) between the client and the
   server, allowing the protection of further communications between
   them.


   The Kerberos protocol, as originally specified, provides insufficient
   means for extending the protocol in a backwards-compatible way.  This
   deficiency has caused problems for interoperability.  This document
   describes a framework which enables backwards-compatible extensions
   to the Kerberos protocol.


1.1.  Kerberos Protocol Overview


   Kerberos comprises three main sub-protocols: credentials acquisition,
   session key exchange, and session key usage.  A client acquires
   credentials by asking the KDC for a credential for a service; the KDC
   issues the credential, which contains a ticket and a session key.
   The ticket, containing the client's identity, timestamps, expiration
   time, and a session key, is a encrypted in a key known to the
   application server.  The KDC encrypts the credential using a key
   known to the client, and transmits the credential to the client.


   There are two means of requesting credentials: the Authentication
   Service (AS) exchange, and the Ticket-Granting Service (TGS)
   exchange.  In the typical AS exchange, a client uses a password-
   derived key to decrypt the response.  In the TGS exchange, the KDC
   behaves as an application server; the client authenticates to the TGS
   by using a Ticket-Granting Ticket (TGT).  The client usually obtains
   the TGT by using the AS exchange.


   Session key exchange consists of the client transmitting the ticket
   to the application server, accompanied by an authenticator.  The
   authenticator contains a timestamp and additional data encrypted
   using the ticket's session key.  The application server decrypts the
   ticket, extracting the session key.  The application server then uses
   the session key to decrypt the authenticator.  Upon successful
   decryption of the authenticator, the application server knows that
   the data in the authenticator were sent by the client named in the


Yu                         Expires: Apr 2005                    [Page 5]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


   associated ticket.  Additionally, since authenticators expire more
   quickly than tickets, the application server has some assurance that
   the transaction is not a replay.  The application server may send an
   encrypted acknowledgment to the client, verifying its identity to the
   client.


   Once session key exchange has occurred, the client and server may use
   the established session key to protect further traffic.  This
   protection may consist of protection of integrity only, or of
   protection of confidentiality and integrity.  Additional measures
   exist for a client to securely forward credentials to a server.


   The entire scheme depends on loosely synchronized clocks.
   Synchronization of the clock on the KDC with the application server
   clock allows the application server to accurately determine whether a
   credential is expired.  Likewise, synchronization of the clock on the
   client with the application server clock prevents replay attacks
   utilizing the same credential.  Careful design of the application
   protocol may allow replay prevention without requiring client-server
   clock synchronization.


   After establishing a session key, application client and the
   application server can exchange Kerberos protocol messages that use
   the session key to protect the integrity or confidentiality of
   communications between the client and the server.  Additionally, the
   client may forward credentials to the application server.


   The credentials acquisition protocol takes place over specific,
   defined transports (UDP and TCP).  Application protocols define which
   transport to use for the session key establishment protocol and for
   messages using the session key; the application may choose to perform
   its own encapsulation of the Kerberos messages, for example.


1.2.  Document Organization


   The remainder of this document begins by describing the general
   frameworks for protocol extensibility, including whether to interpret
   unknown extensions as critical.  It then defines the protocol
   messages and exchanges.


   The definition of the Kerberos protocol uses Abstract Syntax Notation
   One (ASN.1) [X680], which specifies notation for describing the
   abstract content of protocol messages.  This document defines a
   number of base types using ASN.1; these base types subsequently
   appear in multiple types which define actual protocol messages.
   Definitions of principal names and of tickets, which are central to
   the protocol, also appear preceding the protocol message definitions.






Yu                         Expires: Apr 2005                    [Page 6]
Internet-Draft            yu-krb-extensions-02               25 Oct 2004


2.  Compatibility Considerations


2.1.  Extensibility


   In the past, significant interoperability problems have resulted from
   conflicting assumptions about how the Kerberos protocol can be
   extended.  As the deployed base of Kerberos grows, the ability to
   extend the Kerberos protocol becomes more important.  In order to
   ensure that vendors and the IETF can extend the protocol while
   maintaining backwards compatibility, this document outlines a
   framework for extending Kerberos.


   Kerberos provides two general mechanisms for protocol extensibility.
   Many protocol messages, including some defined in RFC 1510, contain
   typed holes--sub-messages containing an octet string along with an
   integer that identifies how to interpret the octet string.  The
   integer identifiers are registered centrally, but can be used both
   for vendor extensions and for extensions standardized in the IETF.
   This document adds typed holes to a number of messages which
   previously lacked typed holes.


   Many new messages defined in this document also contain ASN.1
   extension markers.  These markers allow future revisions of this
   document to add additional elements to messages, for cases where
   typed holes are inadequate for some reason.  Because tag numbers and

[6467 lines skipped]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]