5.4.2. KRB_KDC_REP definition
Connected: An Internet Encyclopedia
5.4.2. KRB_KDC_REP definition
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1510
Up:
5. Message Specifications
Up:
5.4. Specifications for the AS and TGS exchanges
Prev: 5.4.1. KRB_KDC_REQ definition
Next: 5.5. Client/Server (CS) message specifications
5.4.2. KRB_KDC_REP definition
5.4.2. KRB_KDC_REP definition
The KRB_KDC_REP message format is used for the reply from the KDC for
either an initial (AS) request or a subsequent (TGS) request. There
is no message type for KRB_KDC_REP. Instead, the type will be either
KRB_AS_REP or KRB_TGS_REP. The key used to encrypt the ciphertext
part of the reply depends on the message type. For KRB_AS_REP, the
ciphertext is encrypted in the client's secret key, and the client's
key version number is included in the key version number for the
encrypted data. For KRB_TGS_REP, the ciphertext is encrypted in the
sub-session key from the Authenticator, or if absent, the session key
from the ticket-granting ticket used in the request. In that case,
no version number will be present in the EncryptedData sequence.
The KRB_KDC_REP message contains the following fields:
AS-REP ::= [APPLICATION 11] KDC-REP
TGS-REP ::= [APPLICATION 13] KDC-REP
KDC-REP ::= SEQUENCE {
pvno[0] INTEGER,
msg-type[1] INTEGER,
padata[2] SEQUENCE OF PA-DATA OPTIONAL,
crealm[3] Realm,
cname[4] PrincipalName,
ticket[5] Ticket,
enc-part[6] EncryptedData
}
EncASRepPart ::= [APPLICATION 25[25]] EncKDCRepPart
EncTGSRepPart ::= [APPLICATION 26] EncKDCRepPart
EncKDCRepPart ::= SEQUENCE {
key[0] EncryptionKey,
last-req[1] LastReq,
nonce[2] INTEGER,
key-expiration[3] KerberosTime OPTIONAL,
flags[4] TicketFlags,
authtime[5] KerberosTime,
starttime[6] KerberosTime OPTIONAL,
endtime[7] KerberosTime,
renew-till[8] KerberosTime OPTIONAL,
srealm[9] Realm,
sname[10] PrincipalName,
caddr[11] HostAddresses OPTIONAL
}
NOTE: In EncASRepPart, the application code in the encrypted
part of a message provides an additional check that
the message was decrypted properly.
- pvno and msg-type
-
These fields are described above in section 5.4.1.
msg-type is either KRB_AS_REP or KRB_TGS_REP.
- padata
-
This field is described in detail in section 5.4.1. One
possible use for this field is to encode an alternate
"mix-in" string to be used with a string-to-key algorithm
(such as is described in section 6.3.2). This ability is
useful to ease transitions if a realm name needs to change
(e.g., when a company is acquired); in such a case all
existing password-derived entries in the KDC database would
be flagged as needing a special mix-in string until the
next password change.
- crealm, cname, srealm and sname
-
These fields are the same as those
described for the ticket in section 5.3.1.
- ticket
-
The newly-issued ticket, from section 5.3.1.
- enc-part
-
This field is a place holder for the ciphertext and related
information that forms the encrypted part of a message.
The description of the encrypted part of the message
follows each appearance of this field. The encrypted part
is encoded as described in section 6.1.
- key
-
This field is the same as described for the ticket in
section 5.3.1.
- last-req
-
This field is returned by the KDC and specifies the time(s)
of the last request by a principal. Depending on what
information is available, this might be the last time that
a request for a ticket-granting ticket was made, or the
last time that a request based on a ticket-granting ticket
was successful. It also might cover all servers for a
realm, or just the particular server. Some implementations
may display this information to the user to aid in
discovering unauthorized use of one's identity. It is
similar in spirit to the last login time displayed when
logging into timesharing systems.
- nonce
-
This field is described above in section 5.4.1.
- key-expiration
-
The key-expiration field is part of the response from
the KDC and specifies the time that the client's secret key
is due to expire. The expiration might be the result of
password aging or an account expiration. This field will
usually be left out of the TGS reply since the response to
the TGS request is encrypted in a session key and no client
information need be retrieved from the KDC database. It is
up to the application client (usually the login program) to
take appropriate action (such as notifying the user) if the
expira tion time is imminent.
- flags, authtime, starttime, endtime, renew-till and caddr
-
These
fields are duplicates of those found in the encrypted
portion of the attached ticket (see section 5.3.1),
provided so the client may verify they match the intended
request and to assist in proper ticket caching. If the
message is of type KRB_TGS_REP, the caddr field will only
be filled in if the request was for a proxy or forwarded
ticket, or if the user is substituting a subset of the
addresses from the ticket granting ticket. If the client-
requested addresses are not present or not used, then the
addresses contained in the ticket will be the same as those
included in the ticket-granting ticket.
Next: 5.5. Client/Server (CS) message specifications
Connected: An Internet Encyclopedia
5.4.2. KRB_KDC_REP definition
|