SlideShare une entreprise Scribd logo
1  sur  29
KERBEROS



                                        CHAPTER 1

INTRODUCTION
       Computer security has been a problem since the very beginning. Proper authentication
and protection using cryptographic methods is a must in today’s electronic communication.
Kerberos provides an infrastructure to achieve this using symmetric cryptography.



1.1. History

       Kerberos was developed at the Massachusetts Institute of Technology (MIT) during a
project intended to integrate computers into the university’s undergraduate curriculum. The
project, called Athena, started in 1983 with UNIX timesharing computers, having several
terminals connected to each one, but without a network connection. If a student or staff member
wanted to use any of the computers, he or she sat down at one of these terminals. As soon as the
terminals and old computers were substituted by newer workstations with network connection,
the project’s goal was to allow any user to sit down at the workstation of his or her choice
accessing his data over the network (which is a very common scenario for every network today).
The problem of network eavesdropping became apparent. Since the network has been accessible
from all over the campus, nothing prevented students from running network monitoring tools and
learning other users and root passwords. Another big problem was some PC/ATs which were
lacking even fundamental internal security. To protect the users’ data in the network
environment as it had been protected in the timesharing environment Kerberos was invented.
Kerberos is an authentication system that uses symmetric key cryptography to protect sensitive
information on an open network. It is a ticket based system that issues a ticket encrypted with the
user’s password when he or she logs in. The user decrypts the ticket and uses it to obtain tickets
for other network services he or she wants to use. Because all information in tickets is encrypted,
it is not susceptible to eavesdropping or misappropriation.




DEPT OF Comp Engg.                             1                                    D.B.N.C.O.E.T,YTL
KERBEROS



       MIT developed Kerberos to protect network services provided by Project Athena. The
protocol was named after the Greek mythological character Kerberos (or Cerberus), known in
Greek mythology as being the monstrous three-headed guard dog of Hades.



1.2. Motivation

       In a network of users requiring services from many separate computers, there are three
approaches one can take to access control: One can do nothing, relying on the machine to which
the user is logged in to prevent unauthorized access; one can require the host to prove its identity,
but trust the host’s word as to who the user is; or one can require the user to prove her/his
identity for each required service.In a closed environment where all the machines are under strict
control, one can use the first approach. When the organization controls all the hosts
communicating over the network, this is a reasonable approach.

       In a more open environment, one might selectively trust only those hosts under
organizational control. In this case, each host must be required to prove its identity.In those
protocols,authentication is done by checking the Internet address from which a connection has
been established. In the Athena environment, we must be able to honor requests from hosts that
are not under organizational control. Users have complete control of their workstations: they can
reboot them, bring them up standalone, or even boot off their own tapes. As such, the third
approach must be taken; the user must prove her/his identity for each desired service. The server
must also prove its identity. It is not sufficient to physically secure the host running a network
server; someone elsewhere on the network may be masquerading as the given server.

       The environment places several requirements on an identification mechanism. First, it
must be secure. Circumventing it must be difficult enough that a potential attacker does not find
the authentication mechanism to be the weak link. Someone watching the network should not be
able to obtain the information necessary to impersonate another user. Second, it must be reliable.
Access to many services will depend on the authentication service. If it is not reliable, the system
of services as a whole will not be. Third, it should be transparent. Ideally, the user should not be
aware of authentication taking place. Finally, it should be scalable. Many systems can



DEPT OF Comp Engg.                              2                                    D.B.N.C.O.E.T,YTL
KERBEROS



communicate with Athena hosts. Not all of these will support the mechanism, but software
should not break if they did.

       Kerberos is the result of our work to satisfy the above requirements. When a user walks
up to a workstation she/he “logs in”. As far as the user can tell, this initial identification is
sufficient to prove her/his identity to all the required network servers for the duration of the login
session. The security of Kerberos relies on the security of several authentication servers, but not
on the system from which users log in, or on the security of the end servers that will be used. The
authentication server provides a properly authenticated user with a way to prove her/his identity
to servers scattered across the network.




DEPT OF Comp Engg.                               3                                    D.B.N.C.O.E.T,YTL
KERBEROS



                                       CHAPTER 2

KERBEROS
       Kerberos is a computer network authentication protocol, which allows nodes
communicating over a non-secure network to prove their identity to one another in a secure
manner. The Kerberos protocol is designed to provide reliable authentication over open and
insecure networks where communications between the hosts belonging to it may be intercepted.
However, one should be aware that Kerberos does not provide any guarantees if the computers
being used are vulnerable: the authentication servers, application servers and clients must be kept
constantly updated so that the authenticity of the requesting users and service providers can be
guaranteed. Thus we can say that: "Kerberos is an authentication protocol for trusted hosts on
untrusted networks".

       Kerberos is a trusted third-party authentication service based on the model presented by
Needham and Schroeder. It is trusted in the sense that each of its clients believes Kerberos’
judgement as to the identity of each of its other clients to be accurate. Timestamps (large
numbers representing the current date and time) have been added to the original model to aid in
the detection of replay. Replay occurs when a message is stolen off the network and resent later.



2.1.Protocol

       Kerberos uses as its basis the symmetric Needham-Schroeder protocol.

2.1.1.Needham-Schroeder Authentication

       An approach to secure authentication is the Needham- Schroeder protocol. It defines a
three-party authentication service and five step message chain. In the very first step the client
requests a session key for communication with a certain service. The requested session key and a
message encrypted for the service is send back to the client encrypted with the client’s key to
protect it in an open network. The client forwards the part for the service (which is encrypted
with the service key) to the desired service. After that the service generates a random message
which is sent back to the client encrypted with the session key. This random message is
transformed in a predefined way and sent back to the server encrypted with the session key as

DEPT OF Comp Engg.                             4                                    D.B.N.C.O.E.T,YTL
KERBEROS



well to prove that A was the sender of message number three. After performing these five steps
the service can be sure that the client has authenticated itself correctly, because only the client
knows the key to decrypt message two.

       This protocol is no longer considered secure as B does not know if the key is fresh. If an
attacker obtains an old key he or she can perform a replay attack and convince B that the key
they hold is the current key of A.




2.1.2.Needham-Schroeder in Kerberos

       Kerberos uses a variant of Needham-Schroeder, which uses timestamps on every message
to avoid the problem mentioned above. Due to the fact that it is a problem to keep all clocks
returning exact the same time in a network environment, every message is valid in a time
window from five minutes in the past to five minutes in the future. In a short time slot of ten
minutes length replay attacks are impeded by a replay cache held by every service. Messages are
cached as long as they are valid and authentication attempts using messages which are already
held in cache can be refused.




DEPT OF Comp Engg.                             5                                    D.B.N.C.O.E.T,YTL
KERBEROS



                                        CHAPTER 3

TERMINOLOGY
       This section provides the definition of the objects and terms, knowledge of which is
essential for the subsequent description of the Kerberos protocol.



3.1.Realm

       The term realm indicates an authentication administrative domain. Its intention is to
establish the boundaries within which an authentication server has the authority to authenticate a
user, host or service. This does not mean that the authentication between a user and a service that
they must belong to the same realm: if the two objects are part of different realms and there is a
trust relationship between them, then the authentication can take place. This characteristic is
known as Cross-Authentication Basically, a user/service belongs to a realm if and only if he/it
shares a secret (password/key) with the authentication server of that realm.

       The name of a realm is case sensitive, i.e. there is a difference between upper and lower
case letters, but normally realms always appear in upper case letters. It is also good practice, in
an organization, to make the realm name the same as the DNS domain (in upper case letters
though). Following these tips when selecting the realm name significantly simplifies the
configuration of Kerberos clients, above all when it is desired to establish trust relationships with
subdomains. By way of example, if an organization belongs to the DNS domain example.com, it
is appropriate that the related Kerberos realm is EXAMPLE.COM.



3.2.Principal

       A principal is the name used to refer to the entries in the authentication server database.
A principal is associated with each user, host or service of a given realm. A principal in Kerberos
5 is of the following type:

                       component1/component2/.../componentN@REALM



DEPT OF Comp Engg.                              6                                     D.B.N.C.O.E.T,YTL
KERBEROS



        However, in practice a maximum of two components are used. For an entry referring to a
user the principal is the following type:

                                     Name[/Instance]@REALM

        The instance is optional and is normally used to better qualify the type of user. For
example administrator users normally have the admin instance. The following are examples of
principals referred to users:

                                      mark@EXAMPLE.COM

                                  admin/admin@EXAMPLE.COM

                                  pluto/admin@EXAMPLE.COM

        If, instead, the entries refer to services, the principals assume the following form:

                                    Service/Hostname@REALM



3.3. Ticket

        A ticket is something a client presents to an application server to demonstrate the
authenticity of its identity. Tickets are issued by the authentication server and are encrypted
using the secret key of the service they are intended for. Since this key is a secret shared only
between the authentication server and the server providing the service, not even the client which
requested the ticket can know it or change its contents. The main information contained in a
ticket includes:

· The requesting user's principal (generally the username);

· The principal of the service it is intended for;

· The IP address of the client machine from which the ticket can be used. In Kerberos 5 this field
is optional and may also be multiple in order to be able to run clients under multi-homed.

· The date and time (in timestamp format) when the tickets validity commences;

· The ticket's maximum lifetime.



DEPT OF Comp Engg.                                   7                                 D.B.N.C.O.E.T,YTL
KERBEROS



       Each ticket has expiration (generally 10 hours). This is essential since the authentication
server no longer has any control over an already issued ticket. Even though the realm
administrator can prevent the issuing of new tickets for a certain user at any time, it cannot
prevent users from using the tickets they already possess. This is the reason for limiting the
lifetime of the tickets in order to limit any abuse over time.



3.4. Encryption

       Kerberos often needs to encrypt and decrypt the messages (tickets and authenticators)
passing between the various participants in the authentication. It is important to note that
Kerberos uses only symmetrical key encryption (in other words the same key is used to encrypt
and decrypt).



3.4.1. Encryption type

       Kerberos 4 implements a single type of encryption which is DES at 56 bits. The
weakness of this encryption plus other protocol vulnerabilities has made Kerberos 4 obsolete.
Version 5 of Kerberos, however, does not predetermine the number or type of encryption
methodologies supported. It is the task of each specific implementation to support and best
negotiate the various types of encryption. However, this flexibility and expandability of the
protocol has accentuated interoperability problems between the various implementations of
Kerberos 5. In order for clients and application and authentication servers using different
implementations to interoperate, they must have at least one encryption type in common. The
difficulty related to the interoperability between UNIX implementations of Kerberos 5 and the
one present in the Active Directory of Windows is a classic example of this. Indeed, Windows
Active Directory supports a limited number of encryptions and only had DES at 56 bits in
common with UNIX. This required keeping the latter enabled, despite the risks being well
known, if interoperability had to be guaranteed. The problem was subsequently solved with
version 1.3 of MIT Kerberos 5. This version introduced RC4-HMAC support, which is also
present in Windows and is more secure than DES. Among the supported encryptions (but not by
Windows) the triple DES (3DES) and newer AES128 and AES256 are worth mentioning.

DEPT OF Comp Engg.                               8                                 D.B.N.C.O.E.T,YTL
KERBEROS



3.4.2. Encryption key

        As stated above, one of the aims of the Kerberos protocol is to prevent the user's
password from being stored in its unencrypted form, even in the authentication server database.
Considering that each encryption algorithm uses its own key length, it is clear that, if the user is
not to be forced to use a different password of a fixed size for each encryption method supported,
the encryption keys cannot be the passwords. For these reasons the string2key function has been
introduced, which transforms an unencrypted password into an encryption key suitable for the
type of encryption to be used. This function is called each time a user changes password or enters
it for authentication. The string2key is called a hash function, meaning that it is irreversible:
given that an encryption key cannot determine the password which generated it (unless by brute
force). Famous hashing algorithms are MD5 and CRC32.



3.4.3. Salt

        In Kerberos 5, unlike version 4, the concept of passwordsalt has been introduced. This is
a string to be concatenated to the unencrypted password before applying the string2key function
to obtain the key. Kerberos 5 uses the same principal of the user as salt:

                      Kmark = string2key (Pmark + "mark@EXAMPLE.COM")



        Kmark is the encryption key of the user mark and Pmark is the unencrypted password of
the user.This type of salt has the following advantages:

        Two principals belonging to the same realm and having the same unencrypted password,
still have different keys. For example, imagine an administrator having a principal for everyday
work          (mark@EXAMPLE.COM)             and       one       for         administrative       work
(mark/admin@EXAMPLE.COM). It is very likely that this user has set the same password for
both principals for reasons of convenience. The presence of the salt guarantees that the related
keys are different.




DEPT OF Comp Engg.                              9                                      D.B.N.C.O.E.T,YTL
KERBEROS



        If a user has two accounts in different realms, it is fairly frequent that the unencrypted
password is the same for both realms: thanks to the presence of the salt, a possible compromise
of an account in one realm will not automatically cause the other to be compromised. A null salt
can be configured for compatibility with Kerberos 4. Vice versa, for compatibility with AFS, it is
possible to configure a salt which is not the complete name of the principal, but simply the name
of the cell.



3.4.4. Key Version Number (kvno)

        When a user changes a password or an administrator updates the secret key for an
application server, this change is logged by advancing a counter. The current value of the counter
identifying the key version is known as the Key Version Number or more briefly kvno.



3.5. Key Distribution Center (KDC)

        The authentication server in a Kerberos environment, based on its ticket distribution
function for access to the services, is called Key Distribution Center or more briefly KDC. Since
it resides entirely on a single physical server (it often coincides with a single process) it can be
logically considered divided into three parts: Database, Authentication Server (AS) and Ticket
Granting Server (TGS).



3.5.1 Database

        The database is the container for entries associated with users and services. We refer to
an entry by using the principal (i.e. the name of the entry) even if often the term principal is used
as a synonym for entry. Each entry contains the following information:



·The principal to which the entry is associated;

·The encryption key and related kvno;

·The maximum validity duration for a ticket associated to the principal;

DEPT OF Comp Engg.                                 10                                  D.B.N.C.O.E.T,YTL
KERBEROS



·The maximum time a ticket associated to the principal may be renewed (only Kerberos 5);

·The attributes or flags characterizing the behavior of the tickets;

·The password expiration date;

·The expiration date of the principal, after which no tickets will be issued.



       In order to make it more difficult to steal the keys present in the database, the
implementations encrypt the database using the master key, which is associated with the
principal K/M@REALM. Even any database dumps, used as backups or for propagation from
the KDC master towards the slave, are encrypted using this key, which it is necessary to know in
order to reload them.



3.5.2 Authentication Server (AS)

       The Authentication Server is the part of the KDC which replies to the initial
authentication request from the client, when the user, not yet authenticated, must enter the
password. In response to an authentication request, the AS issues a special ticket known as the
Ticket Granting Ticket, or more briefly TGT, the principal associated with which is
krbtgt/REALM@REALM. If the users are actually who they say they are they can use the TGT
to obtain other service tickets, without having to re-enter their password.



3.5.3 Ticket Granting Server (TGS)

       The Ticket Granting Server is the KDC component which distributes service tickets to
clients with a valid TGT, guaranteeing the authenticity of the identity for obtaining the requested
resource on the application servers. The TGS can be considered as an application server (given
that to access it, it is necessary to present the TGT) which provides the issuing of service tickets
as a service. It is important not to confuse the abbreviations TGT and TGS: the first indicates a
ticket and the second a service.




DEPT OF Comp Engg.                               11                                   D.B.N.C.O.E.T,YTL
KERBEROS



3.6. Session Key

       As we have seen, the users and services share a secret with the KDC. For users, this
secret is the key derived from their password, while for services, it is their secret key (set by the
administrator). These keys are called long term, since they do not change when the work session
changes. However, it is necessary that the user also shares a secret with the service, at least for
the time in which a client has a work session open on a server: this key, generated by the KDC
when a ticket is issued, is called the Session Key. The copy intended for the service is enveloped
by the KDC in the ticket (in any case their application server knows the long term key and can
decode it and extract the session key), while the copy intended for the user is encapsulated in an
encrypted packet with the user long term key. The session key plays a fundamental role in
demonstrating the authenticity of the user.



3.7. Authenticator

       Even if the user principal is present in a ticket and only the application server can extract
and possibly manage such information (since the ticket is encrypted with the secret key of the
service), this is not enough to guarantee the authenticity of the client. An impostor could capture
(remember the hypothesis of an open and insecure network) the ticket when it is sent by a
legitimate client to the application server, and at an opportune time, send it to illegitimately
obtain the service. On the other hand, including the IP addresses of the machine from where it is
possible to use it is not very useful: it is known that in an open and insecure network addresses
are easily falsified. To solve the problem, one has to exploit the fact that the client and server, at
least during a session have the session key in common that only they know (also the KDC knows
it since it generated it, but it is trusted by definition!!!). Thus the following strategy is applied:
along with the request containing the ticket, the client adds another packet (the authenticator)
where the user principal and time stamp (it’s at that time) are included and encrypts it with the
session key; the server which must offer the service, upon receiving this request, unpacks the
first ticket, extracts the session key and, if the user is actually who he/she says, the server is able
to unencrypt the authenticator extracting the timestamp. If the latter differs from the server time
by less than 2 minutes (but the tolerance can be configured) then the authentication is successful.
This underlines the criticality of synchronization between machines belonging to the same realm.
DEPT OF Comp Engg.                               12                                     D.B.N.C.O.E.T,YTL
KERBEROS



3.8. Replay Cache

       The possibility exists for an impostor to simultaneously steal both the ticket and the
authenticator and use them during the 2 minutes the authenticator is valid. This is very difficult
but not impossible. To solve this problem with Kerberos 5, Replay Cache has been introduced. In
application servers (but also in TGS), there exists the capacity to remember authenticators which
have arrived within the last 2 minutes, and to reject them if they are replicas. With this the
problem is resolved as long as the impostor is not smart enough to copy the ticket and
authenticator and make them arrive at the application server before the legitimate request arrives.
This really would be a hoax, since the authentic user would be rejected while the impostor would
have access to the service.



3.9. Credential Cache

       The client never keeps the user's password, nor does it memorize the secret key obtained
by applying string2key: they are used to decrypt the replies from KDC and immediately
discarded. However, on the other hand, to implement the single sign-on (SSO) characteristic,
where the user is asked to enter the password just once per work session, it is necessary to
memorize the tickets and related session key. The place where this data is stored is called the
"Credential Cache". Where this cache needs to be located does not depend on the protocol, but
varies from one implementation to another. Often for portability purposes they are located in the
file system (MIT and Heimdal). In other implementations (AFS and Active Directory), in order
to increase security in the event of vulnerable clients, the credential cache is placed in an area of
the memory accessible only to kernels and not swappable on the disk.




DEPT OF Comp Engg.                              13                                     D.B.N.C.O.E.T,YTL
KERBEROS



                                           CHAPTER 4

WORKING
       Kerberos operates by encrypting data with a symmetric key. A symmetric key is a type of
authentication where both the client and server agree to use a single encryption/decryption key
for sending or receiving data. When working with the encryption key, the details are actually
sent to a key distribution center, or KDC, instead of sending the details directly between each
computer. The entire process takes a total of eight steps:



Step 1: The authentication service, or AS, receives the request by the client and verifies that the
client is indeed the computer it claims to be. This is usually just a simple database lookup of the
user’s ID. (Fig 4.1)




                              Fig 4.1.Authentication service verifies the user ID.




Step 2: Upon verification, a timestamp is created. This puts the current time in a user session,
along with an expiration date. The default expiration date of a timestamp is 8 hours. The
encryption key is then created. The timestamp ensures that when 8 hours is up, the encryption
key is useless. (This is used to make sure a hacker doesn’t intercept the data, and try to crack the
key. Almost all keys are able to be cracked, but it will take a lot longer than 8 hours to do so.)



DEPT OF Comp Engg.                                   14                                D.B.N.C.O.E.T,YTL
KERBEROS



Step 3: The key is sent back to the client in the form of a ticket-granting ticket, or TGT. This is a
simple ticket that is issued by the authentication service. It is used for authenticating the client
for future reference. (Fig 4. 2)




                                   Fig4. 2.Authentication service issues TGT.




Step 4: The client submits the ticket-granting ticket to the ticket-granting server, or TGS, to get
authenticated. (Fig 4.3)




                                      Fig 4.3.Client submits TGT to TGS.




DEPT OF Comp Engg.                                    15                               D.B.N.C.O.E.T,YTL
KERBEROS



Step 5: The TGS creates an encrypted key with a timestamp, and grants the client a service
ticket. (Fig 4.4)




                                Fig 4.4.TGS grants client the service ticket.




Step 6: The client decrypts the ticket, tells the TGS it has done so, and then sends its own
encrypted key to the service.



Step 7: The service decrypts the key, and makes sure the timestamp is still valid. If it is, the
service contacts the key distribution center to receive a session that is returned to the client. (Fig
4.5)




DEPT OF Comp Engg.                                  16                                 D.B.N.C.O.E.T,YTL
KERBEROS




                     Fig 4.5. Service server decrypts key and make sure timestamp is valid.

Step 8: The client decrypts the ticket. If the keys are still valid, communication is initiated
between client and server. (Fig 4.6)




                               Fig 4.6 For valid keys communication is initiated.

After the communication is made between the client and server, no further need of transmitting
logon information is needed. The client is authenticated until the session expires.



DEPT OF Comp Engg.                                    17                                      D.B.N.C.O.E.T,YTL
KERBEROS




4.1. The Mutual Authentication Process

       The authentication method described above seems a little one-sided. Kerberos provides
support for mutual authentication, for a more secure protection against man in the middle attacks.
This type of authentication is fairly easy to understand, since it only involves two systems. The
Steps involved in the mutual authentication process is as listed below:



Step 1: The first system creates a challenge code made up of random numbers.

Step 2: This code is sent to the second system, which generates a response to the received code.
This response and a challenge code of its own are then sent back to the first system.

Step 3: The first system verifies the response of the second system, and then sends a response to
the challenge code it received.

Step 4: When the second system receives the response, it is verified. If all is well, it notifies the
first system that they are indeed mutually authenticated.



       This type of authentication uses challenge codes to ensure that both computers are who
they claim to be. If someone tries to intercept the data, they obviously will fail because they can’t
pretend to be one of the computers after they have been authenticated with challenge codes.




DEPT OF Comp Engg.                              18                                      D.B.N.C.O.E.T,YTL
KERBEROS



                                         CHAPTER 5

KERBEROS ENVIRONMENT
        A typical Kerberos environment can be divided into two main parts. On the one hand
there is the Kerberos infrastructure containing at least one Kerberos server or so called Key
Distribution Center (KDC). The KDC holds a complete database of user and service keys. This is
a serious disadvantage, because if an attacker could gain access to a Kerberos server he learns
every single key of the realm, the server is in. On the other hand there are Kerberos-enabled
clients and services called kerberized clients and services.



5.1. A Typical Infrastructure

        As the trusted part, a Kerberos server has to be secured properly. This means, that an
attacker should not be able to gain access on the machine to get or alter the key database stored
on it. To assure that, physical access on logins should only be allowed to trusted staff members
and no other services should be placed on that host. To secure the server, virus scanners and
intrusion detection systems can be set up on it.

        Usually more than one Kerberos server are set up in a typical environment to provide an
almost error-free Kerberos service. This realm is the administrative domain. The realm is entitled
after the Internet domain name of the network, using this naming scheme, every realm has a
distinct name in a global name-space. Common environments use one realm per institution but
dividing big institutions into several realms is also possible. As one can see in (Fig 5.1.1), clients
that want to access the Kerberos servers of a domain need not to be connected to the local
network. With a proper configuration, they can use Kerberos for their realm from everywhere on
the Internet.

        One dedicated server per realm is holding the master copy of the Kerberos database. This
server is called the master server and any other Kerberos servers in the realm receive their copies
from this server. In case of a not responding server every client can contact the other servers in
the realm to obtain tickets. Unexpected interruptions as a result of hardware failures can be
avoided this way. Every client can connect to any Kerberos server he knows in one realm.

DEPT OF Comp Engg.                                 19                                  D.B.N.C.O.E.T,YTL
KERBEROS




                               Fig 5.1.1 A possible Kerberos environment

5.2. Details of KDC

       The Key Distribution Center is logically split into two services that reside on the same
host. The authentication service (AS) that authenticates users and the ticket granting service
(TGS) which takes tickets issued from the authentication service and issues tickets for services.
This is done because of a simple security reason. After authentication at the authentication
service both KDC and client share a secret symmetric key, which can be used to construct an
authenticator for the ticket granting service to obtain service tickets by the client. There is no
need for the client to enter the password a second time and the Ppassword has not been cached
(which would be a security flaw). Both authentication service and ticket granting service revert
to the same database of keys, which resides on every Kerberos server. The database contains
every key, user keys, which are derived from the users password using a hash algorithm and
service keys that are once generated by a random number generator and stored on the servicing
host as well. To improve security this service keys should be changed regularly.




DEPT OF Comp Engg.                               20                                 D.B.N.C.O.E.T,YTL
KERBEROS



5.3. Kerberized Services

       To take full advantage of a Kerberos infrastructure not only authentication for local host
access is done. An optimal environment is made up of services which support Kerberos, so that
the user has to give his password one time he logs in. After that authentication the client can read
his email, access files on a file-server and log in on remote machines without giving his
password a second time.




DEPT OF Comp Engg.                              21                                    D.B.N.C.O.E.T,YTL
KERBEROS



                                       CHAPTER 6

KERBEROS DATABASE
       Kerberos operations requiring both read-only and write access is done with the help of
Kerberos database.Operations requiring read-only access to the Kerberos database are performed
by the authentication service, which can run on both master and slave machines. (Fig 6.1)




                                   Fig 6.1. Authentication Requests.

       These operations are performed by the administration service, called the Kerberos
Database Management Service (KDBM). The current implementation stipulates that changes
may only be made to the master Kerberos database; slave copies are read-only. Therefore, the
KDBM server may only run on the master Kerberos machine. (Fig 6.2)




                                   Fig 6.2. Administration Requests.


DEPT OF Comp Engg.                               22                                D.B.N.C.O.E.T,YTL
KERBEROS



       Note that, while authentication can still occur (on slaves), administration requests cannot
be serviced if the master machine is down. In our experience, this has not presented a problem,
as administration requests are infrequent.

       The KDBM handles requests from users to change their passwords. The client side of this
program, which sends requests to the KDBM over the network, is the kpasswd program. The
KDBM also accepts requests from Kerberos administrators, who may add principals to the
database, as well as change passwords for existing principals. The client side of the
administration program, which also sends requests to the KDBM over the network, is the kadmin
program.



6.1. The KDBM Server

       The KDBM server accepts requests to add principals to the database or change the
passwords for existing principals. This service is unique in that the ticket-granting service will
not issue tickets for it. Instead, the authentication service itself must be used (the same service
that is used to get a ticket granting ticket). The purpose of this is to require the user to enter a
password. If this were not so, then if a user left her/his workstation unattended, a passerby could
walk up and change her/his password for them, something which should be prevented. Likewise,
if an administrator left her/his workstation unguarded, a passerby could change any password in
the system.

       When the KDBM server receives a request, it authorizes it by comparing the
authenticated principal name of the requester of the change to the principal name of the target of
the request. If they are the same, the request is permitted. If they are not the same, the KDBM
server consults an access control list (stored in a file on the master Kerberos system). If the
requester’s principal name is found in this file, the request is permitted, otherwise it is denied.

       By convention, names with a NULL instance (the default instance) do not appear in the
access control list file; instead, an admin instance is used. Therefore, for a user to become an
administrator of Kerberos an admin instance for that username must be created, and added to the
access control list. This convention allows an administrator to use a different password for



DEPT OF Comp Engg.                               23                                     D.B.N.C.O.E.T,YTL
KERBEROS



Kerberos administration then s/he would use for normal login. All requests to the KDBM
program, whether permitted or denied, are logged.



6.2. Database Replication

       Each Kerberos realm has a master Kerberos machine, which houses the master copy of
the authentication database. It is possible (although not necessary) to have additional, readonly
copies of the database on slave machines elsewhere in the system. The advantages of having
multiple copies of the database are those usually cited for replication: higher availability and
better performance. If the master machine is down, authentication can still be achieved on one of
the slave machines. The ability to perform authentication on any one of several machines reduces
the probability of a bottleneck at the master machine. Keeping multiple copies of the database
introduces the problem of data consistency. We have found that very simple methods suffice for
dealing with inconsistency. The master database is dumped every hour. The database is sent, in
its entirety, to the slave machines, which then update their own databases.

       All passwords in the Kerberos database are encrypted in the master database key.
Therefore, the information passed from master to slave over the network is not useful to an
Eaves dropper. However, it is essential that only information from the master host be accepted
by the slaves, and that tempering of data be detected, thus the checksum.




DEPT OF Comp Engg.                             24                                  D.B.N.C.O.E.T,YTL
KERBEROS



                                       CHAPTER 7

KERBEROS ADMINISTRATOR
       The Kerberos administrator’s job begins with running a program to initialize the
database. Another program must be run to register essential principals in the database, such as
the Kerberos administrator’s name with an admin instance. The Kerberos authentication server
and the administration server must be started up. If there are slave databases, the administrator
must arrange that the programs to propagate database updates from master to slaves be kicked
off periodically. After these initial steps have been taken, the administrator manipulates the
database over the network. In particular, when a new Kerberos application is added to the
system, the Kerberos administrator must take a few steps to get it working. The server must be
registered in the database, and assigned a private key (usually this is an automatically generated
random key). Then, some data (including the server’s key) must be extracted from the database
and installed in a file on the server’s machine. The server uses the information in that file to
decrypt messages sent encrypted in the server’s private key. The file authenticates the server as a
password typed at a terminal authenticates the user. The Kerberos administrator must also ensure
that Kerberos machines are physically secure, and would also be wise to maintain backups of the
Master database.




DEPT OF Comp Engg.                             25                                    D.B.N.C.O.E.T,YTL
KERBEROS



                                        CHAPTER 8

ANALYSIS OF KERBEROS
8.1. Advantages

1.      Passwords are never sent across the network unencrypted. This prevents those
unscrupulous people from being able to read the most important data sent over the network.
2.      Clients and applications services mutually authenticate. Mutual authentication allows for
both ends to know that they truly know whom they are communicating with.
3.      Tickets have a limited lifetime, so if they are stolen, unauthorized use is limited to the
time frame that the ticket is valid.
4.      Authentication through the AS only has to happen once. This makes the security of
Kerberos more convenient.
5.      Shared secret keys between clients and services are more efficient than public-keys.
6.      Many implementations of Kerberos have a large support base and have been put through
serious testing.
7.      Authenticators, created by clients, can only be used once. This feature prevents the use of
stolen authenticators.



8.2. Disadvantages

1. Kerberos only provides authentication for clients and services.
2. Kerberos 4 uses DES, which has been shown to be vulnerable to brute-force-
     attacks with little computing power.
3. Like any security tool, it is also vulnerable to users making poor password choices.
4. Because Kerberos uses a mutual authentication model, it is necessary for both client
     machines and service providers (servers) to be designed with Kerberos authentication in
     mind.




DEPT OF Comp Engg.                              26                                   D.B.N.C.O.E.T,YTL
KERBEROS



                                         CHAPTER 9

PERSPECTIVE: PUBLIC KEY CRYPTOGRAPHY
       A new direction for Kerberos is public key cryptography. Public key cryptography eases
key distribution a lot. Using only symmetric cryptography KDC and client must share a key;
using asymmetric cryptography the client can present the public key, which can be used to
encrypt messages for it. This is used for email communication by the program Pretty Good
Privacy (PGP).



       The big advantage for Kerberos is that the key distribution center does not have to save
the keys client keys in his database any longer. To obtain a ticket granting ticket, the client has to
present his public key. The KDC uses this key to encrypt the ticket and session key. As
everybody is able to create a key pair for public key cryptography, additional infrastructure is
needed. A trusted certification authority (CA) has to sign every valid public key. The client can
present his key which is signed by the trusted authority. Integration in Kerberos is easy due to the
fact that only interaction with the authentication service has to be changed to use asymmetric
cryptography; everything else can remain as it is. If the client presents his public key, the
authentication service checks, whether it has a valid signature from a trusted authority and return
a session key afterwards. The client decrypts the session key with the private key of his key pair.
Following communication is handled like in Kerberos without public key cryptography support.




DEPT OF Comp Engg.                               27                                    D.B.N.C.O.E.T,YTL
KERBEROS



10. CONCLUSION
       Kerberos isn’t the only encryption protocol available. There are multiple ways to encrypt
data, and this holds true for many types of different applications. Email encryption protocols, for
example, are a breed all of their own. With a product that has been researched and developed for
over 8 years, it is generally expected that the product should be well polished. Kerberos doesn’t
fail to deliver, and this can be seen by looking at all the vendors who use it. Cisco, Microsoft,
Apple, and many others rely on this faithful three headed dog for network security.
Authentication is critical for the security of computer systems. Without knowledge of the identity
of a principal requesting an operation, it's difficult to decide whether the operation should be
allowed. Traditional authentication methods are not suitable for use in computer networks where
attackers monitor network traffic to intercept passwords. The use of strong authentication
methods that do not disclose passwords is imperative. The Kerberos authentication system is
well suited for authentication of users in such environments.




DEPT OF Comp Engg.                             28                                    D.B.N.C.O.E.T,YTL
KERBEROS



11. REFERENCES


[1]    Kerberos: Network Authentication System by Brain Pung.

[2]    Computer Networking by James Kurose and Keith Rose.

[3]    Introduction to kerberos technology
[4]    http://web.mit.edu/Kerberos/
[5]    http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci21243/7,00.html
[6]    http://www.google.co.in/




DEPT OF Comp Engg.                            29                                  D.B.N.C.O.E.T,YTL

Contenu connexe

Tendances

Confidentiality & Authentication Mechanism for Biometric Information Transmit...
Confidentiality & Authentication Mechanism for Biometric Information Transmit...Confidentiality & Authentication Mechanism for Biometric Information Transmit...
Confidentiality & Authentication Mechanism for Biometric Information Transmit...IJNSA Journal
 
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C ProgrammingPuneeth Puni
 
Master thesis 14023164
Master thesis 14023164Master thesis 14023164
Master thesis 14023164Thivya Devaraj
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYKathirvel Ayyaswamy
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISijcsit
 
Wireless Network Security Architecture with Blowfish Encryption Model
Wireless Network Security Architecture with Blowfish Encryption ModelWireless Network Security Architecture with Blowfish Encryption Model
Wireless Network Security Architecture with Blowfish Encryption ModelIOSR Journals
 
Wpa2 psk security measure
Wpa2 psk security measureWpa2 psk security measure
Wpa2 psk security measureShivam Singh
 
IRJET- Cryptography Encryption and Decryption File Protection based on Mo...
IRJET-  	  Cryptography Encryption and Decryption File Protection based on Mo...IRJET-  	  Cryptography Encryption and Decryption File Protection based on Mo...
IRJET- Cryptography Encryption and Decryption File Protection based on Mo...IRJET Journal
 
DOS Attacks on TCP/IP Layers in WSN
DOS Attacks on TCP/IP Layers in WSNDOS Attacks on TCP/IP Layers in WSN
DOS Attacks on TCP/IP Layers in WSNijcncs
 

Tendances (16)

Confidentiality & Authentication Mechanism for Biometric Information Transmit...
Confidentiality & Authentication Mechanism for Biometric Information Transmit...Confidentiality & Authentication Mechanism for Biometric Information Transmit...
Confidentiality & Authentication Mechanism for Biometric Information Transmit...
 
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming
2 IJAERS-JUN-2015-6-RSA and Modified RSA algorithm using C Programming
 
Fs3610481053
Fs3610481053Fs3610481053
Fs3610481053
 
Dt32742746
Dt32742746Dt32742746
Dt32742746
 
Master thesis 14023164
Master thesis 14023164Master thesis 14023164
Master thesis 14023164
 
Fv3111451146
Fv3111451146Fv3111451146
Fv3111451146
 
30
3030
30
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
 
I1086066
I1086066I1086066
I1086066
 
Wireless Network Security Architecture with Blowfish Encryption Model
Wireless Network Security Architecture with Blowfish Encryption ModelWireless Network Security Architecture with Blowfish Encryption Model
Wireless Network Security Architecture with Blowfish Encryption Model
 
Mobile computing
Mobile computingMobile computing
Mobile computing
 
Wpa2 psk security measure
Wpa2 psk security measureWpa2 psk security measure
Wpa2 psk security measure
 
IRJET- Cryptography Encryption and Decryption File Protection based on Mo...
IRJET-  	  Cryptography Encryption and Decryption File Protection based on Mo...IRJET-  	  Cryptography Encryption and Decryption File Protection based on Mo...
IRJET- Cryptography Encryption and Decryption File Protection based on Mo...
 
DOS Attacks on TCP/IP Layers in WSN
DOS Attacks on TCP/IP Layers in WSNDOS Attacks on TCP/IP Layers in WSN
DOS Attacks on TCP/IP Layers in WSN
 

En vedette

Diseno de materiales educactuvos unidad 3 actividad integradora
Diseno de  materiales  educactuvos  unidad  3  actividad  integradoraDiseno de  materiales  educactuvos  unidad  3  actividad  integradora
Diseno de materiales educactuvos unidad 3 actividad integradoraMaria Dueñas Hernandez
 
Adopt me
Adopt meAdopt me
Adopt meadoptme
 
Design and implemation of an enhanced dds based digital
Design and implemation of an enhanced dds based digitalDesign and implemation of an enhanced dds based digital
Design and implemation of an enhanced dds based digitalManoj Kollam
 
Designing of an automated power meter reading
Designing of an automated power meter readingDesigning of an automated power meter reading
Designing of an automated power meter readingManoj Kollam
 
Designing of an automated power meter reading
Designing of an automated power meter readingDesigning of an automated power meter reading
Designing of an automated power meter readingManoj Kollam
 
Um Novo Amanhecer
Um Novo AmanhecerUm Novo Amanhecer
Um Novo Amanheceramanhecerdf
 
Said Al Badaei Cv 2011
Said Al Badaei Cv 2011Said Al Badaei Cv 2011
Said Al Badaei Cv 2011albadaei
 
Syuro eksternal kiss
Syuro eksternal kissSyuro eksternal kiss
Syuro eksternal kissIndra Lukman
 
Douglas kellner media literacies and critical pedagogy in a multicultural s...
Douglas kellner   media literacies and critical pedagogy in a multicultural s...Douglas kellner   media literacies and critical pedagogy in a multicultural s...
Douglas kellner media literacies and critical pedagogy in a multicultural s...pacwood
 
Um Novo Amanhecer
Um Novo AmanhecerUm Novo Amanhecer
Um Novo Amanheceramanhecerdf
 
Coaching Techniques
Coaching TechniquesCoaching Techniques
Coaching Techniquesalbadaei
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh rajDBNCOET
 

En vedette (18)

Diseno de materiales educactuvos unidad 3 actividad integradora
Diseno de  materiales  educactuvos  unidad  3  actividad  integradoraDiseno de  materiales  educactuvos  unidad  3  actividad  integradora
Diseno de materiales educactuvos unidad 3 actividad integradora
 
Tips blogger.com
Tips blogger.comTips blogger.com
Tips blogger.com
 
презентация
презентацияпрезентация
презентация
 
Adopt me
Adopt meAdopt me
Adopt me
 
Design and implemation of an enhanced dds based digital
Design and implemation of an enhanced dds based digitalDesign and implemation of an enhanced dds based digital
Design and implemation of an enhanced dds based digital
 
Designing of an automated power meter reading
Designing of an automated power meter readingDesigning of an automated power meter reading
Designing of an automated power meter reading
 
Designing of an automated power meter reading
Designing of an automated power meter readingDesigning of an automated power meter reading
Designing of an automated power meter reading
 
Um Novo Amanhecer
Um Novo AmanhecerUm Novo Amanhecer
Um Novo Amanhecer
 
Rakesh
RakeshRakesh
Rakesh
 
Said Al Badaei Cv 2011
Said Al Badaei Cv 2011Said Al Badaei Cv 2011
Said Al Badaei Cv 2011
 
Syuro eksternal kiss
Syuro eksternal kissSyuro eksternal kiss
Syuro eksternal kiss
 
Cara membuat blog
Cara membuat blogCara membuat blog
Cara membuat blog
 
Douglas kellner media literacies and critical pedagogy in a multicultural s...
Douglas kellner   media literacies and critical pedagogy in a multicultural s...Douglas kellner   media literacies and critical pedagogy in a multicultural s...
Douglas kellner media literacies and critical pedagogy in a multicultural s...
 
Material educativo audiovisual
Material   educativo   audiovisualMaterial   educativo   audiovisual
Material educativo audiovisual
 
Um Novo Amanhecer
Um Novo AmanhecerUm Novo Amanhecer
Um Novo Amanhecer
 
Welcome Kit
Welcome KitWelcome Kit
Welcome Kit
 
Coaching Techniques
Coaching TechniquesCoaching Techniques
Coaching Techniques
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh raj
 

Similaire à Rakesh

Kerberos Protocol
Kerberos ProtocolKerberos Protocol
Kerberos ProtocolNetwax Lab
 
Kerberos case study
Kerberos case studyKerberos case study
Kerberos case studyMayuri Patil
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to KerberosShumon Huque
 
IJSRED-V2I1P29
IJSRED-V2I1P29IJSRED-V2I1P29
IJSRED-V2I1P29IJSRED
 
Kerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsKerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsIRJET Journal
 
kerb.ppt
kerb.pptkerb.ppt
kerb.pptJdQi
 
User authentication crytography in cse engineering
User authentication crytography in cse engineeringUser authentication crytography in cse engineering
User authentication crytography in cse engineeringmohmmedsahil111
 
Kerberos using public key cryptography
Kerberos using public key cryptographyKerberos using public key cryptography
Kerberos using public key cryptographyishmecse13
 
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docxblondellchancy
 
Energy saving Wireless Sensor Networks using Kerberos
Energy saving Wireless Sensor Networks using KerberosEnergy saving Wireless Sensor Networks using Kerberos
Energy saving Wireless Sensor Networks using KerberosEditor IJCATR
 

Similaire à Rakesh (20)

14 577
14 57714 577
14 577
 
Kerberos Protocol
Kerberos ProtocolKerberos Protocol
Kerberos Protocol
 
Kerberos case study
Kerberos case studyKerberos case study
Kerberos case study
 
kerberos
kerberoskerberos
kerberos
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to Kerberos
 
Kerberos Architecture.pptx
Kerberos Architecture.pptxKerberos Architecture.pptx
Kerberos Architecture.pptx
 
IJSRED-V2I1P29
IJSRED-V2I1P29IJSRED-V2I1P29
IJSRED-V2I1P29
 
Kerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsKerberos Security in Distributed Systems
Kerberos Security in Distributed Systems
 
kerb.ppt
kerb.pptkerb.ppt
kerb.ppt
 
Kerberos
KerberosKerberos
Kerberos
 
Ijcnc050205
Ijcnc050205Ijcnc050205
Ijcnc050205
 
Elliptic curve cryptography
Elliptic curve cryptographyElliptic curve cryptography
Elliptic curve cryptography
 
262 265
262 265262 265
262 265
 
Kerberos
KerberosKerberos
Kerberos
 
Firewalls
FirewallsFirewalls
Firewalls
 
User authentication crytography in cse engineering
User authentication crytography in cse engineeringUser authentication crytography in cse engineering
User authentication crytography in cse engineering
 
Kerberos using public key cryptography
Kerberos using public key cryptographyKerberos using public key cryptography
Kerberos using public key cryptography
 
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx
7222019 TestOut LabSimhttpscdn.testout.comclient-v5-.docx
 
Energy saving Wireless Sensor Networks using Kerberos
Energy saving Wireless Sensor Networks using KerberosEnergy saving Wireless Sensor Networks using Kerberos
Energy saving Wireless Sensor Networks using Kerberos
 

Dernier

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Rakesh

  • 1. KERBEROS CHAPTER 1 INTRODUCTION Computer security has been a problem since the very beginning. Proper authentication and protection using cryptographic methods is a must in today’s electronic communication. Kerberos provides an infrastructure to achieve this using symmetric cryptography. 1.1. History Kerberos was developed at the Massachusetts Institute of Technology (MIT) during a project intended to integrate computers into the university’s undergraduate curriculum. The project, called Athena, started in 1983 with UNIX timesharing computers, having several terminals connected to each one, but without a network connection. If a student or staff member wanted to use any of the computers, he or she sat down at one of these terminals. As soon as the terminals and old computers were substituted by newer workstations with network connection, the project’s goal was to allow any user to sit down at the workstation of his or her choice accessing his data over the network (which is a very common scenario for every network today). The problem of network eavesdropping became apparent. Since the network has been accessible from all over the campus, nothing prevented students from running network monitoring tools and learning other users and root passwords. Another big problem was some PC/ATs which were lacking even fundamental internal security. To protect the users’ data in the network environment as it had been protected in the timesharing environment Kerberos was invented. Kerberos is an authentication system that uses symmetric key cryptography to protect sensitive information on an open network. It is a ticket based system that issues a ticket encrypted with the user’s password when he or she logs in. The user decrypts the ticket and uses it to obtain tickets for other network services he or she wants to use. Because all information in tickets is encrypted, it is not susceptible to eavesdropping or misappropriation. DEPT OF Comp Engg. 1 D.B.N.C.O.E.T,YTL
  • 2. KERBEROS MIT developed Kerberos to protect network services provided by Project Athena. The protocol was named after the Greek mythological character Kerberos (or Cerberus), known in Greek mythology as being the monstrous three-headed guard dog of Hades. 1.2. Motivation In a network of users requiring services from many separate computers, there are three approaches one can take to access control: One can do nothing, relying on the machine to which the user is logged in to prevent unauthorized access; one can require the host to prove its identity, but trust the host’s word as to who the user is; or one can require the user to prove her/his identity for each required service.In a closed environment where all the machines are under strict control, one can use the first approach. When the organization controls all the hosts communicating over the network, this is a reasonable approach. In a more open environment, one might selectively trust only those hosts under organizational control. In this case, each host must be required to prove its identity.In those protocols,authentication is done by checking the Internet address from which a connection has been established. In the Athena environment, we must be able to honor requests from hosts that are not under organizational control. Users have complete control of their workstations: they can reboot them, bring them up standalone, or even boot off their own tapes. As such, the third approach must be taken; the user must prove her/his identity for each desired service. The server must also prove its identity. It is not sufficient to physically secure the host running a network server; someone elsewhere on the network may be masquerading as the given server. The environment places several requirements on an identification mechanism. First, it must be secure. Circumventing it must be difficult enough that a potential attacker does not find the authentication mechanism to be the weak link. Someone watching the network should not be able to obtain the information necessary to impersonate another user. Second, it must be reliable. Access to many services will depend on the authentication service. If it is not reliable, the system of services as a whole will not be. Third, it should be transparent. Ideally, the user should not be aware of authentication taking place. Finally, it should be scalable. Many systems can DEPT OF Comp Engg. 2 D.B.N.C.O.E.T,YTL
  • 3. KERBEROS communicate with Athena hosts. Not all of these will support the mechanism, but software should not break if they did. Kerberos is the result of our work to satisfy the above requirements. When a user walks up to a workstation she/he “logs in”. As far as the user can tell, this initial identification is sufficient to prove her/his identity to all the required network servers for the duration of the login session. The security of Kerberos relies on the security of several authentication servers, but not on the system from which users log in, or on the security of the end servers that will be used. The authentication server provides a properly authenticated user with a way to prove her/his identity to servers scattered across the network. DEPT OF Comp Engg. 3 D.B.N.C.O.E.T,YTL
  • 4. KERBEROS CHAPTER 2 KERBEROS Kerberos is a computer network authentication protocol, which allows nodes communicating over a non-secure network to prove their identity to one another in a secure manner. The Kerberos protocol is designed to provide reliable authentication over open and insecure networks where communications between the hosts belonging to it may be intercepted. However, one should be aware that Kerberos does not provide any guarantees if the computers being used are vulnerable: the authentication servers, application servers and clients must be kept constantly updated so that the authenticity of the requesting users and service providers can be guaranteed. Thus we can say that: "Kerberos is an authentication protocol for trusted hosts on untrusted networks". Kerberos is a trusted third-party authentication service based on the model presented by Needham and Schroeder. It is trusted in the sense that each of its clients believes Kerberos’ judgement as to the identity of each of its other clients to be accurate. Timestamps (large numbers representing the current date and time) have been added to the original model to aid in the detection of replay. Replay occurs when a message is stolen off the network and resent later. 2.1.Protocol Kerberos uses as its basis the symmetric Needham-Schroeder protocol. 2.1.1.Needham-Schroeder Authentication An approach to secure authentication is the Needham- Schroeder protocol. It defines a three-party authentication service and five step message chain. In the very first step the client requests a session key for communication with a certain service. The requested session key and a message encrypted for the service is send back to the client encrypted with the client’s key to protect it in an open network. The client forwards the part for the service (which is encrypted with the service key) to the desired service. After that the service generates a random message which is sent back to the client encrypted with the session key. This random message is transformed in a predefined way and sent back to the server encrypted with the session key as DEPT OF Comp Engg. 4 D.B.N.C.O.E.T,YTL
  • 5. KERBEROS well to prove that A was the sender of message number three. After performing these five steps the service can be sure that the client has authenticated itself correctly, because only the client knows the key to decrypt message two. This protocol is no longer considered secure as B does not know if the key is fresh. If an attacker obtains an old key he or she can perform a replay attack and convince B that the key they hold is the current key of A. 2.1.2.Needham-Schroeder in Kerberos Kerberos uses a variant of Needham-Schroeder, which uses timestamps on every message to avoid the problem mentioned above. Due to the fact that it is a problem to keep all clocks returning exact the same time in a network environment, every message is valid in a time window from five minutes in the past to five minutes in the future. In a short time slot of ten minutes length replay attacks are impeded by a replay cache held by every service. Messages are cached as long as they are valid and authentication attempts using messages which are already held in cache can be refused. DEPT OF Comp Engg. 5 D.B.N.C.O.E.T,YTL
  • 6. KERBEROS CHAPTER 3 TERMINOLOGY This section provides the definition of the objects and terms, knowledge of which is essential for the subsequent description of the Kerberos protocol. 3.1.Realm The term realm indicates an authentication administrative domain. Its intention is to establish the boundaries within which an authentication server has the authority to authenticate a user, host or service. This does not mean that the authentication between a user and a service that they must belong to the same realm: if the two objects are part of different realms and there is a trust relationship between them, then the authentication can take place. This characteristic is known as Cross-Authentication Basically, a user/service belongs to a realm if and only if he/it shares a secret (password/key) with the authentication server of that realm. The name of a realm is case sensitive, i.e. there is a difference between upper and lower case letters, but normally realms always appear in upper case letters. It is also good practice, in an organization, to make the realm name the same as the DNS domain (in upper case letters though). Following these tips when selecting the realm name significantly simplifies the configuration of Kerberos clients, above all when it is desired to establish trust relationships with subdomains. By way of example, if an organization belongs to the DNS domain example.com, it is appropriate that the related Kerberos realm is EXAMPLE.COM. 3.2.Principal A principal is the name used to refer to the entries in the authentication server database. A principal is associated with each user, host or service of a given realm. A principal in Kerberos 5 is of the following type: component1/component2/.../componentN@REALM DEPT OF Comp Engg. 6 D.B.N.C.O.E.T,YTL
  • 7. KERBEROS However, in practice a maximum of two components are used. For an entry referring to a user the principal is the following type: Name[/Instance]@REALM The instance is optional and is normally used to better qualify the type of user. For example administrator users normally have the admin instance. The following are examples of principals referred to users: mark@EXAMPLE.COM admin/admin@EXAMPLE.COM pluto/admin@EXAMPLE.COM If, instead, the entries refer to services, the principals assume the following form: Service/Hostname@REALM 3.3. Ticket A ticket is something a client presents to an application server to demonstrate the authenticity of its identity. Tickets are issued by the authentication server and are encrypted using the secret key of the service they are intended for. Since this key is a secret shared only between the authentication server and the server providing the service, not even the client which requested the ticket can know it or change its contents. The main information contained in a ticket includes: · The requesting user's principal (generally the username); · The principal of the service it is intended for; · The IP address of the client machine from which the ticket can be used. In Kerberos 5 this field is optional and may also be multiple in order to be able to run clients under multi-homed. · The date and time (in timestamp format) when the tickets validity commences; · The ticket's maximum lifetime. DEPT OF Comp Engg. 7 D.B.N.C.O.E.T,YTL
  • 8. KERBEROS Each ticket has expiration (generally 10 hours). This is essential since the authentication server no longer has any control over an already issued ticket. Even though the realm administrator can prevent the issuing of new tickets for a certain user at any time, it cannot prevent users from using the tickets they already possess. This is the reason for limiting the lifetime of the tickets in order to limit any abuse over time. 3.4. Encryption Kerberos often needs to encrypt and decrypt the messages (tickets and authenticators) passing between the various participants in the authentication. It is important to note that Kerberos uses only symmetrical key encryption (in other words the same key is used to encrypt and decrypt). 3.4.1. Encryption type Kerberos 4 implements a single type of encryption which is DES at 56 bits. The weakness of this encryption plus other protocol vulnerabilities has made Kerberos 4 obsolete. Version 5 of Kerberos, however, does not predetermine the number or type of encryption methodologies supported. It is the task of each specific implementation to support and best negotiate the various types of encryption. However, this flexibility and expandability of the protocol has accentuated interoperability problems between the various implementations of Kerberos 5. In order for clients and application and authentication servers using different implementations to interoperate, they must have at least one encryption type in common. The difficulty related to the interoperability between UNIX implementations of Kerberos 5 and the one present in the Active Directory of Windows is a classic example of this. Indeed, Windows Active Directory supports a limited number of encryptions and only had DES at 56 bits in common with UNIX. This required keeping the latter enabled, despite the risks being well known, if interoperability had to be guaranteed. The problem was subsequently solved with version 1.3 of MIT Kerberos 5. This version introduced RC4-HMAC support, which is also present in Windows and is more secure than DES. Among the supported encryptions (but not by Windows) the triple DES (3DES) and newer AES128 and AES256 are worth mentioning. DEPT OF Comp Engg. 8 D.B.N.C.O.E.T,YTL
  • 9. KERBEROS 3.4.2. Encryption key As stated above, one of the aims of the Kerberos protocol is to prevent the user's password from being stored in its unencrypted form, even in the authentication server database. Considering that each encryption algorithm uses its own key length, it is clear that, if the user is not to be forced to use a different password of a fixed size for each encryption method supported, the encryption keys cannot be the passwords. For these reasons the string2key function has been introduced, which transforms an unencrypted password into an encryption key suitable for the type of encryption to be used. This function is called each time a user changes password or enters it for authentication. The string2key is called a hash function, meaning that it is irreversible: given that an encryption key cannot determine the password which generated it (unless by brute force). Famous hashing algorithms are MD5 and CRC32. 3.4.3. Salt In Kerberos 5, unlike version 4, the concept of passwordsalt has been introduced. This is a string to be concatenated to the unencrypted password before applying the string2key function to obtain the key. Kerberos 5 uses the same principal of the user as salt: Kmark = string2key (Pmark + "mark@EXAMPLE.COM") Kmark is the encryption key of the user mark and Pmark is the unencrypted password of the user.This type of salt has the following advantages: Two principals belonging to the same realm and having the same unencrypted password, still have different keys. For example, imagine an administrator having a principal for everyday work (mark@EXAMPLE.COM) and one for administrative work (mark/admin@EXAMPLE.COM). It is very likely that this user has set the same password for both principals for reasons of convenience. The presence of the salt guarantees that the related keys are different. DEPT OF Comp Engg. 9 D.B.N.C.O.E.T,YTL
  • 10. KERBEROS If a user has two accounts in different realms, it is fairly frequent that the unencrypted password is the same for both realms: thanks to the presence of the salt, a possible compromise of an account in one realm will not automatically cause the other to be compromised. A null salt can be configured for compatibility with Kerberos 4. Vice versa, for compatibility with AFS, it is possible to configure a salt which is not the complete name of the principal, but simply the name of the cell. 3.4.4. Key Version Number (kvno) When a user changes a password or an administrator updates the secret key for an application server, this change is logged by advancing a counter. The current value of the counter identifying the key version is known as the Key Version Number or more briefly kvno. 3.5. Key Distribution Center (KDC) The authentication server in a Kerberos environment, based on its ticket distribution function for access to the services, is called Key Distribution Center or more briefly KDC. Since it resides entirely on a single physical server (it often coincides with a single process) it can be logically considered divided into three parts: Database, Authentication Server (AS) and Ticket Granting Server (TGS). 3.5.1 Database The database is the container for entries associated with users and services. We refer to an entry by using the principal (i.e. the name of the entry) even if often the term principal is used as a synonym for entry. Each entry contains the following information: ·The principal to which the entry is associated; ·The encryption key and related kvno; ·The maximum validity duration for a ticket associated to the principal; DEPT OF Comp Engg. 10 D.B.N.C.O.E.T,YTL
  • 11. KERBEROS ·The maximum time a ticket associated to the principal may be renewed (only Kerberos 5); ·The attributes or flags characterizing the behavior of the tickets; ·The password expiration date; ·The expiration date of the principal, after which no tickets will be issued. In order to make it more difficult to steal the keys present in the database, the implementations encrypt the database using the master key, which is associated with the principal K/M@REALM. Even any database dumps, used as backups or for propagation from the KDC master towards the slave, are encrypted using this key, which it is necessary to know in order to reload them. 3.5.2 Authentication Server (AS) The Authentication Server is the part of the KDC which replies to the initial authentication request from the client, when the user, not yet authenticated, must enter the password. In response to an authentication request, the AS issues a special ticket known as the Ticket Granting Ticket, or more briefly TGT, the principal associated with which is krbtgt/REALM@REALM. If the users are actually who they say they are they can use the TGT to obtain other service tickets, without having to re-enter their password. 3.5.3 Ticket Granting Server (TGS) The Ticket Granting Server is the KDC component which distributes service tickets to clients with a valid TGT, guaranteeing the authenticity of the identity for obtaining the requested resource on the application servers. The TGS can be considered as an application server (given that to access it, it is necessary to present the TGT) which provides the issuing of service tickets as a service. It is important not to confuse the abbreviations TGT and TGS: the first indicates a ticket and the second a service. DEPT OF Comp Engg. 11 D.B.N.C.O.E.T,YTL
  • 12. KERBEROS 3.6. Session Key As we have seen, the users and services share a secret with the KDC. For users, this secret is the key derived from their password, while for services, it is their secret key (set by the administrator). These keys are called long term, since they do not change when the work session changes. However, it is necessary that the user also shares a secret with the service, at least for the time in which a client has a work session open on a server: this key, generated by the KDC when a ticket is issued, is called the Session Key. The copy intended for the service is enveloped by the KDC in the ticket (in any case their application server knows the long term key and can decode it and extract the session key), while the copy intended for the user is encapsulated in an encrypted packet with the user long term key. The session key plays a fundamental role in demonstrating the authenticity of the user. 3.7. Authenticator Even if the user principal is present in a ticket and only the application server can extract and possibly manage such information (since the ticket is encrypted with the secret key of the service), this is not enough to guarantee the authenticity of the client. An impostor could capture (remember the hypothesis of an open and insecure network) the ticket when it is sent by a legitimate client to the application server, and at an opportune time, send it to illegitimately obtain the service. On the other hand, including the IP addresses of the machine from where it is possible to use it is not very useful: it is known that in an open and insecure network addresses are easily falsified. To solve the problem, one has to exploit the fact that the client and server, at least during a session have the session key in common that only they know (also the KDC knows it since it generated it, but it is trusted by definition!!!). Thus the following strategy is applied: along with the request containing the ticket, the client adds another packet (the authenticator) where the user principal and time stamp (it’s at that time) are included and encrypts it with the session key; the server which must offer the service, upon receiving this request, unpacks the first ticket, extracts the session key and, if the user is actually who he/she says, the server is able to unencrypt the authenticator extracting the timestamp. If the latter differs from the server time by less than 2 minutes (but the tolerance can be configured) then the authentication is successful. This underlines the criticality of synchronization between machines belonging to the same realm. DEPT OF Comp Engg. 12 D.B.N.C.O.E.T,YTL
  • 13. KERBEROS 3.8. Replay Cache The possibility exists for an impostor to simultaneously steal both the ticket and the authenticator and use them during the 2 minutes the authenticator is valid. This is very difficult but not impossible. To solve this problem with Kerberos 5, Replay Cache has been introduced. In application servers (but also in TGS), there exists the capacity to remember authenticators which have arrived within the last 2 minutes, and to reject them if they are replicas. With this the problem is resolved as long as the impostor is not smart enough to copy the ticket and authenticator and make them arrive at the application server before the legitimate request arrives. This really would be a hoax, since the authentic user would be rejected while the impostor would have access to the service. 3.9. Credential Cache The client never keeps the user's password, nor does it memorize the secret key obtained by applying string2key: they are used to decrypt the replies from KDC and immediately discarded. However, on the other hand, to implement the single sign-on (SSO) characteristic, where the user is asked to enter the password just once per work session, it is necessary to memorize the tickets and related session key. The place where this data is stored is called the "Credential Cache". Where this cache needs to be located does not depend on the protocol, but varies from one implementation to another. Often for portability purposes they are located in the file system (MIT and Heimdal). In other implementations (AFS and Active Directory), in order to increase security in the event of vulnerable clients, the credential cache is placed in an area of the memory accessible only to kernels and not swappable on the disk. DEPT OF Comp Engg. 13 D.B.N.C.O.E.T,YTL
  • 14. KERBEROS CHAPTER 4 WORKING Kerberos operates by encrypting data with a symmetric key. A symmetric key is a type of authentication where both the client and server agree to use a single encryption/decryption key for sending or receiving data. When working with the encryption key, the details are actually sent to a key distribution center, or KDC, instead of sending the details directly between each computer. The entire process takes a total of eight steps: Step 1: The authentication service, or AS, receives the request by the client and verifies that the client is indeed the computer it claims to be. This is usually just a simple database lookup of the user’s ID. (Fig 4.1) Fig 4.1.Authentication service verifies the user ID. Step 2: Upon verification, a timestamp is created. This puts the current time in a user session, along with an expiration date. The default expiration date of a timestamp is 8 hours. The encryption key is then created. The timestamp ensures that when 8 hours is up, the encryption key is useless. (This is used to make sure a hacker doesn’t intercept the data, and try to crack the key. Almost all keys are able to be cracked, but it will take a lot longer than 8 hours to do so.) DEPT OF Comp Engg. 14 D.B.N.C.O.E.T,YTL
  • 15. KERBEROS Step 3: The key is sent back to the client in the form of a ticket-granting ticket, or TGT. This is a simple ticket that is issued by the authentication service. It is used for authenticating the client for future reference. (Fig 4. 2) Fig4. 2.Authentication service issues TGT. Step 4: The client submits the ticket-granting ticket to the ticket-granting server, or TGS, to get authenticated. (Fig 4.3) Fig 4.3.Client submits TGT to TGS. DEPT OF Comp Engg. 15 D.B.N.C.O.E.T,YTL
  • 16. KERBEROS Step 5: The TGS creates an encrypted key with a timestamp, and grants the client a service ticket. (Fig 4.4) Fig 4.4.TGS grants client the service ticket. Step 6: The client decrypts the ticket, tells the TGS it has done so, and then sends its own encrypted key to the service. Step 7: The service decrypts the key, and makes sure the timestamp is still valid. If it is, the service contacts the key distribution center to receive a session that is returned to the client. (Fig 4.5) DEPT OF Comp Engg. 16 D.B.N.C.O.E.T,YTL
  • 17. KERBEROS Fig 4.5. Service server decrypts key and make sure timestamp is valid. Step 8: The client decrypts the ticket. If the keys are still valid, communication is initiated between client and server. (Fig 4.6) Fig 4.6 For valid keys communication is initiated. After the communication is made between the client and server, no further need of transmitting logon information is needed. The client is authenticated until the session expires. DEPT OF Comp Engg. 17 D.B.N.C.O.E.T,YTL
  • 18. KERBEROS 4.1. The Mutual Authentication Process The authentication method described above seems a little one-sided. Kerberos provides support for mutual authentication, for a more secure protection against man in the middle attacks. This type of authentication is fairly easy to understand, since it only involves two systems. The Steps involved in the mutual authentication process is as listed below: Step 1: The first system creates a challenge code made up of random numbers. Step 2: This code is sent to the second system, which generates a response to the received code. This response and a challenge code of its own are then sent back to the first system. Step 3: The first system verifies the response of the second system, and then sends a response to the challenge code it received. Step 4: When the second system receives the response, it is verified. If all is well, it notifies the first system that they are indeed mutually authenticated. This type of authentication uses challenge codes to ensure that both computers are who they claim to be. If someone tries to intercept the data, they obviously will fail because they can’t pretend to be one of the computers after they have been authenticated with challenge codes. DEPT OF Comp Engg. 18 D.B.N.C.O.E.T,YTL
  • 19. KERBEROS CHAPTER 5 KERBEROS ENVIRONMENT A typical Kerberos environment can be divided into two main parts. On the one hand there is the Kerberos infrastructure containing at least one Kerberos server or so called Key Distribution Center (KDC). The KDC holds a complete database of user and service keys. This is a serious disadvantage, because if an attacker could gain access to a Kerberos server he learns every single key of the realm, the server is in. On the other hand there are Kerberos-enabled clients and services called kerberized clients and services. 5.1. A Typical Infrastructure As the trusted part, a Kerberos server has to be secured properly. This means, that an attacker should not be able to gain access on the machine to get or alter the key database stored on it. To assure that, physical access on logins should only be allowed to trusted staff members and no other services should be placed on that host. To secure the server, virus scanners and intrusion detection systems can be set up on it. Usually more than one Kerberos server are set up in a typical environment to provide an almost error-free Kerberos service. This realm is the administrative domain. The realm is entitled after the Internet domain name of the network, using this naming scheme, every realm has a distinct name in a global name-space. Common environments use one realm per institution but dividing big institutions into several realms is also possible. As one can see in (Fig 5.1.1), clients that want to access the Kerberos servers of a domain need not to be connected to the local network. With a proper configuration, they can use Kerberos for their realm from everywhere on the Internet. One dedicated server per realm is holding the master copy of the Kerberos database. This server is called the master server and any other Kerberos servers in the realm receive their copies from this server. In case of a not responding server every client can contact the other servers in the realm to obtain tickets. Unexpected interruptions as a result of hardware failures can be avoided this way. Every client can connect to any Kerberos server he knows in one realm. DEPT OF Comp Engg. 19 D.B.N.C.O.E.T,YTL
  • 20. KERBEROS Fig 5.1.1 A possible Kerberos environment 5.2. Details of KDC The Key Distribution Center is logically split into two services that reside on the same host. The authentication service (AS) that authenticates users and the ticket granting service (TGS) which takes tickets issued from the authentication service and issues tickets for services. This is done because of a simple security reason. After authentication at the authentication service both KDC and client share a secret symmetric key, which can be used to construct an authenticator for the ticket granting service to obtain service tickets by the client. There is no need for the client to enter the password a second time and the Ppassword has not been cached (which would be a security flaw). Both authentication service and ticket granting service revert to the same database of keys, which resides on every Kerberos server. The database contains every key, user keys, which are derived from the users password using a hash algorithm and service keys that are once generated by a random number generator and stored on the servicing host as well. To improve security this service keys should be changed regularly. DEPT OF Comp Engg. 20 D.B.N.C.O.E.T,YTL
  • 21. KERBEROS 5.3. Kerberized Services To take full advantage of a Kerberos infrastructure not only authentication for local host access is done. An optimal environment is made up of services which support Kerberos, so that the user has to give his password one time he logs in. After that authentication the client can read his email, access files on a file-server and log in on remote machines without giving his password a second time. DEPT OF Comp Engg. 21 D.B.N.C.O.E.T,YTL
  • 22. KERBEROS CHAPTER 6 KERBEROS DATABASE Kerberos operations requiring both read-only and write access is done with the help of Kerberos database.Operations requiring read-only access to the Kerberos database are performed by the authentication service, which can run on both master and slave machines. (Fig 6.1) Fig 6.1. Authentication Requests. These operations are performed by the administration service, called the Kerberos Database Management Service (KDBM). The current implementation stipulates that changes may only be made to the master Kerberos database; slave copies are read-only. Therefore, the KDBM server may only run on the master Kerberos machine. (Fig 6.2) Fig 6.2. Administration Requests. DEPT OF Comp Engg. 22 D.B.N.C.O.E.T,YTL
  • 23. KERBEROS Note that, while authentication can still occur (on slaves), administration requests cannot be serviced if the master machine is down. In our experience, this has not presented a problem, as administration requests are infrequent. The KDBM handles requests from users to change their passwords. The client side of this program, which sends requests to the KDBM over the network, is the kpasswd program. The KDBM also accepts requests from Kerberos administrators, who may add principals to the database, as well as change passwords for existing principals. The client side of the administration program, which also sends requests to the KDBM over the network, is the kadmin program. 6.1. The KDBM Server The KDBM server accepts requests to add principals to the database or change the passwords for existing principals. This service is unique in that the ticket-granting service will not issue tickets for it. Instead, the authentication service itself must be used (the same service that is used to get a ticket granting ticket). The purpose of this is to require the user to enter a password. If this were not so, then if a user left her/his workstation unattended, a passerby could walk up and change her/his password for them, something which should be prevented. Likewise, if an administrator left her/his workstation unguarded, a passerby could change any password in the system. When the KDBM server receives a request, it authorizes it by comparing the authenticated principal name of the requester of the change to the principal name of the target of the request. If they are the same, the request is permitted. If they are not the same, the KDBM server consults an access control list (stored in a file on the master Kerberos system). If the requester’s principal name is found in this file, the request is permitted, otherwise it is denied. By convention, names with a NULL instance (the default instance) do not appear in the access control list file; instead, an admin instance is used. Therefore, for a user to become an administrator of Kerberos an admin instance for that username must be created, and added to the access control list. This convention allows an administrator to use a different password for DEPT OF Comp Engg. 23 D.B.N.C.O.E.T,YTL
  • 24. KERBEROS Kerberos administration then s/he would use for normal login. All requests to the KDBM program, whether permitted or denied, are logged. 6.2. Database Replication Each Kerberos realm has a master Kerberos machine, which houses the master copy of the authentication database. It is possible (although not necessary) to have additional, readonly copies of the database on slave machines elsewhere in the system. The advantages of having multiple copies of the database are those usually cited for replication: higher availability and better performance. If the master machine is down, authentication can still be achieved on one of the slave machines. The ability to perform authentication on any one of several machines reduces the probability of a bottleneck at the master machine. Keeping multiple copies of the database introduces the problem of data consistency. We have found that very simple methods suffice for dealing with inconsistency. The master database is dumped every hour. The database is sent, in its entirety, to the slave machines, which then update their own databases. All passwords in the Kerberos database are encrypted in the master database key. Therefore, the information passed from master to slave over the network is not useful to an Eaves dropper. However, it is essential that only information from the master host be accepted by the slaves, and that tempering of data be detected, thus the checksum. DEPT OF Comp Engg. 24 D.B.N.C.O.E.T,YTL
  • 25. KERBEROS CHAPTER 7 KERBEROS ADMINISTRATOR The Kerberos administrator’s job begins with running a program to initialize the database. Another program must be run to register essential principals in the database, such as the Kerberos administrator’s name with an admin instance. The Kerberos authentication server and the administration server must be started up. If there are slave databases, the administrator must arrange that the programs to propagate database updates from master to slaves be kicked off periodically. After these initial steps have been taken, the administrator manipulates the database over the network. In particular, when a new Kerberos application is added to the system, the Kerberos administrator must take a few steps to get it working. The server must be registered in the database, and assigned a private key (usually this is an automatically generated random key). Then, some data (including the server’s key) must be extracted from the database and installed in a file on the server’s machine. The server uses the information in that file to decrypt messages sent encrypted in the server’s private key. The file authenticates the server as a password typed at a terminal authenticates the user. The Kerberos administrator must also ensure that Kerberos machines are physically secure, and would also be wise to maintain backups of the Master database. DEPT OF Comp Engg. 25 D.B.N.C.O.E.T,YTL
  • 26. KERBEROS CHAPTER 8 ANALYSIS OF KERBEROS 8.1. Advantages 1. Passwords are never sent across the network unencrypted. This prevents those unscrupulous people from being able to read the most important data sent over the network. 2. Clients and applications services mutually authenticate. Mutual authentication allows for both ends to know that they truly know whom they are communicating with. 3. Tickets have a limited lifetime, so if they are stolen, unauthorized use is limited to the time frame that the ticket is valid. 4. Authentication through the AS only has to happen once. This makes the security of Kerberos more convenient. 5. Shared secret keys between clients and services are more efficient than public-keys. 6. Many implementations of Kerberos have a large support base and have been put through serious testing. 7. Authenticators, created by clients, can only be used once. This feature prevents the use of stolen authenticators. 8.2. Disadvantages 1. Kerberos only provides authentication for clients and services. 2. Kerberos 4 uses DES, which has been shown to be vulnerable to brute-force- attacks with little computing power. 3. Like any security tool, it is also vulnerable to users making poor password choices. 4. Because Kerberos uses a mutual authentication model, it is necessary for both client machines and service providers (servers) to be designed with Kerberos authentication in mind. DEPT OF Comp Engg. 26 D.B.N.C.O.E.T,YTL
  • 27. KERBEROS CHAPTER 9 PERSPECTIVE: PUBLIC KEY CRYPTOGRAPHY A new direction for Kerberos is public key cryptography. Public key cryptography eases key distribution a lot. Using only symmetric cryptography KDC and client must share a key; using asymmetric cryptography the client can present the public key, which can be used to encrypt messages for it. This is used for email communication by the program Pretty Good Privacy (PGP). The big advantage for Kerberos is that the key distribution center does not have to save the keys client keys in his database any longer. To obtain a ticket granting ticket, the client has to present his public key. The KDC uses this key to encrypt the ticket and session key. As everybody is able to create a key pair for public key cryptography, additional infrastructure is needed. A trusted certification authority (CA) has to sign every valid public key. The client can present his key which is signed by the trusted authority. Integration in Kerberos is easy due to the fact that only interaction with the authentication service has to be changed to use asymmetric cryptography; everything else can remain as it is. If the client presents his public key, the authentication service checks, whether it has a valid signature from a trusted authority and return a session key afterwards. The client decrypts the session key with the private key of his key pair. Following communication is handled like in Kerberos without public key cryptography support. DEPT OF Comp Engg. 27 D.B.N.C.O.E.T,YTL
  • 28. KERBEROS 10. CONCLUSION Kerberos isn’t the only encryption protocol available. There are multiple ways to encrypt data, and this holds true for many types of different applications. Email encryption protocols, for example, are a breed all of their own. With a product that has been researched and developed for over 8 years, it is generally expected that the product should be well polished. Kerberos doesn’t fail to deliver, and this can be seen by looking at all the vendors who use it. Cisco, Microsoft, Apple, and many others rely on this faithful three headed dog for network security. Authentication is critical for the security of computer systems. Without knowledge of the identity of a principal requesting an operation, it's difficult to decide whether the operation should be allowed. Traditional authentication methods are not suitable for use in computer networks where attackers monitor network traffic to intercept passwords. The use of strong authentication methods that do not disclose passwords is imperative. The Kerberos authentication system is well suited for authentication of users in such environments. DEPT OF Comp Engg. 28 D.B.N.C.O.E.T,YTL
  • 29. KERBEROS 11. REFERENCES [1] Kerberos: Network Authentication System by Brain Pung. [2] Computer Networking by James Kurose and Keith Rose. [3] Introduction to kerberos technology [4] http://web.mit.edu/Kerberos/ [5] http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci21243/7,00.html [6] http://www.google.co.in/ DEPT OF Comp Engg. 29 D.B.N.C.O.E.T,YTL