Presentation on theme: "1 Authentication Applications Ola Flygt Växjö University, Sweden +46 470 70 86 49."— Presentation transcript:
1 Authentication Applications Ola Flygt Växjö University, Sweden http://w3.msi.vxu.se/users/ofl/ Ola.Flygt@vxu.se +46 470 70 86 49
2 Outline Security Concerns Kerberos X.509 Authentication Service
3 Security Concerns key concerns are confidentiality and timeliness to provide confidentiality one must encrypt identification and session key info which requires the use of previously shared private or public keys need timeliness to prevent replay attacks. provided by using sequence numbers or timestamps or challenge/response
4 KERBEROS In Greek mythology, a many headed dog, the guardian of the entrance of Hades
5 KERBEROS Users wish to access services on servers. Three threats exist: User pretend to be another user. User alter the network address of a workstation. User eavesdrop on exchanges and use a replay attack.
6 KERBEROS Provides a centralized authentication server to authenticate users to servers and servers to users. Relies on conventional encryption, making no use of public-key encryption Two versions: version 4 and 5 Version 4 makes use of DES
7 Kerberos terminology Terms: C = client AS = authentication server V = server ID c = identifier of user on C ID v = identifier of V P c = password of user on C ADc = network address of C K v = secret encryption key shared by AS an V TS = timestamp || = concatenation
8 A simple Authentication Dialogue (1) C AS: ID c || P c || ID v (2) AS C:Ticket (3) C V: ID c || Ticket Ticket = E K v [ ID c || P c || ID v]
9 Problems with the simple dialogue Password in clear text Solution: Encrypt the password Need to authenticate on each request Solution: Let a ticket have a lifetime Need to authenticate to each new server Solution: Split the Kerberos server up in two parts, one Authentication Server (AS) and one Ticket Granting Server (TGS).
10 A better Authentication Dialogue Once per user logon session: (1) C AS:IDc || IDtgs (2) AS C:E [K c, Ticket tgs ] Ticket tgs =E(K tgs, [ IDc || ADc || IDtgs || TS 1 || Lifetime 1 ]) Once per type of service: (3) C TGS: IDc || IDv ||Ticket tgs (4)TGS C:Ticket v Ticket v =E(K v, [ IDc || ADc || IDv || TS 2 || Lifetime 2 ]) Once per server session: (5) C V: IDc || Ticket v
11 Problems with the better dialogue Problem 1, Lifetime associated with the ticket-granting ticket If too short repeatedly asked for password If too long greater opportunity to replay The threat is that an opponent will steal the ticket and use it before it expires. Problem 2, a rouge server can give incorrect credentials
12 Version 4 Authentication Dialogue Authentication Service Exchange: To obtain Ticket-Granting Ticket (1) C AS: ID c || ID tgs ||TS 1 (2) AS C: E Kc [K c,tgs || ID tgs || TS 2 || Lifetime 2 || Ticket tgs ] Ticket tgs =E(K tgs, [K c,tgs || ID c || AD c || ID tgs || TS 2 || Lifetime 2 ]) Ticket-Granting Service Echange: To obtain Service-Granting Ticket (3) C TGS: ID v ||Ticket tgs ||Authenticator c (4)TGS C: E(K c,tgs,[K c,v || ID v || TS 4 || Ticket v ]) Ticket tgs =E(K tgs, [K c,tgs || ID c || AD c || ID tgs || TS 2 || Lifetime 2 ]) Ticket v =E(K v, [K c,v || ID c || AD c || ID v || TS 4 || Lifetime 4 ]) Authenticator c =E(K c,tgs, [ ID c || AD c || TS 3 ])
13 Version 4 Authentication Dialogue cont. Client/Server Authentication Exchange to obtain Service (5) C V: Ticket v || Authenticator c (6)V C: EKc,v[TS 5 +1] Ticket v =E(K v, [K c,v || ID c || AD c || ID v || TS 4 || Lifetime 4 ]) Authenticator c =E(K c,v, [ ID c || AD c || TS 5 ])
16 Difference Between Version 4 and 5 Encryption system independence (v4 DES) Internet protocol independence (v4 IP) Message byte ordering (v5 ASN.1) Ticket lifetime (v4 max 21 hours) Authentication forwarding Inter realm authentication
19 Kerberos - in practice Currently have two Kerberos versions: 4 : restricted to a single realm 5 : allows inter-realm authentication Kerberos v5 is an Internet standard specified in RFC1510, and used by many utilities To use Kerberos: need to have a KDC on your network need to have Kerberized applications running on all participating systems
20 X.509 Authentication Service Distributed set of servers that maintains a database about users. Each certificate contains the public key of a user and is signed with the private key of a CA. Is used in e.g. S/MIME, IP Security, SSL/TLS and SET. RSA is recommended to use.
23 Obtaining a Users Certificate Characteristics of certificates generated by CA: Any user with access to the public key of the CA can recover the user public key that was certified. No part other than the CA can modify the certificate without this being detected.
25 Revocation of Certificates Reasons for revocation: The users secret key is assumed to be compromised. The user is no longer certified by this CA. The CAs certificate is assumed to be compromised.