authentication and access control - personal web …apkerr/itis6200_03_authen+access... · related...

Post on 26-Sep-2018

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Authentication and Access Control

Related Chapters

• Authentication and Access control:

– CHAPTER 56, Biometrics

– CHAPTER 40, Password-based Authenticated Key Establishment Protocol

– CHAPTER 61, Access Controls

2

• Authentication typically takes place prior to access to data or services being granted

• Organization’s security policy dictates who, when and how (one) should be deemed “authentic”

3

Authentication --- 1st Line of Defense

Authentication in Real Life

• People recognize you based on your appearance or voice • A guard authenticate you by comparing you with the picture

on your badge • A postman gives you your mail because you are in the house • How do we do authentication remotely on computer?

4

Alice (prover)

Bob (verifier)

Eve

Attacks on Authentication

• Eve’s Goal: To impersonate Alice to Bob

• To achieve her goal, Eve the attacker might (In typical order of difficulty): – Protocol Eavesdropping: Eavesdrop on protocol messages

between Alice and Bob

– Verifier Impersonation to Prover: Run the authentication protocol with Alice by impersonating as verifier Bob

– Honest Verifier Knowledge Compromise: Break into Bob’s verification equipment and read all data stored in it

5

Authentication Mechanisms

• What you know

– passwords, personal information

• What you are (biometrics)

– fingerprints, voiceprint, signature dynamics

• What you have

– a key, a ticket, a passport, a smartcard

6

What you know

7

Password

• a password is NOT directly stored in computers. Instead, the output of a one-way hash function, with the password as an input, is stored.

• one-way function y = f(x) – Given x, computing y is easy, that is,

x → y or f(x) is easy.

– Given y only, computing x is infeasible, that is, x ← y or f -1(y) is infeasible.

8

Password & Login (Local)

• For user i, OS stores (si, vi) in a system file – si is the salt for user i

– vi= f(si,pi)

– f is a 1-way function

– pi is user i’s password

• At login, the user supplies a password, say p’i. The system compares f(si,p’i) with the stored value vi, Login is successful only if f(si,p’i)= vi

9

Dictionary Attacks

10

alice, bob, cat, dog, eddie,

1980april, 9876543210, ……

p f(s,p)=v ? yes

no

Get the next entry

Success! you got the password

What’s given: a hashed password v What to find: a password p and a piece of salt s such that f(s,p)=v

Off-line vs. On-line Password Guessing

• On-line guessing: open a session and type passwords until succeed

– Easy to defeat: ATM will eat your card if you fail 3 times

• Off-line guessing: record some communication between you and the server, go home, and run a dictionary attack

– Hard to defeat

11

Tools of the Trade

12 GPU farm

Password Recovery Tools

• John the Ripper:

– For various operating systems

– http://www.openwall.com/john/

• Cain & Abel

– For Windows

– http://www.oxid.it/cain.html

• Hashcat 13

Rainbow Tables

• Used to recover hashed passwords

• Reduces required computation time

– Plaintext/hash pair is pre-computed

• Reduces required storage resources

• Counter by the use of a salt

– random length noise added to password before hash algorithm is applied

14

Password Management

15

• Threats to password protocols – Passwords are selected by users (people) – Passwords are managed by people: ask him/her directly (I am a sys

admin doing a test...) – Careless users: Write it down and Post It! – Eavesdropping is still one of the major attacks on passwords (over

shoulder?) – Choose the same password for different machines and for different

purposes – A simple Trojan horse program may also run on unattended

machines in a public terminal room

Require Frequent Password Changes?

• Each 90 days change password? Change to same password

• Must change to different value? OK, change to xxx and then change back

• Must be different from previous n passwords? OK, change to garbage n times and then change back

• Not allowed to change password in 2 days? OK, my new password is oldpwd1, oldpwd2…

• System checks weak password? OK, change to a random one and write down and put it on terminal or under keyboard

16

17

Weakness of Passwords

Length Number Fraction of Total

1 55 0.004

2 87 0.006

3 212 0.02

4 449 0.03

5 1260 0.09

6 3035 0.22

7 2917 0.21

8 5772 0.42

Total 13787 1.0

Figure 1. Observed Password Length (from E. Spafford’s paper, 1992)

Password Crackers

• Trying the user’s name, initials, account name, and other relevant personal information (130 different permutations for each user were tried)

• Trying words from various dictionaries

• Trying various permutations on the words from Step 2 (this include making the first letter uppercase or a control character, making the entire words uppercase, reversing the word, changing the letter o to 0, etc.)

• Trying various capitalization permutations on the words from Step 2 that were not considered in Step 3)

18

19

Some Statistics on Passwords

Type of Password Search Size Number of Matches Percentage

User/account name 130 368 2.7%

Character sequences 866 22 0.2%

Numbers 427 9 0.1%

Chinese 392 56 0.4%

Place names 628 82 0.6%

Common names 2239 548 4.0%

Female names 4280 161 1.2%

Male names 2866 140 1.0%

Uncommon names 4955 130 0.9%

Myths & legends 1246 66 0.5%

Shakespearean 473 11 0.1%

Sports terms 238 32 0.2%

20

Some Statistics on Passwords (2)

Type of Password Search Size Number of Matches Percentage

Science fiction 691 59 0.4%

Movies and actors 99 12 0.1%

Cartoons 92 9 0.1%

Famous people 290 55 0.4%

Phrases and patterns 933 253 1.8%

Surnames 33 9 0.1%

Biology 58 1 0.0%

System dictionary 19683 1027 7.4%

Machine names 9018 132 1.0%

Mnemonics 14 2 0.0%

King James bible 7525 83 0.6%

Miscellaneous 3211 54 0.4%

Yiddish words 56 0 0.0%

Asteroids 2407 19 0.1%

TOTAL 62727 3340 24.2%

Passwords cracked from a sample set of 13797 accounts (from Klein’s paper)

How Many Passwords?

21

Work Internal network

Windows NT

Unix

External network

Windows NT/ Unix

Mail server

Laptop

Lab computers

ID badge

Door access devices

Home

Bank

ATM card

Spouse’s ATM card

Telephone access

Telephone

Calling cards : At&T/Bell south

Internet

Dial-in access

Airline booking system

Alarm system

Password Cost too High

• 20-50% of corporate help desk calls are password related

– 24/7 help desk support costs about $150/yr per user

• At the NY times web site, about 1,000 people per week forgot their passwords

• Lost productivity from password lockout

• Cost of computer incident responses

22

Insecurity of Password

• Common hacker tools can typically guess 30% or more of the passwords on a network

• computer crime and security survey (2000) – $266M in loss reported by 273 organizations

– 90% of respondents detected computer security breaches in previous 12 months

– 71% detected unauthorized access by insiders

– 25% detected system penetration from outsiders

23

Password manager

• Stored locally – KeePass/KeePassX

• Open source, Keepass.info • All platforms

– Windows, Linux, Mac OSX, iOS, Android – PalmOS, PocketPC, etc

– Firefox password manager – 1password plugin

• Stored in cloud – LastPass

• Password store is encrypted locally and then uploaded to the cloud (LastPass.com) for cross-platform mobility

• Need 2 pieces of software: an app on host and a browser plugin • Closed source

• From many commercial vendors

24

What you are (Biomertics)

25

What You Are: Biometric

• Use characteristics of human body

• Recognition vs. verification

• False acceptance rate

• False rejection rate – One try? Two tries ?

• Privacy issue ! – One’s identity is chipped away at every biometric

authentication

26

27

Biometrics

DNA

Key stroke dynamics

Signature (and dynamics)

Gait

• BioAPI Consortium – www.bioapi.org

• Biometric Consortium – www.biometrics.org

• Biometrics.gov

• biometrics.dod.mil

• NIST – fingerprint.nist.gov

– face.nist.gov

– iris.nist.gov

– mbark.nist.gov

– Biometric Evaluations

– Biometric Web Services

28

Growing Interest

Biometric System Architecture

• Common subsystems in all biometric systems

– Data capture

– Signal processing

– Matching

– Data storage

– Decision

• Adaptation subsystem is present in some systems but not others

Biometric Preparation

• Enrollment

– A sample of biometric traits is taken, processed by a computer, and stored for later comparison

• Template

– A mathematical representation/model of biometric data stored during the enrollment process

31

Enrollment

32

Biometric Authentication

• Verification mode

– The biometric system matches a person’s claimed identity to his or her previously enrolled pattern, One-to-One

• Identification mode

– The biometric system identifies a person from the entire enrolled population by searching a database for a match, One to Many

33

Verification Mode

34

Identification Mode

35

Biometric Metrics

• False Acceptance Rate (FAR) – The percentage of impostors wrongly matched

• False Rejection Rate (FRR) – The percentage of valid users wrongly rejected

• Equal Error Rate (EER) – The false match rate (or FAR) equals the false non-match rate (or FRR)

• Threshold – Typically a numerical setting used by a biometric system to adjust the

FAR and FRR

36

37

Fingerprint Reader

38

Extracting Unique Features

39

Iris & Retina

40

Iris Recognition

Illustration: BBC

Retinal Scans

• Match retinal vascular pattern • High false rejection rate (one try) • False acceptance rate is

very low (close to 0) • Laser-scanning • Attacks

– False eyes, contact lenses, eye transplants

• Fast, very small storage requirements • Very stable biometric (affected by some diseases)

41

Hand Geometry

• Low false rejection/acceptance rates (0.2% on one try)

• Relatively fast, very low storage requirements

• Used at JFK airport by INS (with swipe cards)

42

Voice Recognition

• Fixed phase

– Tape recorder attack

• Challenge response phrase

– Unreliable

• Background noise,

• cold/sore throat makes it difficult to use

• Can be used over the phone

43

Hand Signatures—Static Features • Maximum distance between the highest and

lowest points

• Standard deviation of – x/(change in x),

– y/(change in y)

• ((x|y)(min|max)-(x|y)(0|end))/change in (x|y)

• Initial direction

44

Hand Signatures—Dynamic Features

• Maximum forward velocity • Where and when in the signature max velocity occurs • First time instance of v = 0 • Average velocity over x and over y • Average writing speed • Number of pen ups and downs • Time of second pen down • Direction at first pen down, first pen up • Total dots recorded • Duration of negative x and y velocities • Duration of positive x and y velocities

45

46

Facial Recognition

Illustration: NIH

48

Vulnerabilities of Biometric Authentication (1/4)

1

5

8

7

6

4

3

2

Vulnerabilities of Biometric Authentication (2/4)

1. Attack on the biometric sensor with mockups or dummies. A reproduction of a biometric trait is presented as input to the system.

2. Replay attack. A recorded signal (containing a previously intercepted signal) is replayed to the system, bypassing the biometric sensor.

3. Attack on the feature extractor (signal processing). The feature extractor is forced, e.g., by Trojan horse, to oppress single features of a biometric trait, or to produce altered values than those read by the biometric sensor.

49

Vulnerabilities of Biometric Authentication (3/4)

4. Tampered feature representation. Features extracted from the sensor input are replaced by a different (fraudulent) feature set. The stages of feature extraction and matching are often inseparable, and the attack is complex. However, if the extracted feature set is sent to a remote matcher, e.g., over the Internet, the threat is real.

4. Attack on the matcher. The matcher is forced, e.g., by Trojan horse, to produce high or low matching score, in order to allow or deny access to an individual.

50

Vulnerabilities of Biometric Authentication (3/3)

6. Attack on stored biometric templates. Templates stored in a biometric database (local, remote, distributed) are added, modified or deleted.

7. Tampered template representation. See 4. (Insider attack)

8. Attack on the decision end point. If the final matching decision is manipulated by the attacker, the authentication system is disabled. By overriding the final matching decision, the biometric system is rendered useless and the biometric data irrelevant.

51

52

53

Biometric maybe Erased (1/2)

9.29.2014

• The cops in Ohio did not know it when they struggled to fingerprint her, but their prisoner would prove to be a mystery woman who would seem to outdo Dillinger.

• After what one cop called “a heck of a fuss,” they finally managed to print her. They were stunned by the result.

• “There’s nothing there,” a cop announced.

• The prisoner had somehow managed to obliterate every identifying swirl on the tips of her fingers and every line on her palms, something none of the cops had ever seen before.

• Back in 1933, the infamous “Public Enemy No. 1,” John Dillinger, had tried to burn off his fingerprints with acid prior to being held in the Allen County jail, the same lock-up in the same small town, Lima, where the mystery woman was now behind bars. But he had not succeeded in erasing all the ridges.

54

Biometric maybe Erased (2/2)

What you have

55

Authentications Tokens • Examples

– Magnetic/memory/cards – Key used to unlock your key – Credit card with picture or signature on it – Smart cards

• Challenge/response • Mitigates Trojan horse

• Advantages over password – Not trivial to reproduce – Hold a secret larger with larger entropy/randomness

• Disadvantages – Requires custom hardware/software – Can be lost or stolen (supplied with a PIN) – May not be secure against eavesdrop

56

• Cryptographic calculator. – RSA DSI’s secureID (one time

password)

– Sharing a key with server

– hashed time stamps (requiring clocks be in sync)

– Tamper resistance

57

Tokens/Portable Devices

Authentication over Networks

58

59

Classical Centralized System

Mainframe

Terminals

60

Distributed, Interconnected Systems

61

Peter Steiner The New Yorker

July 5, 1993

End-to-End Authentication

• Need end-to-end authentication which is safe from

– at least passive wiretapping, and

– active wiretapping for higher assurance

• More generally, need two way end-to-end authentication

62

Friend-and-Foe using shared secret

63

Alice

Bo

b

I am Alice

Challenge R AESKAB

(R)

Weakness:

•Authentication not mutual

•If this is the entire protocol, hijack/MITM attacks

•Off-line password guessing attack

•Some one read the database of Bob’s machine could mount an impersonation attack

Capability Based Authentication

• CAPTCHA --- Completely Automated Public Turing Test to Tell Computers and Humans Apart

• A CAPTCHA program

– Protects a web site against automatic software bots by generating & grading tests that humans can pass but computer programs cannot

64

More CAPTCHA Examples

65

• Original Turing Test • Automated Turing Test

66

Turing Test

A B

Which one is a computer ?

Which one is a computer ?

A B

CAPTCHA Killer

• Automatically solve a (weak) CAPTCHA puzzle

– defeat a weak CAPTCHA system

• Good

– Help accessibility of the web to visually-impaired

• Bad

– Let bots by-pass CAPTCHA

67

The Power of the Masses

• Did you know that every time you use reCAPTCHA, you are helping Google digitize printed materials, which may bring in billion$ more for Google in future ?

– One of the 2 words is a word hard to recognize by OCR software

– Out of the 2 words, the reCAPTCHA software will check the correctness of the one not related to OCR

– Both words are distorted & presented in random order

68

• Use 2 or more means to authenticate

– (Student ID + drivers license)

– Password + one time token

– Password + thumb prints

– Password + digital signature

– Password + out-of-band confirmation such as phone call

69

Multi-factor Authentication

OTHER AUTHENTICATION SYSTEMS

70

Kerberos

• Secure method for authenticating a request for service in a network

• User requests an encrypted “ticket” from an authentication process

• Ticket used to request service from a particular server

• User’s password does not pass through the network

71

Basic Kerberos (simplified)

72

1 2

authentication service

client 3 4

server

1. client-name, server-name, expiring-time, random-num.

2. AESKc(Kc,v, expiring-time,random-num.,...), AESKv(Tc,v)

3. AESKc,v(time-stamp, session-key,...), AESKv(Tc,v)

4. AESKc,v(time-stamp), (this step is optional)

where Tc,v = Kc,v, client-name, expiring-time, ...

Kerberos Weaknesses

• Requires the continuous availability of a central server (single point of failure)

– This problem can be mitigated by using multiple Kerberos servers

• Sensitive to clock settings

• The secret keys for all users are stored on the central server, a compromise of that server will jeopardize all users’ secret keys.

73

Challenge-Handshake Authentication Protocol (CHAP)

• Authentication scheme used by Point-to-Point Protocol (PPP) hosts

– Authorize the identity of remote clients

– Substantiation based on a shared secret

– validates the identity of the client by using a three-way handshake.

• Randomly, the authenticator sends another challenge and repeats the steps

74

CHAP authentication scheme Steps

1. Once the link has been established, the authenticator sends a “challenge” message to the peer.

2. The peer then responds with a determined value using a one-way hash function on the challenge and the secret combined.

3. The authenticator checks the response against the expected answer, or calculation of the expected hash value. If the values match, the authenticator acknowledges the authentication. If it does not match, the connection is terminated.

75

Access Control

Access Control

• Who has what access to what resources

• Also called "authorization"

• Considered to be the 2nd line of defense

• Two types of access control

– Logical access control

– Physical access control

77

78

Authentication v.s. Access Control

Authentication

Access control

• Subject

– an active entity (generally an individual, process, or device) that causes information to flow among objects or changes the system state.

• Object

– a passive information system-related entity containing or receiving information.

• Operation – the execution of a function at

the request of a subject upon an object. E.g. read, write, edit, delete, author, copy, execute, and modify.

• Policy – the formal representation of

rules or relationships that define the set of allowable operations a subject may perform upon an object in permitted environment conditions.

79

Basic Terms

Physical Access Control

• Mechanical form

– Akin to entering a locked room with a key

• Biometrics may be used in physical access control

– In authentication too

• When physical access controlled by software

– Should be considered logical access control

80

Logical Access Control

• Access control for systems, applications, processes, and information

• Benefit of logical access control controlled centrally in a system

– User’s physical access permissions can be instantly awarded or revoked

81

82

Evolution of Logical Access Control

Logical Access Control Mechanisms

• Widely used mechanisms

– Discretionary Access Control (DAC)

– Mandatory Access Control (MAC)

– Role-based Access Control (RBAC)

• Emerging

– Attribute-based Access Control (ABAC)

– Hybrid of RBAC and ABAC

83

Discretionary Access Control (DAC)

• Access control in Unix and Linux systems

• Resource owner controls access to resources by setting the file/directory permissions

• Users given access to read, write, execute, or delete files to which they have access

• Permissions can be changed using “chmod” command

84

chmod Command

• Syntax:

– chmod [ugoa] [+-=] [rwxXst] fileORdirectoryName

85

chmod Command (2)

86

Mandatory Access Control (MAC)

• Regulates user access based on organizational security policy

• The policy is a collection of rules that specify what types of access are allowed on a system

• Security-enhanced Linux (SELinux) is an example of MAC implemented on linux kernel

– It is a type enforcement mechanism

– every subject and object is assigned an identifier

87

SELinux Example

• subject can be considered as a user or a process, and the object as a file or a process

• a subject cannot access an object unless the type identifier assigned to the subject is authorized to access the object

• Example: – allow httpd_t httpd_sys_content_t : file

(ioctol read getattr lock);

88

SELinux Example (2)

• The subject http daemon is assigned the type identifier of httpd_t and is granted permissions ioctol, read, gettattr, and lock for any file object assigned in the type identifier httpd_sys_content_t.

89

Role-based Access Control (RBAC)

• Only authorized users can gain access to an environment

• Three principal guidelines of RBAC – Role assignment – Role authorization – Permission authorization

• Subject can employ permission if permission has been approved for subject’s role

• Several additional controls can be applied • Rules can be combined in a hierarchy

90

Roles vs. Users

Role

User1

User2

User3

91

92

Users v.s Roles: Example

Alice Bob Cathy

App Developer

Dave

Sys Admin

Eve

Resource D Resource C Resource A Resource B Resource E

Jan. 2013

93

Users v.s Roles: Example

Alice Bob Clare

App Developer

Dave

Sys Admin

Eve

Resource D Resource C Resource A Resource B Resource E

July 2013

RBAC Model

http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Image%3ARBAC+Core+Diagram

94

RBAC Principal Guidelines

• Role assignment

– A subject can implement permission once the subject has been designated or has allocated a role.

• Role authorization

– A subject’s dynamic role requires permission for the subject. Refer to rule 1, above, which warrants users only inherit roles for which they are sanctioned.

95

RBAC Principal Guidelines (2)

• Permission authorization

– A subject can employ permission merely if the permission is approved for the subject’s functional role. Refer to rules 1 and 2; rule 3 confirms users can only carry out permissions for which they are allowed.

96

Attribute-Based Access Control (ABAC)

• A logical access control methodology where authorization to perform a set of operations is determined by – evaluating attributes associated with the

• subject,

• object,

• requested operations, and, in some cases,

• environment conditions (eg. time, location, threat level, temperature, etc)

against policy, rules, or relationships that describe the allowable operations for a given set of attributes

97

1. Subject requests access to object

2. Access Control Mechanism evaluates a) Rules,

b) Subject Attributes,

c) Object Attributes, and

d) Environment Conditions to compute a decision

3. Subject is given access to object if authorized

98

ABAC Explained

top related