|
|
5.3.1. Tickets
Connected: An Internet Encyclopedia
5.3.1. Tickets
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1510
Up:
5. Message Specifications
Up:
5.3. Tickets and Authenticators
Prev: 5.3. Tickets and Authenticators
Next: 5.3.2. Authenticators
5.3.1. Tickets
5.3.1. Tickets
A ticket is a record that helps a client authenticate to a service.
A Ticket contains the following information:
Ticket ::= [APPLICATION 1] SEQUENCE {
tkt-vno[0] INTEGER,
realm[1] Realm,
sname[2] PrincipalName,
enc-part[3] EncryptedData
}
-- Encrypted part of ticket
EncTicketPart ::= [APPLICATION 3] SEQUENCE {
flags[0] TicketFlags,
key[1] EncryptionKey,
crealm[2] Realm,
cname[3] PrincipalName,
transited[4] TransitedEncoding,
authtime[5] KerberosTime,
starttime[6] KerberosTime OPTIONAL,
endtime[7] KerberosTime,
renew-till[8] KerberosTime OPTIONAL,
caddr[9] HostAddresses OPTIONAL,
authorization-data[10] AuthorizationData OPTIONAL
}
-- encoded Transited field
TransitedEncoding ::= SEQUENCE {
tr-type[0] INTEGER, -- must be registered
contents[1] OCTET STRING
}
The encoding of EncTicketPart is encrypted in the key shared by
Kerberos and the end server (the server's secret key). See section 6
for the format of the ciphertext.
- tkt-vno
-
This field specifies the version number for the ticket
format. This document describes version number 5.
- realm
-
This field specifies the realm that issued a ticket. It
also serves to identify the realm part of the server's
principal identifier. Since a Kerberos server can only
issue tickets for servers within its realm, the two will
always be identical.
- sname
-
This field specifies the name part of the server's
identity.
- enc-part
-
This field holds the encrypted encoding of the
EncTicketPart sequence.
- flags
-
This field indicates which of various options were used or
requested when the ticket was issued. It is a bit-field,
where the selected options are indicated by the bit being
set (1), and the unselected options and reserved fields
being reset (0). Bit 0 is the most significant bit. The
encoding of the bits is specified in section 5.2. The
flags are described in more detail above in section 2. The
meanings of the flags are:
Bit(s) Name Description
0 RESERVED Reserved for future expansion of this
field.
1 FORWARDABLE The FORWARDABLE flag is normally only
interpreted by the TGS, and can be
ignored by end servers. When set,
this flag tells the ticket-granting
server that it is OK to issue a new
ticket- granting ticket with a
different network address based on
the presented ticket.
2 FORWARDED When set, this flag indicates that
the ticket has either been forwarded
or was issued based on authentication
involving a forwarded ticket-granting
ticket.
3 PROXIABLE The PROXIABLE flag is normally only
interpreted by the TGS, and can be
ignored by end servers. The PROXIABLE
flag has an interpretation identical
to that of the FORWARDABLE flag,
except that the PROXIABLE flag tells
the ticket-granting server that only
non- ticket-granting tickets may be
issued with different network
addresses.
4 PROXY When set, this flag indicates that a
ticket is a proxy.
5 MAY-POSTDATE The MAY-POSTDATE flag is normally
only interpreted by the TGS, and can
be ignored by end servers. This flag
tells the ticket-granting server that
a post- dated ticket may be issued
based on this ticket-granting ticket.
6 POSTDATED This flag indicates that this ticket
has been postdated. The end-service
can check the authtime field to see
when the original authentication
occurred.
7 INVALID This flag indicates that a ticket is
invalid, and it must be validated by
the KDC before use. Application
servers must reject tickets which
have this flag set.
8 RENEWABLE The RENEWABLE flag is normally only
interpreted by the TGS, and can
usually be ignored by end servers
(some particularly careful servers
may wish to disallow renewable
tickets). A renewable ticket can be
used to obtain a replacement ticket
that expires at a later date.
9 INITIAL This flag indicates that this ticket
was issued using the AS protocol, and
not issued based on a ticket-granting
ticket.
10 PRE-AUTHENT This flag indicates that during
initial authentication, the client
was authenticated by the KDC before a
ticket was issued. The strength of
the preauthentication method is not
indicated, but is acceptable to the
KDC.
11 HW-AUTHENT This flag indicates that the protocol
employed for initial authentication
required the use of hardware expected
to be possessed solely by the named
client. The hardware authentication
method is selected by the KDC and the
strength of the method is not
indicated.
12-31 RESERVED Reserved for future use.
- key
-
This field exists in the ticket and the KDC response and is
used to pass the session key from Kerberos to the
application server and the client. The field's encoding is
described in section 6.2.
- crealm
-
This field contains the name of the realm in which the
client is registered and in which initial authentication
took place.
- cname
-
This field contains the name part of the client's principal
identifier.
- transited
-
This field lists the names of the Kerberos realms that took
part in authenticating the user to whom this ticket was
issued. It does not specify the order in which the realms
were transited. See section 3.3.3.1 for details on how
this field encodes the traversed realms.
- authtime
-
This field indicates the time of initial authentication for
the named principal. It is the time of issue for the
original ticket on which this ticket is based. It is
included in the ticket to provide additional information to
the end service, and to provide the necessary information
for implementation of a `hot list' service at the KDC. An
end service that is particularly paranoid could refuse to
accept tickets for which the initial authentication
occurred "too far" in the past.
This field is also returned as part of the response from
the KDC. When returned as part of the response to initial
authentication (KRB_AS_REP), this is the current time on
the Kerberos server (It is NOT recommended that this time
value be used to adjust the workstation's clock since the
workstation cannot reliably determine that such a
KRB_AS_REP actually came from the proper KDC in a timely
manner.).
- starttime
-
This field in the ticket specifies the time after which the
ticket is valid. Together with endtime, this field
specifies the life of the ticket. If it is absent from
the ticket, its value should be treated as that of the
authtime field.
- endtime
-
This field contains the time after which the ticket will
not be honored (its expiration time). Note that individual
services may place their own limits on the life of a ticket
and may reject tickets which have not yet expired. As
such, this is really an upper bound on the expiration time
for the ticket.
- renew-till
-
This field is only present in tickets that have the
RENEWABLE flag set in the flags field. It indicates the
maximum endtime that may be included in a renewal. It can
be thought of as the absolute expiration time for the
ticket, including all renewals.
- caddr
-
This field in a ticket contains zero (if omitted) or more
(if present) host addresses. These are the addresses from
which the ticket can be used. If there are no addresses,
the ticket can be used from any location. The decision
by the KDC to issue or by the end server to accept zero-
address tickets is a policy decision and is left to the
Kerberos and end-service administrators; they may refuse to
issue or accept such tickets. The suggested and default
policy, however, is that such tickets will only be issued
or accepted when additional information that can be used to
restrict the use of the ticket is included in the
authorization_data field. Such a ticket is a capability.
Network addresses are included in the ticket to make it
harder for an attacker to use stolen credentials. Because
the session key is not sent over the network in cleartext,
credentials can't be stolen simply by listening to the
network; an attacker has to gain access to the session key
(perhaps through operating system security breaches or a
careless user's unattended session) to make use of stolen
tickets.
It is important to note that the network address from which
a connection is received cannot be reliably determined.
Even if it could be, an attacker who has compromised the
client's workstation could use the credentials from there.
Including the network addresses only makes it more
difficult, not impossible, for an attacker to walk off with
stolen credentials and then use them from a "safe"
location.
- authorization-data
-
The authorization-data field is used to pass
authorization data from the principal on whose behalf a
ticket was issued to the application service. If no
authorization data is included, this field will be left
out. The data in this field are specific to the end
service. It is expected that the field will contain the
names of service specific objects, and the rights to those
objects. The format for this field is described in section
5.2. Although Kerberos is not concerned with the format of
the contents of the subfields, it does carry type
information (ad-type).
By using the authorization_data field, a principal is able
to issue a proxy that is valid for a specific purpose. For
example, a client wishing to print a file can obtain a file
server proxy to be passed to the print server. By
specifying the name of the file in the authorization_data
field, the file server knows that the print server can only
use the client's rights when accessing the particular file
to be printed.
It is interesting to note that if one specifies the
authorization-data field of a proxy and leaves the host
addresses blank, the resulting ticket and session key can
be treated as a capability. See [9] for some suggested
uses of this field.
The authorization-data field is optional and does not have
to be included in a ticket.
Next: 5.3.2. Authenticators
Connected: An Internet Encyclopedia
5.3.1. Tickets
|
|
|
 |

|
 |
|
Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
| |
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
| |
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
| |
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
| |
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!
|
|
Service Details
|
|
 |
|