Kerberos versions 4 and 5 X.509 Authentication Service

Slides:



Advertisements
Similar presentations
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 4.6 Kerberos.
Advertisements

1 Kerberos Anita Jones November, Kerberos * : Objective Assumed environment Assumed environment –Open distributed environment –Wireless and Ethernetted.
Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi
The Authentication Service ‘Kerberos’ and It’s Limitations
Henric Johnson1 Chapter 4 Authentication Applications Henric Johnson Blekinge Institute of Technology,Sweden
Authentication Applications Kerberos And X.509. Kerberos Motivation –Secure against eavesdropping –Reliable – distributed architecture –Transparent –
Authentication Applications
1 Authentication Applications Ola Flygt Växjö University, Sweden
Chapter 14 – Authentication Applications
NETWORK SECURITY.
Kerberos and X.509 Fourth Edition by William Stallings
CSCE 815 Network Security Lecture 10 KerberosX.509 February 13, 2003.
IT 221: Introduction to Information Security Principles Lecture 8:Authentication Applications For Educational Purposes Only Revised: October 20, 2002.
Authentication Applications The Kerberos Protocol Standard
SCSC 455 Computer Security
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Computer Security: Principles and Practice EECS710: Information Security Professor Hossein Saiedian Fall 2014 Chapter 23: Internet Authentication Applications.
Chapter 14 From Cryptography and Network Security Fourth Edition written by William Stallings, and Lecture slides by Lawrie Brown, the Australian Defence.
Chapter 4 Authentication Applications. Objectives: authentication functions developed to support application-level authentication & digital signatures.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
Information Security Principles & Applications Topic 4: Message Authentication 虞慧群
Lecture 23 Internet Authentication Applications
Authentication & Kerberos
1 Authentication Applications Digital Signatures Security Concerns X.509 Authentication Service Kerberos Based on slides by Dr. Lawrie Brown of the Australian.
Henric Johnson1 Chapter 4 Authentication Applications Henric Johnson Blekinge Institute of Technology,Sweden
1 Authentication Applications Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College, UNSW.
Authentication Applications
Dr Alejandra Flores-Mosri Security applications Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
Authentication applications
Part Two Network Security Applications Chapter 4 Key Distribution and User Authentication.
Information Security Depart. of Computer Science and Engineering 刘胜利 ( Liu Shengli) Tel:
Cryptography and Network Security Chapter 14 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Authentication Applications Unit 6. Kerberos In Greek and Roman mythology, is a multi-headed (usually three-headed) dog, or "hellhound” with a serpent's.
1 Authentication Applications Behzad Akbari Fall 2010 In the Name of the Most High.
Cryptography and Network Security Chapter 14 Authentication Fourth Edition by William Stallings Lecture slides by Lawrie Brown Changed and extended by.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
Network Security Essentials Chapter 4 Fourth Edition by William Stallings (Based on lecture slides by Lawrie Brown.
Authentication 3: On The Internet. 2 Readings URL attacks
Module 4 Network & Application Security: Kerberos – X509 Authentication service – IP security Architecture – Secure socket layer – Electronic mail security.
KERBEROS. Introduction trusted key server system from MIT.Part of project Athena (MIT).Developed in mid 1980s. provides centralised private-key third-party.
X.509 Topics PGP S/MIME Kerberos. Directory Authentication Framework X.509 is part of the ISO X.500 directory standard. used by S/MIME, SSL, IPSec, and.
31/03/2005Authentication Applications 1 Authentication Applications: Kerberos, X.509 and Certificates REYHAN AYDOĞAN.
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Network Security Lecture 25 Presented by: Dr. Munam Ali Shah.
Kerberos Guilin Wang School of Computer Science 03 Dec
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Dr. Nermi hamza.  A user may gain access to a particular workstation and pretend to be another user operating from that workstation.  A user may eavesdrop.
1 Cryptography CSS 329 Lecture 12: Kerberos. 2 Lecture Outline Kerberos - Overview - V4 - V5.
Chapter 14. Authentication Applications
Chapter 14 – Authentication Applications
Cryptography and Network Security
CSCE 715: Network Systems Security
Authentication Applications
Authentication Protocol
CSCE 715: Network Systems Security
Digital Certificates and X.509
Kerberos and X.509 Fourth Edition by William Stallings
Authentication Applications
Presentation transcript:

Kerberos versions 4 and 5 X.509 Authentication Service

Kerberos Kerberos is an authentication service developed in MIT. There are two versions version 4 (developed in 1988) is still in common use version 5 (1994) corrects some security deficiencies of version 4 and has been issued a draft internet standard (RFC 1510) The problem that Kerberos addresses is this: ”In an open distributed environment users at workstations wish to access services on servers distributed throughout the network. The servers must be able to restrict access to authorized users and be able to authenticate requests for service.” In this environment a workstation can not be trusted to identify users correctly A user may gain access to a particular workstation and pretend to be another user operationg from that workstation A user may alter the network address of a workstation and thus impersonate another workstation A user may eavesdrop on exchanges and use a replay attack to gain entrance to a server

Kerberos Rather than building in elaborate authentication protocols at each server, Kerberos provides a centralized authentication server whose function is to authenticate users to servers and servers to users. Kerberos relies exclusively on conventional encryption. Kereros is widely used in many network environments. We examine version 4 to learn the basic functioning of Kerberos, and then proceed to version 5.

Kerberos - motivation In a distributed architecture consisting of clients and severs three approaches to security can be envisioned: Rely on each client workstation to assure the identity of its users and rely on each server to enforce security policy based on user identification (ID). Require that client systems authenticate themselves to servers, but trust the client systems conserning the identity of the user. Require the user to prove identity for each service invoked. Require that servers prove their identity to clients. The two first approaches could be used in a small closed environment. Third approach is supported by Kerberos: Kerberos assumes a distributed client/server architecture and and uses one or more Kerberos servers to provide an authentication service.

Kerberos - motivation The following requirements were listed for Kerberos: Secure: a network eavesdropper should not be able to obtain the required information for impresonating a user. Reliable: services rely on the availability of Kerberos access control, thus lack of availability of Kerberos is lack of availability of the services. Kerberos should employ a distributed server architecture with one system able to back up another. Transparent: the user should not be aware that authentication is taking place, except for the entering of the password. Scalable: the system should have a modular, distributed architecture to support large number of clients and servers. According to these requirements, the overall scheme of Kerberos is a trusted third party authentication service using the protocol presened in fig. 5.9. Thus the third party is trusted in a sense that clients and servers trust Kerberos to mediate their mutual authentication. The authentication is secure if the Kerberos server itself is secure.

Kerberos version 4 We present firts a simple authentication dialoge and then a more elaborate one to emphasize the need for the many elements in the real Kerberos 4 protocol. A Simple Authentication Protocol This protocol uses an authentication server (AS) that knows the passwords of each user. AS also shares a secret unique key with each server. C  AS: IDC|| PC || IDV AS C: IDC || Ticket CV: Ticket Ticket = EKV[IDC|| ADC || IDV] C = Client AS = authentication server V = server IDC = identifier of user on C IDV = identifier of V PC = password of user on C ADC = network address of C KV= secret encryption key shared by AS and V

Kerberos version 4 In this scenario, user log on to a workstation and requests access to server V. The client module sends a message IDC|| PC || IDV to AS, which checks if the password is correct and if the user has permitted access to the requested server. If both thest pass, then AS creates a ticket containing EKV[IDC|| ADC || IDV] that the user can use to apply to V for service. The ticket is encrypted to prevent alteration or forgery, it contains IDC to indicate that it has been issuen on behalf of C, ADC is needed to counter network address alterations and IDV enables V to determine if the message was correctly decrypted. A More Secure Authentication Protocol Two major problems remain in previous simple protocol

Kerberos version 4 Two major problems remain in previous simple protocol The user must reenter the password to gain access to each separate server since a new ticket is needed for each new service. We would of course like to have a scheme where the password is entered only once for one logon session. The simple protocol involved a plaintect transmission of the password, making it easy for an opponent to use any service accessible to the user. To solve these two problems we introduce a new server, the ticket-granting server (TGS)

Kerberos version 4 The new protocol is as follows: Once per service session: (1) C  AS: IDC || IDtgs (2) AS C: EKC[Tickettgs] Once per type of service: (3) CTGS: IDC || ID´V || Tickettgs (4) TGSC: TicketV (5) CV: TicketV || ID´C Tickettgs = EKtgs[IDC|| ADC || IDtgs || TS1 || Lifetime1 ] TicketV = EKV[IDC|| ADC || IDV || TS2 || Lifetime2 ]

Kerberos version 4 In this scheme TGS issues tickets to users that have been authenticated by AS. Thus the user first requests a ticket-granting ticket Tickettgs from AS. Tickettgs is stored by the client module, which applies for a ticket to the TGS each time the user requires access to a new service. Tickettgs is needed to authenticate the user for TGS. The client requests a Tickettgs on behalf of the user by sending user’s ID and TGS’s ID to AS. The AS responds with a ticket that is encrypted with a key that is derived from the user’s password. Now the ticket can only be successfully decrypted if the user enters the correct password. Thus we have used the password to obtain credentials from AS without transmitting the password. The has a lifetime to counter an opponent from configuring his network address to ADC and thus spoof TGS with captured Tickettgs. Now the client module can use Tickettgs multiple times to request service-granting tickets as in steps (3) and (4). Finally, the client module requests access to a service on behalf of the user using the correct service granting ticket (5).

Kerberos version 4 – the final protocol Still two problems remain If the lifetime of the Tickettgs is too short, the user will be frequently asked for the password. With a to long lifetime, the opponent has a good opportunity fo r a replay. Similarly, the opponent can use a replay of a service-granting ticket if its lifetime is long. There may be a need for the servers to authenticate themselves to users. Without such authentication the opponent could impersonate servers. To solve the first problem, the AS provides both the client and TGS with a sevcret piece of informatio in a secure manner, in this case an encryption key KC,tgs. The same idea is used with service-granting tickets. The second problem is solved in the last step. By receiving the the last timestamp contents encrypted with session key, the client module is assured of the authenticity of the server. The protocol is presented in table 11.1 and explained in table 11.2.

Kerberos realms and multiple Kerberi A full-service Kerberos environment consisting of Kerberos server, a number of clients and a number of application servers requires the following: The Kerberos server has the user Ids and hashed passwords of all participant users. All users are registered with the Kerberos server. The Kerberos server shares a secret key with each server. All servers are registered with the Kerberos server. Such an environment is referred to as Kerberos realm. Networks of clients and servers under different administrative organizations typically constitute diffirent realms. Kerberos provides a mechanism for inter-realm authentication. If two realms support this, a third requirement is added (3) The Kerberos server in each interoperation realm shares a secret key with the server in the other realm. The two kerberos servers are registered with the each other.. The use of multiple realms provides for the scalability of Kerberos.

Kerberos version 5 Version 4 was really intended to be used in a somewhat closed environment. Several environmental improvements are introduced in version 5 to make Kerberos a general purpose authentication service. Also several technical deficiencies are corrected. Environmental shortcamings Version 4 required the use of DES, in version 5 any encryption algorithm can be used. Version 4 required the use of Internet Protocol, in version 5 any type of networking can be used. Authentication forwarding: in version 5 a server can access other servers on behalf of the user by forwarding tickets. Inter-realm authentication: In version 4 interoperability between N realms requires N2 Kerberos-to-Kerberos relationships. Version 5 supports a mechanism to reduce this number. An important feature of Kerberos 5 is the use of ticket flags that are used to control many new supported features of version 5. The Kerberos 5 protocol is presented in table 11.3 and the flags briefly listed in table 11.4.

X.509 Authentication Service ITU-T recommendation X.509 is part of the X.500 sereies of recommendations defining directory services. X.509 defines a framework for the provision of authentication services by the X.500directiory to its users. The directory serves as the repository of public-key certificates. X.509 also defines authentication protocols based on public-key certificates. The X.509 certificate structure and authentication protocols are used in e.g. S/MIME, IP Security, SSL and SET. X.509 is based on public key cryptography and digital signatures. The standard recommens the use of RSA, but also other public key algorithms can be used. The hash-function used in digital signatures can also be chosen.

X.509 - Certificates Each user has a public-key certificate created by some trusted certification authority (CA), and placed in the directory by the CA or the user. The directory is not responsible for the creation of the certificates; it merely provides an easily accessible location for the certificates. The general form of the certificate is shown in Fig. 11.3. The following notation for the certificates is used: CA<<A>> = CA {V,SN,AI,CA,TA,A,Ap} where Y<<X>> is the certificate of user X issued by authority Y Y{I} is the signing of I by Y. It consists of I with an encrypted hash-code appended (with Y’s private key).

X.509 - Certificates Obtaining a user’s certificate Any user having CA’s public key can recover a certified user public key. No party other than the CA can modify the certificate. Thus certificates can be placed in a directory without further protecting them. If all users subscribe to the same CA, the use of certificates is straightforward. If there is a large community of users, it is more practical that they subscribe to different CA’s. Now each user must have secure access to public keys of other CAs in order to verify signatures issued by them. The solution is that users ”own” CA also certifies other Cas public keys and thus enable the user to get the required public key in a secure manner. These certification-chains can be of any length. X.509 suggests that Cas are organized as a hierarchy to so that navigation is straightforward (Fig. 11.4.)

X.509 - Certificates Revocation of certificates The Cas also maintain a revocation list(CRL) of all certificates that have become invalid before expiration for one of the following reasons Users secret key is assumed to be compromised User is no longer certified by this CA The CA’s certificate is assumed to be compromised Authentication procedures X.509 includes three alternative authentication procedures to be used by applications. All procedures make use of public key signatures. In the procedures it is assumed that both parties know each other’s public key (i.e. by having requested certificates). There protocols, one-way, two-way and three-way authentication, are illustrated in Fig. 11.5.