Module: Authentication. Professor Trent Jaeger Fall 2010. CSE543 - Introduction to Computer and Network Security



Similar documents
CIS 433/533 - Computer and Network Security Authentication

CSC Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity

Authentication Types. Password-based Authentication. Off-Line Password Guessing

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

How To Use Kerberos

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Kerberos and Single Sign-On with HTTP

Authentication Applications

TOPIC HIERARCHY. Distributed Environment. Security. Kerberos

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Authentication Application

ARCHIVED PUBLICATION

Kerberos. Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, BC. From Italy (?).

Contents. Identity Assurance (Scott Rea Dartmouth College) IdM Workshop, Brisbane Australia, August 19, 2008

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

Security+ Guide to Network Security Fundamentals, Third Edition Chapter 8 Authentication

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

Introduction to Computer Security

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

Kerberos: An Authentication Service for Computer Networks by Clifford Neuman and Theodore Ts o. Presented by: Smitha Sundareswaran Chi Tsong Su

Chapter 15 User Authentication

Client Server Registration Protocol

Security Issues in Web Programming. Robert M. Dondero, Ph.D. Princeton University

Chapter 16: Authentication in Distributed System

Cryptography and Network Security

Secure Remote Password (SRP) Authentication

WHITE PAPER Usher Mobile Identity Platform

Authentication Applications

: Network Security. Name of Staff: Anusha Linda Kostka Department : MSc SE/CT/IT

Security+ Guide to Network Security Fundamentals, Fourth Edition. Chapter 10 Authentication and Account Management

Kerberos and Single Sign On with HTTP

Transport Layer Security Protocols

4.2: Kerberos Kerberos V4 Kerberos V5. Chapter 5: Security Concepts for Networks. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Multi-factor authentication

CSCI 454/554 Computer and Network Security. Final Exam Review

Key Management (Distribution and Certification) (1)

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

IceWarp Server - SSO (Single Sign-On)

Institute of Computer Technology - Vienna University of Technology. L96 - SSL, PGP, Kerberos

Lecture 10 - Authentication

Kerberos. Guilin Wang. School of Computer Science, University of Birmingham

Architecture of Enterprise Applications III Single Sign-On

Leverage Active Directory with Kerberos to Eliminate HTTP Password

Single sign-on enabled OpenCms

Security. Friends and Enemies. Overview Plaintext Cryptography functions. Secret Key (DES) Symmetric Key

Security: Focus of Control. Authentication

The Essentials Series: Enterprise Identity and Access Management. Authentication. sponsored by. by Richard Siddaway

Authentication Protocols

Authentication Tokens

Attestation and Authentication Protocols Using the TPM

Secure Authentication and Session. State Management for Web Services

TELE 301 Network Management. Lecture 16: Remote Terminal Services

Cryptography and Network Security Digital Signature

Digital Identity Management

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

Chapter 9 Key Management 9.1 Distribution of Public Keys Public Announcement of Public Keys Publicly Available Directory

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Elements of Applied Cryptography. Key Distribution. Trusted third party: KDC, KTC Diffie-Helmann protocol The man-in-the-middle attack

Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia Pedro Borges

Kerberos. Login via Password. Keys in Kerberos

Enhancing Web Application Security

WHITE PAPER. Smart Card Authentication for J2EE Applications Using Vintela SSO for Java (VSJ)

Network Security Protocols

Applying Cryptography as a Service to Mobile Applications

Part 2 D(E(M, K),K ) E(M, K) E(M, K) Plaintext M. Plaintext M. Decrypt with private key. Encrypt with public key. Ciphertext

User Identification and Authentication Concepts

mod_auth_pubtkt a pragmatic Web Single Sign-On solution by Manuel Kasper, Monzoon Networks AG mkasper@monzoon.net

CTS2134 Introduction to Networking. Module Network Security

Is your data safe out there? -A white Paper on Online Security

CS 161 Computer Security Spring 2010 Paxson/Wagner MT2

Single Sign-On for Kerberized Linux and UNIX Applications

Using Foundstone CookieDigger to Analyze Web Session Management

10.2 World Wide Web Security S-HTTP (secure hypertext transfer protocol) SEA (security extension architecture)

OpenHRE Security Architecture. (DRAFT v0.5)

Using etoken for SSL Web Authentication. SSL V3.0 Overview

HOBCOM and HOBLink J-Term

User Authentication Guidance for IT Systems

Enterprise Identity Management

Kerberos authentication made easy on OpenVMS

Three attacks in SSL protocol and their solutions

1. a. Define the properties of a one-way hash function. (6 marks)

True False questions (25 points + 5 points extra credit)

The increasing popularity of mobile devices is rapidly changing how and where we

Name: 1. CSE331: Introduction to Networks and Security Fall 2003 Dec. 12, /14 2 /16 3 /16 4 /10 5 /14 6 /5 7 /5 8 /20 9 /35.

Q: Why security protocols?

Midterm 2 exam solutions. Please do not read or discuss these solutions in the exam room while others are still taking the exam.

Key Management and Distribution

Transcription:

CSE543 - Introduction to Computer and Network Security Module: Authentication Professor Trent Jaeger Fall 2010 1

What is Authentication? Short answer: establishes identity Answers the question: To whom am I speaking? Long answer: evaluates the authenticity of identity proving credentials Credential is proof of identity Evaluation process that assesses the correctness of the association between credential and claimed identity for some purpose under some policy (what constitutes a good cred.?) 2

Why authentication? Well, we live in a world of rights, permissions, and duties? Authentication establishes our identity so that we can obtain the set of rights E.g., we establish our identity with Tiffany s by providing a valid credit card which gives us rights to purchase goods ~ physical authentication system Q: How does this relate to security? 3

Why authentication (cont.)? Same in online world, just different constraints Vendor/customer are not physically co-located, so we must find other ways of providing identity e.g., by providing credit card number ~ electronic authentication system Risks (for customer and vendor) are different Q: How so? Computer security is crucially dependent on the proper design, management, and application of authentication systems. 4

What is Identity? That which gives you access which is largely determined by context We all have lots of identities Pseudo-identities Really, determined by who is evaluating credential Driver s License, Passport, SSN prove Credit cards prove Signature proves Password proves Voice proves Exercise: Give an example of bad mapping between identity and the purpose for which it was used. 5

Credentials are evidence used to prove identity Credentials can be Something I am Something I have Something I know 6

Something you know Passport number, mothers maiden name, last 4 digits of your social security, credit card number Passwords and pass-phrases Note: passwords are generally pretty weak University of Michigan: 5% of passwords were goblue Passwords used in more than one place Not just because bad ones selected: If you can remember it, then a computer can guess it Computers can often guess very quickly Easy to mount offline attacks Easy countermeasures for online attacks 7

Salt ing passwords Suppose you want to avoid a offline dictionary attack bad guy precomputing popular passwords and looking at the password file A salt is a random number added to the password differentiate passwords when stored in /etc/password salt 1,h(salt 1, pw 1 ) salt i,h(salt 2, pw 2 ) salt i,h(salt 3, pw 3 ) consequence: guesses each password independently... salt n,h(salt n, pw n ) 8

A petard... The rule of seven plus or minus two. George Miller observed in 1956 that most humans can remember about 5-9 things more or less at once. Thus is a kind of maximal entropy that one can hold in your head. This limits the complexity of the passwords you can securely use, i.e., not write on a sheet of paper. A perfectly random 8-char password has less entropy than a 56-bit key. Implication? 9

A question? Is there going to come a day where all passwords are useless? Suppose I can remember 16 bytes of entropy (possible?) Won t there come a day when all passwords are useless? Moore s law and its corollaries? 10

Answer: no Nope, you just need to make the process of checking passwords more expensive. For example, you can repeat the salted hash many times... Linear cost speedup? salt i,h 100 (salt i, pw i ) 11

Something your have Tokens (transponders, ) Speedpass, EZ-pass SecureID Smartcards Unpowered processors Small NV storage Tamper resistant Digital Certificates (used by Websites to authenticate themselves to customers) More on this later 12

A (simplified) sample token device A one-time password system that essentially uses a hash chain as authenticators. For seed (S) and chain length (l), epoch length (x) Tamperproof token encodes S in firmware pw i = h l i (S) Device display shows password for epoch i Time synchronization allows authentication server to know what i is expected, and authenticate the user. Note: somebody can see your token display at some time but learn nothing useful for later periods. 13

Something your are Biometrics measure some physical characteristic Fingerprint, face recognition, retina scanners, voice, signature, DNA Can be extremely accurate and fast Active biometrics authenticate Passive biometrics recognize Issues with biometrics? Revocation lost fingerprint? fuzzy credential, e.g., your face changes based on mood... Great for physical security, not feasible for on-line systems 14

Biometrics Example A fingerprint biometric device (of several) record the conductivity of the surface of your finger to build a map of the ridges scanned map converted into a graph by looking for landmarks, e.g., ridges, cores,... 15

Fingerprint Biometrics (cont.) Graph is compared to database of authentic identities Graph is same, the person deemed authentic This is a variant of the graph isomorphism problem Problem: what does it mean to be the same enough rotation imperfect contact finger damage Fundamental Problem: False accept vs. false reject rates? 16

Web Authentication Authentication is a bi-directional process Client Server Mutual authentication Several standard authentication tools Basic (client) Digest (client) Secure Socket Layer (server, mutual) Cookies (indirect, persistent) Q: Are cookies good credentials? 17

Basic Authentication CLIENT GET /protected/index.html HTTP/1.0 CLIENT HTTP/1.0 401 Unauthorized WWW-Authenticate: Basic realm= Private GET /protected/index.html HTTP/1.0 Authorization: Basic JA87JKAs3NbBDs CLIENT 18

Setting up Basic auth in Apache File in directory to protect (.htacess) AuthType Basic AuthName Patrick s directories (User ID=mcdaniel)" AuthUserFile /usr/mcdaniel/www-etc/.htpw1 AuthGroupFile /dev/null require valid-user In /usr/mcdaniel/www-etc/.htpw1 mcdaniel:l7fwweqjyzmno generated using htpasswd program Can use different.htaccess files for different directories 19

Basic Authentication Problems Passwords easy to intercept Passwords easy to guess Just base-64 encoded Passwords easy to share No server authentication Easy to fool client into sending password to malicious server One intercepted password gives adversary access to many pages/documents 20

Digest Authentication CLIENT CLIENT GET /protected/index.html HTTP/1.1 HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm= Private nonce= 98bdc1f9f017.. GET /protected/index.html HTTP/1.1 Authorization: Digest username= lstein realm= Private nonce= 98bdc1f9f017.. response= 5ccc069c4.. CLIENT 21

Challenge/Response Challenge nonce is a one time random string/value nonce = H(IP address : timestamp : server secret) Response: challenge hashed with uname & password response = H(H(name : realm : password) : nonce : H(request)) Server-specific implementation options One-time nonces Time-stamped nonces Method authentication digests 22

Advantages of Digest over Basic Cleartext password never transmitted across network Cleartext password never stored on server Replay attacks difficult Intercepted response only valid for a single URL Shared disadvantages Vulnerable to man-in-the-middle attacks Document itself can be sniffed 23

Kerberos History: from UNIX to Networks (late 80s) Solves: password eavesdropping Online authentication Variant of Needham-Schroeder protocol Easy application integration API First single sign-on system (SSO) Genesis: rsh, rcp authentication via assertion Most widely used (non-web) centralized password system in existence (and lately only..) Now: part of Windows 2K/XP/Vista network authentication Old Windows authentication was a cruel joke. 24

An aside Authentication Assessing identity of users By using credentials Authorization Determining if users have the right to perform requested action (e.g., write a file, query a database, etc.) Kerberos authenticates users, but does not perform any authorization functions beyond identify user as part of Realm Typically done by application. Q: Do you use any Kerberized programs? How do you know? 25

The setup The players Principal - person being authenticated Service (verifier) - entity requiring authentication (e.g, AFS) Key Distribution Center (KDC) Trusted third party for key distribution Each principal and service has a Kerberos password known to KDC, which is munged to make a password ke, e.g., k A Ticket granting server Server granting transient authentication The objectives Authenticate Alice (Principal) to Bob (Service) Negotiate a symmetric (secret) session key k AB 26

The protocol A two-phase process 1. User authentication/obtain session key (and ticket granting ticket) key from Key Distribution Center 2. Authenticate Service/obtain session key for communication with service Setup Every user and service get certified and assigns password 27

A Kerberos Ticket A kerberos ticket is a token that Alice is the only on that can open it Contains a session key for Alice/Bob (K AB ) Contains inside it a token that can only be opened by Bob Bob s Ticket contains Alice s identity The session key (K AB ) Ticket (K AB ) Ticket (K AB ) Locked by K B Locked by K A Q: What if issuing service is not trusted? 28

Phase 1 (obtaining a TGT) Time exp - time of expiration n - nonce (random, one-use value: e.g., timestamp) 1 [A,TGS,Time exp,n] Alice 2 KDC E(k A,[k A,TGS,TGS,Time exp,n]),e(k TGS,[A, k A,TGS, Timeexp],) TGT 29

Phase 1 (authentication/key dist.) [B,Time exp,n,e(k A,TGS,[B,Time exp,n])], E(K TGS,[A,k A,TGS,Timeexp])] Alice 3 1 E(k A,TGS,[k A,B,B,Time exp,n]), E(k B,[A,k A,B,Timeexp])] 2 TGS E(k A,B,[A,Timeexp,n]), E(k B,[A,k A,B,Timeexp])] Bob Authenticator 30

Cross-Realm Kerberos Extend philosophy to more servers Obtain ticket from TGS for foreign Realm Supply to TGS of foreign Realm Rinse and repeat as necessary Michigan Purdue Penn St. Ohio St. Pitt There is no problem so hard in computer science that it cannot be solved by another layer of indirection. David Wheeler, Cambridge University (circa 1950) 31

Kerberos Reality V4 was supposed to be replaced by V5 But wasn t because interface was ugly, complicated, and encoding was infuriating Assumes trusted path between user and Kerberos Widely used in UNIX domains Robust and stable implementation Problem: trust ain t transitive, so not so good for large collections of autonomous enterprises 32