03/06/06 Hofstra University – Network Security Course, CSC290A 1 ACM Turing Award Peter NaurPeter Naur won the 2005 ACM A.M. Turing Award for his work.

Slides:



Advertisements
Similar presentations
Supervisor :Dr. Lo'ai Ali Tawalbeh Done by: Wa’el Musa Hadi
Advertisements

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.
PIS: Unit III Digital Signature & Authentication Sanjay Rawat PIS Unit 3 Digital Sign Auth Sanjay Rawat1 Based on the slides of Lawrie.
Behzad Akbari Spring In the Name of the Most High.
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.
Authentication Applications We cannot enter into alliance with neighbouring princes until we are acquainted with their designs. —The Art of War, Sun Tzu.
Network Security Essentials Chapter 4
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
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 虞慧群
Kerberos versions 4 and 5 X.509 Authentication Service
Lecture 23 Internet Authentication Applications
Authentication & Kerberos
DESIGNING A PUBLIC KEY INFRASTRUCTURE
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
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.
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.
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.
1 Kerberos – Private Key System Ahmad Ibrahim. History Cerberus, the hound of Hades, (Kerberos in Greek) Developed at MIT in the mid 1980s Available as.
Winter 2006Prof. R. Aviv: Kerberos1 Kerberos Authentication Systems.
AUTHENTICATION APPLICATIONS - Chapter 14 Kerberos X.509 Directory Authentication (S/MIME)
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
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.
1 Cryptography CSS 329 Lecture 12: Kerberos. 2 Lecture Outline Kerberos - Overview - V4 - V5.
Prof. Reuven Aviv, Nov 2013 Public Key Infrastructure1 Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Infrastructure.
Cryptography and Network Security Chapter 14
Chapter 14. Authentication Applications
Cryptography and Network Security
KERBEROS.
Authentication Applications
Cryptography and Network Security Chapter 14
Cryptography and Network Security Chapter 14
Digital Certificates and X.509
Cryptography and Network Security Chapter 14
Kerberos and X.509 Fourth Edition by William Stallings
Cryptography and Network Security Chapter 14
Authentication Applications
Presentation transcript:

03/06/06 Hofstra University – Network Security Course, CSC290A 1 ACM Turing Award Peter NaurPeter Naur won the 2005 ACM A.M. Turing Award for his work on defining the Algol 60 programming language In particular, his role as editor of the influential "Report on the Algorithmic Language Algol 60" with its pioneering use of BNF was recognized

03/06/06 Hofstra University – Network Security Course, CSC290A 2 Network Security Application Level Authentication

03/06/06 Hofstra University – Network Security Course, CSC290A 3 Why Application Level Security? Open Environment Clients Access Services Restrict Access to Authorized Users Workstation Can’t Be Trusted Impersonate a Workstation (Spoof) Eavesdrop and Replay Firewalls Don’t Always Do It Passwords Can Be Sniffed

03/06/06 Hofstra University – Network Security Course, CSC290A 4 Kerberos MIT – 1988 – Project Athena Protocol uses strong cryptography so that a client can prove its identity to a server (and vice versa) across an insecure network connection Client and server can also encrypt all of their communications to assure privacy and data integrity as they go about their business

03/06/06 Hofstra University – Network Security Course, CSC290A 5 Cerberus

03/06/06 Hofstra University – Network Security Course, CSC290A 6 Kerberos Cerberus was a three-headed hound who patrolled the shore of the river Styx (Hades), devouring both living intruders and fugitive ghosts For Hercules' twelfth task, he was to bring Cerberus up from the underworld without any weapons

03/06/06 Hofstra University – Network Security Course, CSC290A 7 Pioneering Work of Famous MIT Professor

03/06/06 Hofstra University – Network Security Course, CSC290A 8 Kerberos Provides a centralized authentication server – authenticate users to servers and servers to users Relies exclusively on conventional encryption Version 4 & Version 5 (RFC 1510)

03/06/06 Hofstra University – Network Security Course, CSC290A 9 Kerberos Requirements Secure – no masquerading Reliable – distributed server architecture Transparent – user unaware authentication is taking place Scalable – support large number of clients and servers

03/06/06 Hofstra University – Network Security Course, CSC290A 10 Simple Client Authentication Obvious risk: impersonation Server needs to confirm identity of each client – NOT scalable Use an authentication server (AS) Knows password of all users (database) Shares a secret key with each server

03/06/06 Hofstra University – Network Security Course, CSC290A 11 Simple Kerberos C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ] 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 AD C = network address of C K V = secret encryption key shared by AS and V || = concatenation

03/06/06 Hofstra University – Network Security Course, CSC290A 12 Simple Kerberos User logs on and requests access to server V Client module requests user password Sends message to the AS with user’s ID, server’s ID and user’s password C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ]

03/06/06 Hofstra University – Network Security Course, CSC290A 13 Simple Kerberos AS checks database to see if user has supplied the proper password and is permitted to access server V If authentic, then creates a ticket containing user’s ID, network address, asn server’s ID C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ]

03/06/06 Hofstra University – Network Security Course, CSC290A 14 Simple Kerberos Ticket is encrypted using the secret key shared by the AS and the server V Send ticket back to C Because the ticket is encrypted, it cannot be altered by C or an attacker C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ]

03/06/06 Hofstra University – Network Security Course, CSC290A 15 Simple Kerberos C can now apply to V for service C sends message to V with user’s ID and the ticket Server’s ID V is included so that the server can verify it has decrypted the ticket properly Ticket is encrypted to prevent capture or forgery C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ]

03/06/06 Hofstra University – Network Security Course, CSC290A 16 Simple Kerberos V decrypts the ticket and verifies that the user ID C in the ticket is the same as in the message AD C in the message guarantees it came from original requesting workstation Finally, V grants the requested service C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ]

03/06/06 Hofstra University – Network Security Course, CSC290A 17...But There’s A Problem, Jon! How many passwords do you want me to enter? The password is in the clear!

03/06/06 Hofstra University – Network Security Course, CSC290A 18 Simple Kerberos C AS V ID C || P C || ID V Ticket ID C || Ticket (1) (2) (3) Ticket = E KV [ID C || AD C || ID V ] Two problems: 1) We would like to minimize the number of times that a user has to enter a password – reuse password 2) Password is in the clear – Ticket Granting Server

03/06/06 Hofstra University – Network Security Course, CSC290A 19 Ticket Granting Server (TGS) A TGS issues tickets to users who have been authenticated to the AS User first requests a ticket granting ticket, Ticket tgs, from the AS and saves it in the client’s workstation A client requesting services applies to the TGS using the ticket to authenticate itself TGS then grants a ticket, Ticket V, for the particular service Client saves this and uses it each time a service is requested

03/06/06 Hofstra University – Network Security Course, CSC290A 20 Simple Kerberos w/TGS Client requests a ticket granting ticket on behalf of user Sends user’s ID and the ID of the TGS Indicates request for TGS service C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ] Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 21 Simple Kerberos w/TGS AS responds with a ticket that is encrypted with a key from user’s password C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ] Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 22 Simple Kerberos w/TGS Client prompts user for password, generates key and decrypts message Ticket is recovered! No need to transmit password in plaintext Ticket(tgs) is reusable C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ] TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 23 Simple Kerberos w/TGS Client requests a service granting ticket Sends message to TGS containing user’s ID, ID of the desired service and the ticket granting ticket C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ] Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 24 Simple Kerberos w/TGS TGS decrypts the incoming ticket and looks for presence of its ID Checks lifetime and authenticates the user If user permitted access, sends service granting ticket C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ] Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 25 Simple Kerberos w/TGS Client requests access to service on behalf of the user Sends user’s ID and service granting ticket This can happen repeatedly without prompting for password C AS V ID C || ID tgs E KC [Ticket tgs ] ID C || Ticket V (1) (2) (5) TGS ID C || ID V || Ticket tgs (3) (4) Ticket V Ticket tgs =E Ktgs [ID C ||AD C ||ID tgs ||TS 1 ||Lifetime 1 ] Ticket V =E KV [ID C ||AD C ||ID V ||TS 2 ||Lifetime 2 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 26 Things Are Looking Better …but there are still two more problems!

03/06/06 Hofstra University – Network Security Course, CSC290A 27 Version 4 Authentication Problems: Lifetime associated with the ticket granting ticket – too short, repeated password prompting; too long, vulnerable to capture Server authentication to user – false server could act as a real server

03/06/06 Hofstra University – Network Security Course, CSC290A 28 Version 4 Authentication Session Key – this is included in the encrypted message, K C,tgs and K C,V Authenticator – encrypted with the session key it includes the user ID and address of the client and a timestamp. It is used only once – short lifetime

03/06/06 Hofstra University – Network Security Course, CSC290A 29 Version 4 Authentication Ticket tgs =E Ktgs [K C,tgs ||ID C ||AD C ||ID tgs ||TS 2 ||Lifetime 2 ] Ticket V =E KV [K C,V ||ID C ||AD C ||ID V ||TS 4 ||Lifetime 4 ] C AS V ID C || Id tgs || TS 1 E KC [K C,tgs ||Id tgs ||TS 2 ||Lifetime 2 ||Ticket tgs ] Authenticator C || Ticket V (1) (2) (5) TGS ID V || Ticket tgs ||Authenticator C (3) (4) E KC,tgs [K C,V ||ID V ||TS 4 ||Ticket V ] (6) E KCV [TS 5 +1] Authenticator C = E KC,tgs [ID C ||AD C ||TS 3 ]

03/06/06 Hofstra University – Network Security Course, CSC290A 30 Overview of Kerberos

03/06/06 Hofstra University – Network Security Course, CSC290A 31 Kerberos Realms A realm is a collect of clients and servers under single administration such that Kerberos server has the user ID and hashed password of all participating users in its database (all users registered with Kerberos) Kerberos server shares a secret key with each server (all servers registered with Kerberos)

03/06/06 Hofstra University – Network Security Course, CSC290A 32 Kerberos Realms Users in one realm may need access to servers in another realm Kerberos server in each interoperating realm shares a secret key with the server in the other realm (Kerberos servers are registered with each other) The Kerberos server in one realm must trust the Kerberos server in the other realm to authenticate its users

03/06/06 Hofstra University – Network Security Course, CSC290A 33 Requesting Service In Another Realm

03/06/06 Hofstra University – Network Security Course, CSC290A 34 Kerberos Realms Doesn’t scale well to many realms Given N realms, there must be N(N-1)/2 secure key exchanges between each of the Kerberos servers

03/06/06 Hofstra University – Network Security Course, CSC290A 35 Kerberos Version 5 Specified in RFC 1510 – 1993 Does not depend on DES - can use any encryption technique Arbitrary ticket lifetime – start and end time Authentication forwarding Interrealm authentication – eliminates N 2 order of K-to-K relationships

03/06/06 Hofstra University – Network Security Course, CSC290A 36 Kerberos Version 5 Number of new improvements: Session keys – client and server can negotiate a subsession key, used only for one connection Password attacks – preauthentication mechanism Ticket flags – expanded functionality

03/06/06 Hofstra University – Network Security Course, CSC290A 37 Not Too Shabby, Huh!

03/06/06 Hofstra University – Network Security Course, CSC290A 38 X.509 Authentication Service X.509 is part of X.500 series which defines a directory service 1988, V2-1993, V Based on public-key cryptography and digital signatures Defines a framework for the provision of authentication services Repository of public key certificates Used in S/MIME, IPSec, SSL and SET

03/06/06 Hofstra University – Network Security Course, CSC290A 39 Certificates Each certificate contains the public key of a user and is signed with the private key of a trusted certification authority A certificate is associated with each user It’s the heart of the X.509 scheme

03/06/06 Hofstra University – Network Security Course, CSC290A 40 X.509 Formats unique within CA CA who signed it name of user hash code of other fields encrypted with CA’s private key

03/06/06 Hofstra University – Network Security Course, CSC290A 41 Certificate Notation CA > = CA {V, SN, AI, CA, T A, A, A P } certificate of user A issued by certification authority CA Y{I} = the signing of I by Y encrypted hash code

03/06/06 Hofstra University – Network Security Course, CSC290A 42 Certificate Characteristics If you have the public key of the CA, you can recover the user public key that was certified Only the certificate authority can modify the certificate Placed in a directory without special protection

03/06/06 Hofstra University – Network Security Course, CSC290A 43 Certificate Characteristics If all users subscribe to the same CA, then there is common trust of that CA User can transmit his certificate directly to others Assured messages are secure from eavesdropping and unforgeable Not all users can subscribe to the same CA

03/06/06 Hofstra University – Network Security Course, CSC290A 44 Chain of Certificates CA Hierarchy certificates for each CA are maintained in the directory forward certificate reverse certificates

03/06/06 Hofstra University – Network Security Course, CSC290A 45 Revocation of Certificates Certificates have a period of validity Certificates can also be revoked because: user’s key is compromised user no longer certified by CA CA’s certificate is assumed to be compromised CA maintains a list of revoked certificates and post it on the directory

03/06/06 Hofstra University – Network Security Course, CSC290A 46 Certificate Revocation List (CRL)

03/06/06 Hofstra University – Network Security Course, CSC290A 47 Authentication Procedures X.509 includes three authentication procedures making use of public key signatures Intended for a variety of applications Assumes two parties know each other’s public key

03/06/06 Hofstra University – Network Security Course, CSC290A 48 One Way Authentication Establishes the identity (and only the identity) of A and that the message was generated by A The message was intended for B Establishes the integrity and originality of the message; presents credentials A{t A, r A, B, sgnData, E KUB [K ab ]} A B timestamp – prevents delayed delivery nonce – detect replay identity of B convey information session key

03/06/06 Hofstra University – Network Security Course, CSC290A 49 Two Way Authentication Establishes the identity of B and that the reply message was generated by B The message was intended for A Establishes the integrity and originality of the reply Both parties verify the identity of the other A{t A, r A, B, sgnData, E KUB [K ab ]} A B nonce from A – validates reply B{t B, r B, A, r A, sgnData, E KUA [K ba ]}

03/06/06 Hofstra University – Network Security Course, CSC290A 50 Three Way Authentication Final message from A to B is included, with a signed copy of the nonce r B No need for timestamps; each sides echoes back a nonce to prevent replay Used when no synchronized clocks available A{t A, r A, B, sgnData, E KUB [K ab ]} A B B{t B, r B, A, r A, sgnData, E KUA [K ba ]} A{r B }

03/06/06 Hofstra University – Network Security Course, CSC290A 51 X.509 Version 3 Requirements Subject field needs to convey more information about the key owner Subject field needs more info for applications: IP address, URL Indicate security policy information (IPSec) Set constraints on certificate applicability – limit damage from faulty CA Identify separately different keys used by the same owner at different times – key life cycle management

03/06/06 Hofstra University – Network Security Course, CSC290A 52 X.509 Version 3 Extensions Added optional extensions rather than fixed fields {extension id, criticality indicator, extension value} Three main categories: Key and policy information – EDI only Certificate subject and issuer attributes – alternative names Certification Path Constraints - restrictions

03/06/06 Hofstra University – Network Security Course, CSC290A 53 Important URLs Information about Kerberos, including the FAQs, papers and documents and pointers to commercial product sites Information from the IETF about X One of the leading commercial vendors of X Good source of info on PKI and other crypto subjects

03/06/06 Hofstra University – Network Security Course, CSC290A 54 Important URLs Prime Number research, records, and resources. Checkout “Prime Curios!” - a collection of curiosities, wonders and trivia related to prime numbers. Lots of material on elliptic curve cryptography.

03/06/06 Hofstra University – Network Security Course, CSC290A 55 Homework Read Chapter Four

03/06/06 Hofstra University – Network Security Course, CSC290A 56 No Class Next Week!!! I'll be out of town Limited access to Next Class is March 20th But in the meantime...

03/06/06 Hofstra University – Network Security Course, CSC290A 57 Term Paper Due Monday, May 1 Should be about 6-8 pages (9 or 10 font, single space) Suggested template: orm.doc orm.doc This should be an opportunity to explore a selected area Send me your topic by March 20th

03/06/06 Hofstra University – Network Security Course, CSC290A 58 Term Paper Possible topics: Elliptic Curve Cryptography Cyber Forensics Digital Rights Management Security In Software Development Virtualization & Security Legal, Ethical Issues Around Security & Privacy Wireless/Mobile Security Phishing/Identity Theft Distributed DoS Attacks Electronic Cash Anti-Virus Software Any Topic Discussed In Class Programming Project Can Be Substituted If You Want

03/06/06 Hofstra University – Network Security Course, CSC290A 59 Assignment 1 Pick sun.com and one other site. Using whois and ARIN, get as much information as possible about the IP addressing, the DNS and the site (location, owner, etc.)sun.com whoisARIN Problems (p83): 3.5,c and 3.6 Due next class March 6 (TODAY!)

03/06/06 Hofstra University – Network Security Course, CSC290A 60 See You In Two Weeks Happy St. Patrick's Day!