ICCES09 Paper
ICCES09 Paper
ICCES09 Paper
net/publication/251915684
CITATIONS READS
15 2,893
4 authors:
All content following this page was uploaded by Eman El-Emam on 26 March 2015.
evolution of the protocol is achieved. Kerberos 5 is being session key is contained in the Ticket granting ticket and is
revised and extended in many work, e.g., [5], [12], and [13]. encrypted using the long-term secret key of the TGS which
F. Butler, I. Cervesato, A. Jaggard, and A. Scedrov have is shared between the TGS and the Kerberos infrastructure
analyzed portions of Kerberos 5 and have formally verified (the AS can access the database of the Kerberos
that the design of Kerberos’ current version meets the desired infrastructure). The information directed to the client is
goals for the most parts [14]. A. Boldyreva and V. Kumar at encrypted under the client’s long-term secret key.
2007 take a close look at Kerberos’ encryption and confirm • In the second phase, the client forwards the ticket granting
that most of the options in the current version provably ticket, along with an authenticator encrypted with the
provide privacy and authenticity [15]. session key obtained in the first phase, to the TGS,
requesting a service ticket to be used in the third phase with
C. Kerberos Applications
the application server. The TGS is expected to reply with a
Kerberos is also introduced to be used in wireless networks. message consisting of the application server ticket and an
M. Erdem proposed a wireless authentication systems based encrypted component containing a fresh session key to be
on Kerberos in [16]. He used DES, 3DES and AES as secret- shared between the client and the application server.
key encryption algorithms. Additionally, he used SHA-1 Another copy of this session key is contained in the
message digest algorithm to hash the message blocks. Besides, application server ticket and is encrypted using the long-
A. Pirzada and Chris McDonald discuss in [17] how Kerberos term secret key of the application server which is shared
is used for authentication in mobile ad-hoc networks. between the application server and the Kerberos
Kerberos is also used in IPv6 networks. S. Sakane, N. infrastructure (the TGS can access the database of the
Okabey, K. Kamadaz, and H. Esakix present in [18] a method Kerberos infrastructure). The information directed to the
to establish secure communication using Kerberos in IPv6 client is encrypted with the session key of the first stage.
networks. They used Kerberos to achieve access control and
• In the third phase, the client forwards the application server
introduced a simple modification to Kerberos to deal with
ticket, along with a new authenticator encrypted with the
address resolution.
session key obtained in the second phase, the application
Nitin et al. used Kerberos in [19] to present an image based
server, requesting certain service. The application server
authentication system 2008. That paper is a comprehensive
ticket plus the secret session key are the client’s credentials
study on the subject of using images as a password and the
to be authenticated to a specific application server. If all
implementation of Jaypee University of Information
credentials are valid, the application server will authenticate
Technology (JUIT) Image Based Authentication (IBA) system
the client and provide the service. The acknowledgement
called as JUIT-IBA using Kerberos protocol.
message from the application server is optional and used
Kerberos has grown to become the most widely deployed
only when the system requires mutual-authentication by the
system for authentication and authorization in modern
application server.
computer networks. It is currently shipped with all major
computer operating systems and is uniquely positioned to
become a universal solution to the distributed authentication
and authorization problem of communicating parties [20].
itself to the application server. Fig 2. Sceret key generation block diagram.
Options
Requests that certain flags be set in the returned application C. Comparison between Our Implementation and Previous
server ticket. Versions
Tells TGS the application server identity that the client
IDV Our implementation complies with Kerberos 5 in almost all
requests access to.
Times
Requests certain time settings in the returned server ticket parts except that the principle’s long-term secret key is
(from, till, renew_till). independent of its password. A comparison between Kerberos
Random value to be repeated in message (4) to avoid replay
Nonce2
attack. 4, Kerberos 5 and our proposed implementation is depicted in
Tickettgs Assures TGS that this user has been authenticated by AS. TABLE II:
Generated by client to validate ticket. It assures TGS that the 1. Both Kerberos 4 and Kerberos 5 are vulnerable to password
AuthenticatorC1 ticket presenter is the same as the client for whom the ticket
guessing attack as described in section IV but our
was issued; has very short lifetime to prevent replay.
Authenticator is encrypted with key known only to client implementation overcomes this problem and that is the main
Kc,tgs
and TGS, to prevent tampering. contribution of our work.
IDC Must match ID in the TGS ticket to authenticate ticket. 2. In both Kerberos 5 and our implementation, the client
ADC Must match address in the TGS ticket to authenticate ticket.
Informs TGS of time this authenticator was generated to
requests certain time settings from the server by the
TS1 message element “Times” which is subdivided into three
check the authenticator’s validity.
Message (4) TGS returns service-granting ticket subelements (from: the desired start time for the requested
IDC The identity of the client. ticket, till: the requested expiration time for the requested
Kc,tgs Key shared only by the client and the TGS. ticket, and renew_till: this field is only present in tickets that
Copy of session key accessible to client created by TGS to
have the RENEWABLE flag set in the flags field. It
KC,V permit secure exchange between the client and the
application server. indicates the maximum end-time that may be included in a
Times
The times settings of the returned server ticket (from, till, renewal). The “Times” message element is absent in
renew_till). Kerberos 4.
Nonce2 Repeat for the random value of message 3.
Confirms that this ticket is for the application server which 3. Version 4 requires the use of DES. In version 5, ciphertext
IDV
identity is V. is tagged with an encryption type identifier so that any
Reusable so that client does not need to request a new ticket encryption technique may be used. We used the DES
TicketV
from TGS for each access to the same server.
Ticket is encrypted with key known only to TGS and server, encryption technique in our implementation.
KV 4. Besides, encryption in version 4 makes use of a nonstandard
to prevent tampering.
Flags The flags of the returned server ticket. mode of DES known as Propagating Cipher Block Chaining
Copy of session key accessible to client; used to decrypt
KC,V
authenticator, thereby authenticating ticket.
(PCBC) ([21] describes this mode of operation). Security
IDC Indicates the rightful owner of this ticket. problems have been demonstrated in that mode [7]. Version
ADC
Prevents use of ticket from workstation other than one that 5 makes use of the standard CBC mode for encryption and
initially requested the ticket. our implementation used that mode too.
Times The times settings of the server ticket (from, till, renew_till).
5. Each ticket includes a session key that is used by the client
Message (5) Client requests service
to encrypt the authenticator sent to the service associated
Options Requests mutual authentication from the server.
TicketV Assures server that this user has been authenticated by TGS. with that ticket. In addition, the session key may
Generated by client to validate ticket. It assures server that subsequently be used by the client and the server to protect
AuthenticatorC2 the ticket presenter is the same as the client for whom the messages passed during that session. However, because the
ticket was issued; has very short lifetime to prevent replay.
Authenticator is encrypted with key known only to the client
same ticket may be used repeatedly to gain service from a
KC,V particular server, there is the risk that an opponent will
and the application server.
IDC Must match ID in the server ticket to authenticate ticket. replay messages from an old session to the client or the
ADC Must match address in the server ticket to authenticate ticket.
server. In both version 5 and our implementation, it is
Informs server of time this authenticator was generated and
TS2 possible for a client and server to negotiate a subsession
used to check the authenticator’s validity.
The client's choice for an encryption key to be used to key, which is to be used only for that one connection. A
Subkey protect this specific application session. If this field is new access by the client would result in the use of a new
omitted, the session key from the ticket Kc,v is used.
An optional field that specifies the starting sequence number subsession key.
Seq. # to be used by the application server for messages sent to the 6. Version 4 requires the use of Internet Protocol (IPv4)
client during this session to detect replays. addresses. In version 5, network address is tagged with type
Message (6) Optional authentication of application server to client and length. This allows any network address type to be
KC,V
Assures the client that this message is from the application used. Our implementation makes use of the IPv4 network
server which identity is V. address.
TS2 Assures the client that this is not a replay of an old reply.
The server's choice for an encryption key to be used to 7. The ticket lifetime in version 4 is encoded in an 8-bits
Subkey protect this specific application session. If this subkey quantity in units of five minutes. Thus, the maximum
present, it overrides the subkey field of message (5). lifetime that can be expressed is 256 x 5 = 1280 minutes.
An optional field that specifies the starting sequence number
Seq. # to be used by the client for messages sent to the application
In version 5 and in our implementation, the ticket
server during this session to detect replays. includes an explicit start and end times (the “from” and
the “till” of the message element “Times”), allowing
tickets with arbitrary lifetimes.
195 5