throbber
1/30/24, 4:46 PM
`
`ietf.org/rfc/rfc4120.txt
`
`Network Working Group
`Request for Comments: 4120
`Obsoletes: 1510
`Category: Standards Track
`
`C. Neuman
`USC-ISI
`T. Yu
`S. Hartman
`K. Raeburn
`MIT
`July 2005
`
`The Kerberos Network Authentication Service (V5)
`
`Status of This Memo
`
` This document specifies an Internet standards track protocol for the
` Internet community, and requests discussion and suggestions for
` improvements. Please refer to the current edition of the Internet
` Official Protocol Standards" (STD 1) for the standardization state
` and status of this protocol. Distribution of this memo is unlimited.
`
`Copyright Notice
`
` Copyright (C) The Internet Society (2005).
`
`Abstract
`
` This document provides an overview and specification of Version 5 of
` the Kerberos protocol, and it obsoletes RFC 1510 to clarify aspects
` of the protocol and its intended use that require more detailed or
` clearer explanation than was provided in RFC 1510. This document is
` intended to provide a detailed description of the protocol, suitable
` for implementation, together with descriptions of the appropriate use
` of protocol messages and fields within those messages.
`
`Neuman, et al.
`
`Standards Track
`
`RFC 4120
`
`Kerberos V5
`
`[Page 1]
`
`July 2005
`
`Table of Contents
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`1/119
`
`APPL-1033
`APPLE INC./Page 1 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` 1. Introduction ....................................................5
` 1.1. The Kerberos Protocol ......................................6
` 1.2. Cross-Realm Operation ......................................8
` 1.3. Choosing a Principal with Which to Communicate .............9
` 1.4. Authorization .............................................10
` 1.5. Extending Kerberos without Breaking Interoperability ......11
` 1.5.1. Compatibility with RFC 1510 ........................11
` 1.5.2. Sending Extensible Messages ........................12
` 1.6. Environmental Assumptions .................................12
` 1.7. Glossary of Terms .........................................13
` 2. Ticket Flag Uses and Requests ..................................16
` 2.1. Initial, Pre-authenticated, and
` Hardware-Authenticated Tickets ............................17
` 2.2. Invalid Tickets ...........................................17
` 2.3. Renewable Tickets .........................................17
` 2.4. Postdated Tickets .........................................18
` 2.5. Proxiable and Proxy Tickets ...............................19
` 2.6. Forwardable Tickets .......................................19
` 2.7. Transited Policy Checking .................................20
` 2.8. OK as Delegate ............................................21
` 2.9. Other KDC Options .........................................21
` 2.9.1. Renewable-OK .......................................21
` 2.9.2. ENC-TKT-IN-SKEY ....................................22
` 2.9.3. Passwordless Hardware Authentication ...............22
` 3. Message Exchanges ..............................................22
` 3.1. The Authentication Service Exchange .......................22
` 3.1.1. Generation of KRB_AS_REQ Message ...................24
` 3.1.2. Receipt of KRB_AS_REQ Message ......................24
` 3.1.3. Generation of KRB_AS_REP Message ...................24
` 3.1.4. Generation of KRB_ERROR Message ....................27
` 3.1.5. Receipt of KRB_AS_REP Message ......................27
` 3.1.6. Receipt of KRB_ERROR Message .......................28
` 3.2. The Client/Server Authentication Exchange .................29
` 3.2.1. The KRB_AP_REQ Message .............................29
` 3.2.2. Generation of a KRB_AP_REQ Message .................29
` 3.2.3. Receipt of KRB_AP_REQ Message ......................30
` 3.2.4. Generation of a KRB_AP_REP Message .................33
` 3.2.5. Receipt of KRB_AP_REP Message ......................33
` 3.2.6. Using the Encryption Key ...........................33
` 3.3. The Ticket-Granting Service (TGS) Exchange ................34
` 3.3.1. Generation of KRB_TGS_REQ Message ..................35
` 3.3.2. Receipt of KRB_TGS_REQ Message .....................37
` 3.3.3. Generation of KRB_TGS_REP Message ..................38
` 3.3.4. Receipt of KRB_TGS_REP Message .....................42
`
`Neuman, et al. Standards Track [Page 2]
`
`RFC 4120 Kerberos V5 July 2005
`
` 3.4. The KRB_SAFE Exchange .....................................42
` 3.4.1. Generation of a KRB_SAFE Message ...................42
` 3.4.2. Receipt of KRB_SAFE Message ........................43
` 3.5. The KRB_PRIV Exchange .....................................44
` 3.5.1. Generation of a KRB_PRIV Message ...................44
` 3.5.2. Receipt of KRB_PRIV Message ........................44
` 3.6. The KRB_CRED Exchange .....................................45
` 3.6.1. Generation of a KRB_CRED Message ...................45
` 3.6.2. Receipt of KRB_CRED Message ........................46
` 3.7. User-to-User Authentication Exchanges .....................47
` 4. Encryption and Checksum Specifications .........................48
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`2/119
`
`APPL-1033
`APPLE INC./Page 2 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` 5. Message Specifications .........................................50
` 5.1. Specific Compatibility Notes on ASN.1 .....................51
` 5.1.1. ASN.1 Distinguished Encoding Rules .................51
` 5.1.2. Optional Integer Fields ............................52
` 5.1.3. Empty SEQUENCE OF Types ............................52
` 5.1.4. Unrecognized Tag Numbers ...........................52
` 5.1.5. Tag Numbers Greater Than 30 ........................53
` 5.2. Basic Kerberos Types ......................................53
` 5.2.1. KerberosString .....................................53
` 5.2.2. Realm and PrincipalName ............................55
` 5.2.3. KerberosTime .......................................55
` 5.2.4. Constrained Integer Types ..........................55
` 5.2.5. HostAddress and HostAddresses ......................56
` 5.2.6. AuthorizationData ..................................57
` 5.2.7. PA-DATA ............................................60
` 5.2.8. KerberosFlags ......................................64
` 5.2.9. Cryptosystem-Related Types .........................65
` 5.3. Tickets ...................................................66
` 5.4. Specifications for the AS and TGS Exchanges ...............73
` 5.4.1. KRB_KDC_REQ Definition .............................73
` 5.4.2. KRB_KDC_REP Definition .............................81
` 5.5. Client/Server (CS) Message Specifications .................84
` 5.5.1. KRB_AP_REQ Definition ..............................84
` 5.5.2. KRB_AP_REP Definition ..............................88
` 5.5.3. Error Message Reply ................................89
` 5.6. KRB_SAFE Message Specification ............................89
` 5.6.1. KRB_SAFE definition ................................89
` 5.7. KRB_PRIV Message Specification ............................91
` 5.7.1. KRB_PRIV Definition ................................91
` 5.8. KRB_CRED Message Specification ............................92
` 5.8.1. KRB_CRED Definition ................................92
` 5.9. Error Message Specification ...............................94
` 5.9.1. KRB_ERROR Definition ...............................94
` 5.10. Application Tag Numbers ..................................96
`
`Neuman, et al. Standards Track [Page 3]
`
`RFC 4120 Kerberos V5 July 2005
`
` 6. Naming Constraints .............................................97
` 6.1. Realm Names ...............................................97
` 6.2. Principal Names .......................................... 99
` 6.2.1. Name of Server Principals .........................100
` 7. Constants and Other Defined Values ............................101
` 7.1. Host Address Types .......................................101
` 7.2. KDC Messaging: IP Transports .............................102
` 7.2.1. UDP/IP transport ..................................102
` 7.2.2. TCP/IP Transport ..................................103
` 7.2.3. KDC Discovery on IP Networks ......................104
` 7.3. Name of the TGS ..........................................105
` 7.4. OID Arc for KerberosV5 ...................................106
` 7.5. Protocol Constants and Associated Values .................106
` 7.5.1. Key Usage Numbers .................................106
` 7.5.2. PreAuthentication Data Types ......................108
` 7.5.3. Address Types .....................................109
` 7.5.4. Authorization Data Types ..........................109
` 7.5.5. Transited Encoding Types ..........................109
` 7.5.6. Protocol Version Number ...........................109
` 7.5.7. Kerberos Message Types ............................110
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`3/119
`
`APPL-1033
`APPLE INC./Page 3 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` 7.5.8. Name Types ........................................110
` 7.5.9. Error Codes .......................................110
` 8. Interoperability Requirements .................................113
` 8.1. Specification 2 ..........................................113
` 8.2. Recommended KDC Values ...................................116
` 9. IANA Considerations ...........................................116
` 10. Security Considerations ......................................117
` 11. Acknowledgements .............................................121
` A. ASN.1 Module ..................................................123
` B. Changes since RFC 1510 ........................................131
` Normative References .............................................134
` Informative References ...........................................135
`
`Neuman, et al. Standards Track [Page 4]
`
`RFC 4120 Kerberos V5 July 2005
`
`1. Introduction
`
` This document describes the concepts and model upon which the
` Kerberos network authentication system is based. It also specifies
` Version 5 of the Kerberos protocol. The motivations, goals,
` assumptions, and rationale behind most design decisions are treated
` cursorily; they are more fully described in a paper available in IEEE
` communications [NT94] and earlier in the Kerberos portion of the
` Athena Technical Plan [MNSS87].
`
` This document is not intended to describe Kerberos to the end user,
` system administrator, or application developer. Higher-level papers
` describing Version 5 of the Kerberos system [NT94] and documenting
` version 4 [SNS88] are available elsewhere.
`
` The Kerberos model is based in part on Needham and Schroeder's
` trusted third-party authentication protocol [NS78] and on
` modifications suggested by Denning and Sacco [DS81]. The original
` design and implementation of Kerberos Versions 1 through 4 was the
` work of two former Project Athena staff members, Steve Miller of
` Digital Equipment Corporation and Clifford Neuman (now at the
` Information Sciences Institute of the University of Southern
` California), along with Jerome Saltzer, Technical Director of Project
` Athena, and Jeffrey Schiller, MIT Campus Network Manager. Many other
` members of Project Athena have also contributed to the work on
` Kerberos.
`
` Version 5 of the Kerberos protocol (described in this document) has
` evolved because of new requirements and desires for features not
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`4/119
`
`APPL-1033
`APPLE INC./Page 4 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` available in Version 4. The design of Version 5 was led by Clifford
` Neuman and John Kohl with much input from the community. The
` development of the MIT reference implementation was led at MIT by
` John Kohl and Theodore Ts'o, with help and contributed code from many
` others. Since RFC 1510 was issued, many individuals have proposed
` extensions and revisions to the protocol. This document reflects
` some of these proposals. Where such changes involved significant
` effort, the document cites the contribution of the proposer.
`
` Reference implementations of both Version 4 and Version 5 of Kerberos
` are publicly available, and commercial implementations have been
` developed and are widely used. Details on the differences between
` Versions 4 and 5 can be found in [KNT94].
`
` The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
` "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
` document are to be interpreted as described in [RFC2119].
`
`Neuman, et al. Standards Track [Page 5]
`
`RFC 4120 Kerberos V5 July 2005
`
`1.1. The Kerberos Protocol
`
` Kerberos provides a means of verifying the identities of principals,
` (e.g., a workstation user or a network server) on an open
` (unprotected) network. This is accomplished without relying on
` assertions by the host operating system, without basing trust on host
` addresses, without requiring physical security of all the hosts on
` the network, and under the assumption that packets traveling along
` the network can be read, modified, and inserted at will. Kerberos
` performs authentication under these conditions as a trusted third-
` party authentication service by using conventional (shared secret
` key) cryptography. Extensions to Kerberos (outside the scope of this
` document) can provide for the use of public key cryptography during
` certain phases of the authentication protocol. Such extensions
` support Kerberos authentication for users registered with public key
` certification authorities and provide certain benefits of public key
` cryptography in situations where they are needed.
`
` The basic Kerberos authentication process proceeds as follows: A
` client sends a request to the authentication server (AS) for
` "credentials" for a given server. The AS responds with these
` credentials, encrypted in the client's key. The credentials consist
` of a "ticket" for the server and a temporary encryption key (often
` called a "session key"). The client transmits the ticket (which
` contains the client's identity and a copy of the session key, all
` encrypted in the server's key) to the server. The session key (now
` shared by the client and server) is used to authenticate the client
` and may optionally be used to authenticate the server. It may also
` be used to encrypt further communication between the two parties or
` to exchange a separate sub-session key to be used to encrypt further
` communication. Note that many applications use Kerberos' functions
` only upon the initiation of a stream-based network connection.
` Unless an application performs encryption or integrity protection for
` the data stream, the identity verification applies only to the
` initiation of the connection, and it does not guarantee that
` subsequent messages on the connection originate from the same
` principal.
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`5/119
`
`APPL-1033
`APPLE INC./Page 5 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` Implementation of the basic protocol consists of one or more
` authentication servers running on physically secure hosts. The
` authentication servers maintain a database of principals (i.e., users
` and servers) and their secret keys. Code libraries provide
` encryption and implement the Kerberos protocol. In order to add
` authentication to its transactions, a typical network application
` adds calls to the Kerberos library directly or through the Generic
` Security Services Application Programming Interface (GSS-API)
` described in a separate document [RFC4121]. These calls result in
` the transmission of the messages necessary to achieve authentication.
`
`Neuman, et al. Standards Track [Page 6]
`
`RFC 4120 Kerberos V5 July 2005
`
` The Kerberos protocol consists of several sub-protocols (or
` exchanges). There are two basic methods by which a client can ask a
` Kerberos server for credentials. In the first approach, the client
` sends a cleartext request for a ticket for the desired server to the
` AS. The reply is sent encrypted in the client's secret key. Usually
` this request is for a ticket-granting ticket (TGT), which can later
` be used with the ticket-granting server (TGS). In the second method,
` the client sends a request to the TGS. The client uses the TGT to
` authenticate itself to the TGS in the same manner as if it were
` contacting any other application server that requires Kerberos
` authentication. The reply is encrypted in the session key from the
` TGT. Though the protocol specification describes the AS and the TGS
` as separate servers, in practice they are implemented as different
` protocol entry points within a single Kerberos server.
`
` Once obtained, credentials may be used to verify the identity of the
` principals in a transaction, to ensure the integrity of messages
` exchanged between them, or to preserve privacy of the messages. The
` application is free to choose whatever protection may be necessary.
`
` To verify the identities of the principals in a transaction, the
` client transmits the ticket to the application server. Because the
` ticket is sent "in the clear" (parts of it are encrypted, but this
` encryption doesn't thwart replay) and might be intercepted and reused
` by an attacker, additional information is sent to prove that the
` message originated with the principal to whom the ticket was issued.
` This information (called the authenticator) is encrypted in the
` session key and includes a timestamp. The timestamp proves that the
` message was recently generated and is not a replay. Encrypting the
` authenticator in the session key proves that it was generated by a
` party possessing the session key. Since no one except the requesting
` principal and the server know the session key (it is never sent over
` the network in the clear), this guarantees the identity of the
` client.
`
` The integrity of the messages exchanged between principals can also
` be guaranteed by using the session key (passed in the ticket and
` contained in the credentials). This approach provides detection of
` both replay attacks and message stream modification attacks. It is
` accomplished by generating and transmitting a collision-proof
` checksum (elsewhere called a hash or digest function) of the client's
` message, keyed with the session key. Privacy and integrity of the
` messages exchanged between principals can be secured by encrypting
` the data to be passed by using the session key contained in the
` ticket or the sub-session key found in the authenticator.
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`6/119
`
`APPL-1033
`APPLE INC./Page 6 of 119
`
`

`

`1/30/24, 4:46 PM
`
`ietf.org/rfc/rfc4120.txt
`
`Neuman, et al. Standards Track [Page 7]
`
`RFC 4120 Kerberos V5 July 2005
`
` The authentication exchanges mentioned above require read-only access
` to the Kerberos database. Sometimes, however, the entries in the
` database must be modified, such as when adding new principals or
` changing a principal's key. This is done using a protocol between a
` client and a third Kerberos server, the Kerberos Administration
` Server (KADM). There is also a protocol for maintaining multiple
` copies of the Kerberos database. Neither of these protocols are
` described in this document.
`
`1.2. Cross-Realm Operation
`
` The Kerberos protocol is designed to operate across organizational
` boundaries. A client in one organization can be authenticated to a
` server in another. Each organization wishing to run a Kerberos
` server establishes its own "realm". The name of the realm in which a
` client is registered is part of the client's name and can be used by
` the end-service to decide whether to honor a request.
`
` By establishing "inter-realm" keys, the administrators of two realms
` can allow a client authenticated in the local realm to prove its
` identity to servers in other realms. The exchange of inter-realm
` keys (a separate key may be used for each direction) registers the
` ticket-granting service of each realm as a principal in the other
` realm. A client is then able to obtain a TGT for the remote realm's
` ticket-granting service from its local realm. When that TGT is used,
` the remote ticket-granting service uses the inter-realm key (which
` usually differs from its own normal TGS key) to decrypt the TGT; thus
` it is certain that the ticket was issued by the client's own TGS.
` Tickets issued by the remote ticket-granting service will indicate to
` the end-service that the client was authenticated from another realm.
`
` Without cross-realm operation, and with appropriate permission, the
` client can arrange registration of a separately-named principal in a
` remote realm and engage in normal exchanges with that realm's
` services. However, for even small numbers of clients this becomes
` cumbersome, and more automatic methods as described here are
` necessary.
`
` A realm is said to communicate with another realm if the two realms
` share an inter-realm key, or if the local realm shares an inter-realm
` key with an intermediate realm that communicates with the remote
` realm. An authentication path is the sequence of intermediate realms
` that are transited in communicating from one realm to another.
`
` Realms may be organized hierarchically. Each realm shares a key with
` its parent and a different key with each child. If an inter-realm
` key is not directly shared by two realms, the hierarchical
` organization allows an authentication path to be easily constructed.
`
`Neuman, et al. Standards Track [Page 8]
`
`RFC 4120 Kerberos V5 July 2005
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`7/119
`
`APPL-1033
`APPLE INC./Page 7 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` If a hierarchical organization is not used, it may be necessary to
` consult a database in order to construct an authentication path
` between realms.
`
` Although realms are typically hierarchical, intermediate realms may
` be bypassed to achieve cross-realm authentication through alternate
` authentication paths. (These might be established to make
` communication between two realms more efficient.) It is important
` for the end-service to know which realms were transited when deciding
` how much faith to place in the authentication process. To facilitate
` this decision, a field in each ticket contains the names of the
` realms that were involved in authenticating the client.
`
` The application server is ultimately responsible for accepting or
` rejecting authentication and SHOULD check the transited field. The
` application server may choose to rely on the Key Distribution Center
` (KDC) for the application server's realm to check the transited
` field. The application server's KDC will set the
` TRANSITED-POLICY-CHECKED flag in this case. The KDCs for
` intermediate realms may also check the transited field as they issue
` TGTs for other realms, but they are encouraged not to do so. A
` client may request that the KDCs not check the transited field by
` setting the DISABLE-TRANSITED-CHECK flag. KDCs SHOULD honor this
` flag.
`
`1.3. Choosing a Principal with Which to Communicate
`
` The Kerberos protocol provides the means for verifying (subject to
` the assumptions in Section 1.6) that the entity with which one
` communicates is the same entity that was registered with the KDC
` using the claimed identity (principal name). It is still necessary
` to determine whether that identity corresponds to the entity with
` which one intends to communicate.
`
` When appropriate data has been exchanged in advance, the application
` may perform this determination syntactically based on the application
` protocol specification, information provided by the user, and
` configuration files. For example, the server principal name
` (including realm) for a telnet server might be derived from the
` user-specified host name (from the telnet command line), the "host/"
` prefix specified in the application protocol specification, and a
` mapping to a Kerberos realm derived syntactically from the domain
` part of the specified hostname and information from the local
` Kerberos realms database.
`
` One can also rely on trusted third parties to make this
` determination, but only when the data obtained from the third party
` is suitably integrity-protected while resident on the third-party
`
`Neuman, et al. Standards Track [Page 9]
`
`RFC 4120 Kerberos V5 July 2005
`
` server and when transmitted. Thus, for example, one should not rely
` on an unprotected DNS record to map a host alias to the primary name
` of a server, accepting the primary name as the party that one intends
` to contact, since an attacker can modify the mapping and impersonate
` the party.
`
` Implementations of Kerberos and protocols based on Kerberos MUST NOT
` use insecure DNS queries to canonicalize the hostname components of
` the service principal names (i.e., they MUST NOT use insecure DNS
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`8/119
`
`APPL-1033
`APPLE INC./Page 8 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` queries to map one name to another to determine the host part of the
` principal name with which one is to communicate). In an environment
` without secure name service, application authors MAY append a
` statically configured domain name to unqualified hostnames before
` passing the name to the security mechanisms, but they should do no
` more than that. Secure name service facilities, if available, might
` be trusted for hostname canonicalization, but such canonicalization
` by the client SHOULD NOT be required by KDC implementations.
`
` Implementation note: Many current implementations do some degree of
` canonicalization of the provided service name, often using DNS even
` though it creates security problems. However, there is no
` consistency among implementations as to whether the service name is
` case folded to lowercase or whether reverse resolution is used. To
` maximize interoperability and security, applications SHOULD provide
` security mechanisms with names that result from folding the user-
` entered name to lowercase without performing any other modifications
` or canonicalization.
`
`1.4. Authorization
`
` As an authentication service, Kerberos provides a means of verifying
` the identity of principals on a network. Authentication is usually
` useful primarily as a first step in the process of authorization,
` determining whether a client may use a service, which objects the
` client is allowed to access, and the type of access allowed for each.
` Kerberos does not, by itself, provide authorization. Possession of a
` client ticket for a service provides only for authentication of the
` client to that service, and in the absence of a separate
` authorization procedure, an application should not consider it to
` authorize the use of that service.
`
` Separate authorization methods MAY be implemented as application-
` specific access control functions and may utilize files on the
` application server, on separately issued authorization credentials
` such as those based on proxies [Neu93], or on other authorization
` services. Separately authenticated authorization credentials MAY be
` embedded in a ticket's authorization data when encapsulated by the
` KDC-issued authorization data element.
`
`Neuman, et al. Standards Track [Page 10]
`
`RFC 4120 Kerberos V5 July 2005
`
` Applications should not accept the mere issuance of a service ticket
` by the Kerberos server (even by a modified Kerberos server) as
` granting authority to use the service, since such applications may
` become vulnerable to the bypass of this authorization check in an
` environment where other options for application authentication are
` provided, or if they interoperate with other KDCs.
`
`1.5. Extending Kerberos without Breaking Interoperability
`
` As the deployed base of Kerberos implementations grows, extending
` Kerberos becomes more important. Unfortunately, some extensions to
` the existing Kerberos protocol create interoperability issues because
` of uncertainty regarding the treatment of certain extensibility
` options by some implementations. This section includes guidelines
` that will enable future implementations to maintain interoperability.
`
` Kerberos provides a general mechanism for protocol extensibility.
` Some protocol messages contain typed holes -- sub-messages that
`
`https://www.ietf.org/rfc/rfc4120.txt
`
`9/119
`
`APPL-1033
`APPLE INC./Page 9 of 119
`
`

`

`ietf.org/rfc/rfc4120.txt
`1/30/24, 4:46 PM
` contain an octet-string along with an integer that defines how to
` interpret the octet-string. The integer types are registered
` centrally, but they can be used both for vendor extensions and for
` extensions standardized through the IETF.
`
` In this document, the word "extension" refers to extension by
` defining a new type to insert into an existing typed hole in a
` protocol message. It does not refer to extension by addition of new
` fields to ASN.1 types, unless the text explicitly indicates
` otherwise.
`
`1.5.1. Compatibility with RFC 1510
`
` Note that existing Kerberos message formats cannot readily be
` extended by adding fields to the ASN.1 types. Sending additional
` fields often results in the entire message being discarded without an
` error indication. Future versions of this specification will provide
` guidelines to ensure that ASN.1 fields can be added without creating
` an interoperability problem.
`
` In the meantime, all new or modified implementations of Kerberos that
` receive an unknown message extension SHOULD preserve the encoding of
` the extension but otherwise ignore its presence. Recipients MUST NOT
` decline a request simply because an extension is present.
`
` There is one exception to this rule. If an unknown authorization
` data element type is received by a server other than the ticket-
` granting service either in an AP-REQ or in a ticket contained in an
` AP-REQ, then authentication MUST fail. One of the primary uses of
` authorization data is to restrict the use of the ticket. If the
`
`Neuman, et al. Standards Track [Page 11]
`
`RFC 4120 Kerberos V5 July 2005
`
` service cannot determine whether the restriction applies to that
` service, then a security weakness may result if the ticket can be
` used for that service. Authorization elements that are optional
` SHOULD be enclosed in the AD-IF-RELEVANT element.
`
` The ticket-granting service MUST ignore but propagate to derivative
` tickets any unknown authorization data types, unless those data types
` are embedded in a MANDATORY-FOR-KDC element, in which case the
` request will be rejected. This behavior is appropriate because
` requiring that the ticket-granting service understand unknown
` authorization data types would require that KDC software be upgraded
` to understand new application-level restrictions before applications
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket