Identification and Authentication Daniel Bosk Department of - - PowerPoint PPT Presentation

identification and authentication
SMART_READER_LITE
LIVE PREVIEW

Identification and Authentication Daniel Bosk Department of - - PowerPoint PPT Presentation

Introduction Bootstrapping Authenticating Securing References Identification and Authentication Daniel Bosk Department of Information and Communication Systems, Mid Sweden University, Sundsvall 14th March 2019 Daniel Bosk MIUN


slide-1
SLIDE 1

Introduction Bootstrapping Authenticating Securing References

Identification and Authentication

Daniel Bosk

Department of Information and Communication Systems, Mid Sweden University, Sundsvall

14th March 2019

Daniel Bosk MIUN Authentication 1

slide-2
SLIDE 2

Introduction Bootstrapping Authenticating Securing References

1 Introduction

Identification and Authentication

2 Bootstrapping Authentication

What is bootstrapping? Problems with Bootstrapping Single Sign-On

3 Authenticating

User–machine authentication Multi-factor user-authentication Time of check, time of use Machine–user authentication

4 Securing Authentication

Guessing Passwords The Password File Alternative Approaches Anonymous Credentials

Daniel Bosk MIUN Authentication 2

slide-3
SLIDE 3

Introduction Bootstrapping Authenticating Securing References Identification and Authentication

Definition (Identifier) An identifier is a piece of data that uniquely identifies some entity. Example (Identifiers) An email address identifies a user uniquely in the email system. A username identifies a user in some system. A passport number uniquely identifies a passport issued by a country.

Daniel Bosk MIUN Authentication 3

slide-4
SLIDE 4

Introduction Bootstrapping Authenticating Securing References Identification and Authentication

Definition (Authentication) Some entity claims some attribute of some data. E.g. identity: “identifier X identifies me”. Authentication is about verification. That entity must convince us that its claim is true. Exercise: How can we authenticate . . . . . . the claim of an email address? . . . the claim of a username in some system? . . . the claim of a passport number? . . . the claim of a national identity in some country?

Daniel Bosk MIUN Authentication 4

slide-5
SLIDE 5

Introduction Bootstrapping Authenticating Securing References Identification and Authentication

Definition (Authentication) Some entity claims some attribute of some data. E.g. identity: “identifier X identifies me”. Authentication is about verification. That entity must convince us that its claim is true. Exercise: How can we authenticate . . . . . . the claim of an email address? . . . the claim of a username in some system? . . . the claim of a passport number? . . . the claim of a national identity in some country?

Daniel Bosk MIUN Authentication 4

slide-6
SLIDE 6

Introduction Bootstrapping Authenticating Securing References Identification and Authentication

Example (User authentication) Identification First you enter your username to identify yourself. Authentication Then you enter your password to authenticate that you are truly you. Exercise Why does this work?

Daniel Bosk MIUN Authentication 5

slide-7
SLIDE 7

Introduction Bootstrapping Authenticating Securing References Identification and Authentication

Example (User authentication) Identification First you enter your username to identify yourself. Authentication Then you enter your password to authenticate that you are truly you. Exercise Why does this work?

Daniel Bosk MIUN Authentication 5

slide-8
SLIDE 8

Introduction Bootstrapping Authenticating Securing References

1 Introduction

Identification and Authentication

2 Bootstrapping Authentication

What is bootstrapping? Problems with Bootstrapping Single Sign-On

3 Authenticating

User–machine authentication Multi-factor user-authentication Time of check, time of use Machine–user authentication

4 Securing Authentication

Guessing Passwords The Password File Alternative Approaches Anonymous Credentials

Daniel Bosk MIUN Authentication 6

slide-9
SLIDE 9

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Bootstrapping: A hen-and-egg problem Alice is not registered in our authentication system. We want to register her as a user in our system. How do we know Alice is actually Alice? Since she’s not registered we cannot authenticate her. Exercise Any quick workarounds that comes to mind? When is this a problem and when is it not?

Daniel Bosk MIUN Authentication 7

slide-10
SLIDE 10

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Bootstrapping: A hen-and-egg problem Alice is not registered in our authentication system. We want to register her as a user in our system. How do we know Alice is actually Alice? Since she’s not registered we cannot authenticate her. Exercise Any quick workarounds that comes to mind? When is this a problem and when is it not?

Daniel Bosk MIUN Authentication 7

slide-11
SLIDE 11

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Bootstrapping: A hen-and-egg problem Alice is not registered in our authentication system. We want to register her as a user in our system. How do we know Alice is actually Alice? Since she’s not registered we cannot authenticate her. Exercise Any quick workarounds that comes to mind? When is this a problem and when is it not?

Daniel Bosk MIUN Authentication 7

slide-12
SLIDE 12

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Solution (We don’t care who Alice is) We simply set up authentication when Alice creates the account. Now we can authenticate whoever set up the account. Example This is the solution used by most web services.

Daniel Bosk MIUN Authentication 8

slide-13
SLIDE 13

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Solution (We don’t care who Alice is) We simply set up authentication when Alice creates the account. Now we can authenticate whoever set up the account. Example This is the solution used by most web services.

Daniel Bosk MIUN Authentication 8

slide-14
SLIDE 14

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Solution (We care who Alice actually is) We can require ID checks etc. to set up the authentication mechanisms using a helpdesk. If we have address etc., then we can send the credentials via mail (be it snailmail or email). Example (The university account) This is how your university account was set up.

Daniel Bosk MIUN Authentication 9

slide-15
SLIDE 15

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Solution (We care who Alice actually is) We can require ID checks etc. to set up the authentication mechanisms using a helpdesk. If we have address etc., then we can send the credentials via mail (be it snailmail or email). Example (The university account) This is how your university account was set up.

Daniel Bosk MIUN Authentication 9

slide-16
SLIDE 16

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Solution (We care who Alice actually is) We can require ID checks etc. to set up the authentication mechanisms using a helpdesk. If we have address etc., then we can send the credentials via mail (be it snailmail or email). Example (The university account) This is how your university account was set up.

Daniel Bosk MIUN Authentication 9

slide-17
SLIDE 17

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Exercise How is Alice authenticated when she applies for an ID?

Daniel Bosk MIUN Authentication 10

slide-18
SLIDE 18

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Example (Signal, WhatsApp, . . . ) The identity is a (mobile) phone number. Send a text message with a code. Remark Phone provider can impersonate. Government can impersonate (forcing phone provider).

Daniel Bosk MIUN Authentication 11

slide-19
SLIDE 19

Introduction Bootstrapping Authenticating Securing References What is bootstrapping?

Example (Signal, WhatsApp, . . . ) The identity is a (mobile) phone number. Send a text message with a code. Remark Phone provider can impersonate. Government can impersonate (forcing phone provider).

Daniel Bosk MIUN Authentication 11

slide-20
SLIDE 20

Introduction Bootstrapping Authenticating Securing References Problems with Bootstrapping

1 Attacker intercepts a password on account creation.

User starts bootstrapping. Password is sent to user. Attacker grabs password.

2 Attacker impersonates the legitimate user.

Attacker starts bootstrapping. User remains unaware. Service cannot distinguish attacker and user.

Daniel Bosk MIUN Authentication 12

slide-21
SLIDE 21

Introduction Bootstrapping Authenticating Securing References Problems with Bootstrapping

1 Attacker intercepts a password on account creation.

User starts bootstrapping. Password is sent to user. Attacker grabs password.

2 Attacker impersonates the legitimate user.

Attacker starts bootstrapping. User remains unaware. Service cannot distinguish attacker and user.

Daniel Bosk MIUN Authentication 12

slide-22
SLIDE 22

Introduction Bootstrapping Authenticating Securing References Problems with Bootstrapping

It can be costly to manage. Sometimes it is a continuous process, if the same bootstrapping procedure is also used for recovery from failure. Make sure the system can handle forgotten, lost or aged authentication means.

Daniel Bosk MIUN Authentication 13

slide-23
SLIDE 23

Introduction Bootstrapping Authenticating Securing References Single Sign-On

We could let someone else who has solved the problem already do the authentication for us. This way the user only needs one username and password, and he or she only needs to sign in once. However, this makes the SSO provider a very attractive target. And they are forced to solve our problem anyway. The problem is, now we need to trust them to do it properly . . .

Daniel Bosk MIUN Authentication 14

slide-24
SLIDE 24

Introduction Bootstrapping Authenticating Securing References Single Sign-On

Example (We don’t care who Alice is) We can use Google, Facebook etc. Example (We care who Alice is) We can use e.g. BankID. Remark The SSO-service must have done bootstrapping as rigorously as we would have.

Daniel Bosk MIUN Authentication 15

slide-25
SLIDE 25

Introduction Bootstrapping Authenticating Securing References

1 Introduction

Identification and Authentication

2 Bootstrapping Authentication

What is bootstrapping? Problems with Bootstrapping Single Sign-On

3 Authenticating

User–machine authentication Multi-factor user-authentication Time of check, time of use Machine–user authentication

4 Securing Authentication

Guessing Passwords The Password File Alternative Approaches Anonymous Credentials

Daniel Bosk MIUN Authentication 16

slide-26
SLIDE 26

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Identifiers) Username or User ID The person who opened the account Personal Identification Number (Swe. personnummer, Eng. Social Security Number) Fingerprint Iris scan DNA sequence . . . Exercise Any other methods of user identification that you have encountered?

Daniel Bosk MIUN Authentication 17

slide-27
SLIDE 27

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Identifiers) Username or User ID The person who opened the account Personal Identification Number (Swe. personnummer, Eng. Social Security Number) Fingerprint Iris scan DNA sequence . . . Exercise Any other methods of user identification that you have encountered?

Daniel Bosk MIUN Authentication 17

slide-28
SLIDE 28

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Identifiers) Username or User ID The person who opened the account Personal Identification Number (Swe. personnummer, Eng. Social Security Number) Fingerprint Iris scan DNA sequence . . . Exercise Any other methods of user identification that you have encountered?

Daniel Bosk MIUN Authentication 17

slide-29
SLIDE 29

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Methods for user authentication) Something you know Something you have Where you are Who you are What you do

Daniel Bosk MIUN Authentication 18

slide-30
SLIDE 30

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Methods for user authentication) Something you know Something you have Where you are Who you are What you do

Daniel Bosk MIUN Authentication 18

slide-31
SLIDE 31

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Methods for user authentication) Something you know Something you have Where you are Who you are What you do

Daniel Bosk MIUN Authentication 18

slide-32
SLIDE 32

Introduction Bootstrapping Authenticating Securing References User–machine authentication

Example (Methods for user authentication) Something you know Something you have Where you are Who you are What you do

Daniel Bosk MIUN Authentication 18

slide-33
SLIDE 33

Introduction Bootstrapping Authenticating Securing References Multi-factor user-authentication

Definition (Multi-factor authentication) Combine two or more methods of authentication. Example (Methods for user authentication) Something you know Something you have Where you are Who you are What you do

Daniel Bosk MIUN Authentication 19

slide-34
SLIDE 34

Introduction Bootstrapping Authenticating Securing References Multi-factor user-authentication

Example (Single-factor authentication) Identification Username or similar Authentication Something you know, i.e. a password Example (Multi-factor authentication) Identification Username or similar Authentication Something you know together with something you have, e.g. password and mobile phone

Daniel Bosk MIUN Authentication 20

slide-35
SLIDE 35

Introduction Bootstrapping Authenticating Securing References Multi-factor user-authentication

Example (Single-factor authentication) Identification Username or similar Authentication Something you know, i.e. a password Example (Multi-factor authentication) Identification Username or similar Authentication Something you know together with something you have, e.g. password and mobile phone

Daniel Bosk MIUN Authentication 20

slide-36
SLIDE 36

Introduction Bootstrapping Authenticating Securing References Time of check, time of use

Exercise Whenever we authenticate a user, we do this for a purpose. When does this authentication take place in relation to when we make use of it?

Daniel Bosk MIUN Authentication 21

slide-37
SLIDE 37

Introduction Bootstrapping Authenticating Securing References Time of check, time of use

Example Usually we authenticate a user in the beginning of a session, e.g. at login. Equally often we assume the user is authenticated during the entire session, even when fetching coffee, going by the printer – or even when out to lunch. Who knows what happens when the user is away from the computer, one thing is for sure: the computer will not know the difference!

Daniel Bosk MIUN Authentication 22

slide-38
SLIDE 38

Introduction Bootstrapping Authenticating Securing References Time of check, time of use

Solution This problem can be solved with repeated authentication. We could lock our system, either manually or by time-out. We could also authenticate anew when we need to do something requiring more privileges, and if it has been a while since last time – compare with sudo(8). Remark What we actually need is continuous authentication.

Daniel Bosk MIUN Authentication 23

slide-39
SLIDE 39

Introduction Bootstrapping Authenticating Securing References Time of check, time of use

Solution This problem can be solved with repeated authentication. We could lock our system, either manually or by time-out. We could also authenticate anew when we need to do something requiring more privileges, and if it has been a while since last time – compare with sudo(8). Remark What we actually need is continuous authentication.

Daniel Bosk MIUN Authentication 23

slide-40
SLIDE 40

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Remark The issue we have solved so far is to design means for the system to identify and authenticate different users. We have another important problem to solve too, how does the user know it is the system he or she is authenticating him-

  • r herself to?

Thus enters the problem of spoofing, phising, and social engineering . . .

Daniel Bosk MIUN Authentication 24

slide-41
SLIDE 41

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Definition (Spoofing/Masquerading) Attacker masquerades as authorized. To a system: impersonates authorized user. To a user: impersonates authorized system/UI.

Daniel Bosk MIUN Authentication 25

slide-42
SLIDE 42

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Definition (Phishing) A masquerading attack trying to collect sensitive data. E.g. email from IT department requesting the password. Definition (Social Engineering) The general class of attacks on humans. Exploits fallacies in human psychology. Parent category of phishing. Can be very advanced.

Daniel Bosk MIUN Authentication 26

slide-43
SLIDE 43

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Definition (Phishing) A masquerading attack trying to collect sensitive data. E.g. email from IT department requesting the password. Definition (Social Engineering) The general class of attacks on humans. Exploits fallacies in human psychology. Parent category of phishing. Can be very advanced.

Daniel Bosk MIUN Authentication 26

slide-44
SLIDE 44

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Exercise How can we prevent spoofed interfaces?

Daniel Bosk MIUN Authentication 27

slide-45
SLIDE 45

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Example Show the user the number of failed login attempts. Show the time and location for the last successful login. This allows for detection. Example We also have the trusted path. E.g. Windows uses the Ctrl+Alt+Del to bring up the authentication dialogue upon login. This allows for prevention.

Daniel Bosk MIUN Authentication 28

slide-46
SLIDE 46

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Remark: Problem with social engineering These are attacks on higher levels, e.g. an email or phone call. Difficult to check algorithmically. Example Phone call to helpdesk from a “user” in need. Stressful situation, willingness to help, . . . Example (Solution?) Authenticated phone calls. E.g. display caller ID clearly. “My phone is out of battery, I borrowed a student’s”.

Daniel Bosk MIUN Authentication 29

slide-47
SLIDE 47

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Remark: Problem with social engineering These are attacks on higher levels, e.g. an email or phone call. Difficult to check algorithmically. Example Phone call to helpdesk from a “user” in need. Stressful situation, willingness to help, . . . Example (Solution?) Authenticated phone calls. E.g. display caller ID clearly. “My phone is out of battery, I borrowed a student’s”.

Daniel Bosk MIUN Authentication 29

slide-48
SLIDE 48

Introduction Bootstrapping Authenticating Securing References Machine–user authentication

Solution Educate and train users to spot these attempts. Keep strong policies for recovering from authentication failures. Technological tools and good practices can support users.

Daniel Bosk MIUN Authentication 30

slide-49
SLIDE 49

Introduction Bootstrapping Authenticating Securing References

1 Introduction

Identification and Authentication

2 Bootstrapping Authentication

What is bootstrapping? Problems with Bootstrapping Single Sign-On

3 Authenticating

User–machine authentication Multi-factor user-authentication Time of check, time of use Machine–user authentication

4 Securing Authentication

Guessing Passwords The Password File Alternative Approaches Anonymous Credentials

Daniel Bosk MIUN Authentication 31

slide-50
SLIDE 50

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Guessing passwords is like searching for a needle in a haystack. (Un)fortunately, the needle is placed by a human — not uniformly randomly! This makes guessing easier. Human-chosen passwords will only occupy parts of the password space.

Daniel Bosk MIUN Authentication 32

slide-51
SLIDE 51

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Guessing passwords is like searching for a needle in a haystack. (Un)fortunately, the needle is placed by a human — not uniformly randomly! This makes guessing easier. Human-chosen passwords will only occupy parts of the password space.

Daniel Bosk MIUN Authentication 32

slide-52
SLIDE 52

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

The effort is a spectrum. It ranges from brute-force exhaustive search . . . . . . via “educated guessing” . . . . . . to getting the password from the user directly.

Daniel Bosk MIUN Authentication 33

slide-53
SLIDE 53

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

The effort is a spectrum. It ranges from brute-force exhaustive search . . . . . . via “educated guessing” . . . . . . to getting the password from the user directly.

Daniel Bosk MIUN Authentication 33

slide-54
SLIDE 54

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

The effort is a spectrum. It ranges from brute-force exhaustive search . . . . . . via “educated guessing” . . . . . . to getting the password from the user directly.

Daniel Bosk MIUN Authentication 33

slide-55
SLIDE 55

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Basic guessing) Using dictionaries of words. Adapt to guesses to password policy, if known. . . . Example (Improved guessing) Take grammar into account, depending on the password type [Bon12; BS12].

Daniel Bosk MIUN Authentication 34

slide-56
SLIDE 56

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Basic guessing) Using dictionaries of words. Adapt to guesses to password policy, if known. . . . Example (Improved guessing) Take grammar into account, depending on the password type [Bon12; BS12].

Daniel Bosk MIUN Authentication 34

slide-57
SLIDE 57

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Learn from humans) Use machine learning [Rip; Cas+17; Wei+09]. Train algorithm on leaked password databases. Generate list of password-looking guesses.

Daniel Bosk MIUN Authentication 35

slide-58
SLIDE 58

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Remark This is relevant when the user has chosen a password. In the majority of situations it’s not. Example There are many devices with default passwords. E.g. home routers, . . .

Daniel Bosk MIUN Authentication 36

slide-59
SLIDE 59

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Remark This is relevant when the user has chosen a password. In the majority of situations it’s not. Example There are many devices with default passwords. E.g. home routers, . . .

Daniel Bosk MIUN Authentication 36

slide-60
SLIDE 60

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Remark The problem of default passwords has increased recently. Home routers, web cameras are open to attack. Example (Mirai botnet [Her16]) Botnet infecting primarily surveillance cameras. Attempts default passwords and other vulnerabilities. Managed the largest distributed denial-of-service (DDoS) attack hitherto.

Daniel Bosk MIUN Authentication 37

slide-61
SLIDE 61

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Remark The problem of default passwords has increased recently. Home routers, web cameras are open to attack. Example (Mirai botnet [Her16]) Botnet infecting primarily surveillance cameras. Attempts default passwords and other vulnerabilities. Managed the largest DDoS attack hitherto.

Daniel Bosk MIUN Authentication 37

slide-62
SLIDE 62

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Exercise This is a problem when the authentication mechanism faces the Internet. E.g. home routers where the admin interface only faces the local network should be fine. (The same if we have a white list of addresses allowed access.) What do you think?

Daniel Bosk MIUN Authentication 38

slide-63
SLIDE 63

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Autogenerate passwords) Generate passwords for users. This will likely reduce security by use of post-it notes. Not a problem for a home router.

Daniel Bosk MIUN Authentication 39

slide-64
SLIDE 64

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Password ageing) Let passwords age and expire. Annoying with too short intervals. Will reduce security once users introduce systems to remember their last changed password. Just an expiration date for the generated one, infinite selected by user.

Daniel Bosk MIUN Authentication 40

slide-65
SLIDE 65

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Example (Rate limiting) Remove online guessing by limited login attempts. Introduces the possibility of denial of service.

Daniel Bosk MIUN Authentication 41

slide-66
SLIDE 66

Introduction Bootstrapping Authenticating Securing References Guessing Passwords

Remark: Offline data Consider data which is encrypted with a password. You cannot change a password for data that is already stolen. You cannot limit the number of attempts either. You can just control the guessability of the password.

Daniel Bosk MIUN Authentication 42

slide-67
SLIDE 67

Introduction Bootstrapping Authenticating Securing References The Password File

Exercise We now have data to authenticate users. How do we store this data? What problems do you see?

Daniel Bosk MIUN Authentication 43

slide-68
SLIDE 68

Introduction Bootstrapping Authenticating Securing References The Password File

Example (Password-based authentication) Traditionally, there is a password file (or database). This contains all users’ passwords. If someone copies this data, he or she could impersonate any user in the system.

Daniel Bosk MIUN Authentication 44

slide-69
SLIDE 69

Introduction Bootstrapping Authenticating Securing References The Password File

Example (Password-based authentication) Traditionally, there is a password file (or database). This contains all users’ passwords. If someone copies this data, he or she could impersonate any user in the system.

Daniel Bosk MIUN Authentication 44

slide-70
SLIDE 70

Introduction Bootstrapping Authenticating Securing References The Password File

Solution (Passwords) We want to compare user-entered and stored password. We do an irreversible one-way transformation on both. Then they are still comparable. The preimage cannot be gained from storage. Example Cryptographic hash function h: (Z2)∗ → (Z2)n. On registration, store h(p). User authenticates with p′, check if h(p′) ? = h(p) equals what we stored.

Daniel Bosk MIUN Authentication 45

slide-71
SLIDE 71

Introduction Bootstrapping Authenticating Securing References The Password File

Solution (Passwords) We want to compare user-entered and stored password. We do an irreversible one-way transformation on both. Then they are still comparable. The preimage cannot be gained from storage. Example Cryptographic hash function h: (Z2)∗ → (Z2)n. On registration, store h(p). User authenticates with p′, check if h(p′) ? = h(p) equals what we stored.

Daniel Bosk MIUN Authentication 45

slide-72
SLIDE 72

Introduction Bootstrapping Authenticating Securing References The Password File

Remark Consider guessing again. The used password space is small. We only need to evaluate a subset: h: (Z2)m → (Z2)n. With faster computers we can guess a lot. Solution Choose h to be slow to compute. E.g. iterate it over itself 10 000 times. This will slow down guessing attacks.

Daniel Bosk MIUN Authentication 46

slide-73
SLIDE 73

Introduction Bootstrapping Authenticating Securing References The Password File

Remark Consider guessing again. The used password space is small. We only need to evaluate a subset: h: (Z2)m → (Z2)n. With faster computers we can guess a lot. Solution Choose h to be slow to compute. E.g. iterate it over itself 10 000 times. This will slow down guessing attacks.

Daniel Bosk MIUN Authentication 46

slide-74
SLIDE 74

Introduction Bootstrapping Authenticating Securing References The Password File

Remark The password file structure reveals if two users have the same password. Can guess the password for all users at once:

1 Make a guess, compute the hash. 2 Check if it matches any user’s password.

Solution Add a salt: a small random value (e.g. 128 bits) unique for each user. Include this value in the computation of the password hash. Now all hashes will be unique.

Daniel Bosk MIUN Authentication 47

slide-75
SLIDE 75

Introduction Bootstrapping Authenticating Securing References The Password File

Remark The password file structure reveals if two users have the same password. Can guess the password for all users at once:

1 Make a guess, compute the hash. 2 Check if it matches any user’s password.

Solution Add a salt: a small random value (e.g. 128 bits) unique for each user. Include this value in the computation of the password hash. Now all hashes will be unique.

Daniel Bosk MIUN Authentication 47

slide-76
SLIDE 76

Introduction Bootstrapping Authenticating Securing References The Password File

Remark The salt is not a secret, it’s just unique. It can be stored in plain text along with the password hash.

Daniel Bosk MIUN Authentication 48

slide-77
SLIDE 77

Introduction Bootstrapping Authenticating Securing References The Password File

Example bcrypt [PM99] implements all this functionality. It should also be available in most languages and libraries.

Daniel Bosk MIUN Authentication 49

slide-78
SLIDE 78

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Something you . . . ) know (passwords) have (hardware tokens) are (passive biometrics) do (active biometrics) Remark Do you know a private key or do you have one? A password you know. A private key in a hardware token you have. If the key is stored on your disk?

Daniel Bosk MIUN Authentication 50

slide-79
SLIDE 79

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Something you . . . ) know (passwords) have (hardware tokens) are (passive biometrics) do (active biometrics) Remark Do you know a private key or do you have one? A password you know. A private key in a hardware token you have. If the key is stored on your disk?

Daniel Bosk MIUN Authentication 50

slide-80
SLIDE 80

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Passive biometrics) Fingerprint Irises DNA Example (Active biometrics) Typing speed Cursor movement Web surfing behaviour Pressure points in signature

Daniel Bosk MIUN Authentication 51

slide-81
SLIDE 81

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Passive biometrics) Fingerprint Irises DNA Example (Active biometrics) Typing speed Cursor movement Web surfing behaviour Pressure points in signature

Daniel Bosk MIUN Authentication 51

slide-82
SLIDE 82

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Exercise What about something you are (passive biometrics)? When is that more than merely a password?

Daniel Bosk MIUN Authentication 52

slide-83
SLIDE 83

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Fingerprints for iPhones) The iPhone can trust its built-in fingerprint reader. We know that we read an actual finger. We know when we read it, so we have freshness. Example (Fingerprints for web services) Fingerprint reader connected to laptop. Browser scans and sends fingerprint to server. Anyone could send that data, without the reader. We lack freshness guarantees.

Daniel Bosk MIUN Authentication 53

slide-84
SLIDE 84

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Example (Fingerprints for iPhones) The iPhone can trust its built-in fingerprint reader. We know that we read an actual finger. We know when we read it, so we have freshness. Example (Fingerprints for web services) Fingerprint reader connected to laptop. Browser scans and sends fingerprint to server. Anyone could send that data, without the reader. We lack freshness guarantees.

Daniel Bosk MIUN Authentication 53

slide-85
SLIDE 85

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Remark We need freshness. We must store the fingerprint somewhere, to compare. Someone can copy that data. Without freshness they can use it — as a password. Remark Similar for interactive biometrics. Record and replay.

Daniel Bosk MIUN Authentication 54

slide-86
SLIDE 86

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Remark We need freshness. We must store the fingerprint somewhere, to compare. Someone can copy that data. Without freshness they can use it — as a password. Remark Similar for interactive biometrics. Record and replay.

Daniel Bosk MIUN Authentication 54

slide-87
SLIDE 87

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Exercise How can we ensure freshness? What data do we need to store for this? How can we secure that data?

Daniel Bosk MIUN Authentication 55

slide-88
SLIDE 88

Introduction Bootstrapping Authenticating Securing References Alternative Approaches

Solution Freshness is about challenge and response. Password-based authentication: the same challenge all the time. Improvement: random challenge, hard-to-guess response.

Daniel Bosk MIUN Authentication 56

slide-89
SLIDE 89

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Example (Age limits) Bob wants to go see a film in cinema. Bob looks very young so Alice who works there wants to have proof of his age. Show physical ID, reveals name, exact date of birth, . . . Exercise That’s a bit overkill, right? What does Alice actually need to know? In what direction must we move to achieve that?

Daniel Bosk MIUN Authentication 57

slide-90
SLIDE 90

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Example (Age limits) Bob wants to go see a film in cinema. Bob looks very young so Alice who works there wants to have proof of his age. Show physical ID, reveals name, exact date of birth, . . . Exercise That’s a bit overkill, right? What does Alice actually need to know? In what direction must we move to achieve that?

Daniel Bosk MIUN Authentication 57

slide-91
SLIDE 91

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Example (Age limits) Bob wants to go see a film in cinema. Bob looks very young so Alice who works there wants to have proof of his age. Show physical ID, reveals name, exact date of birth, . . . Exercise That’s a bit overkill, right? What does Alice actually need to know? In what direction must we move to achieve that?

Daniel Bosk MIUN Authentication 57

slide-92
SLIDE 92

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

What Alice needs? She must be convinced that Bob is older than 15. How can she learn that?

1 She has known Bob since he was born, so she knows. 2 She can ask someone she trusts who knows Bob is older than

15.

Daniel Bosk MIUN Authentication 58

slide-93
SLIDE 93

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

What Alice needs? She must be convinced that Bob is older than 15. How can she learn that?

1 She has known Bob since he was born, so she knows. 2 She can ask someone she trusts who knows Bob is older than

15.

Daniel Bosk MIUN Authentication 58

slide-94
SLIDE 94

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

What Alice needs? She must be convinced that Bob is older than 15. How can she learn that?

1 She has known Bob since he was born, so she knows. 2 She can ask someone she trusts who knows Bob is older than

15.

Daniel Bosk MIUN Authentication 58

slide-95
SLIDE 95

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

But how can she do that?

1 The trusted person who knows Bob is with Alice. 2 Alice can send a picture to the other person who verifies.

This requires an authenticated channel.

3 The trusted person made a certificate for Bob showing that

he’s older than 15.

Alice must be able to verify the certificate. Bob must bring this certificate with himself everywhere.

Daniel Bosk MIUN Authentication 59

slide-96
SLIDE 96

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

But how can she do that?

1 The trusted person who knows Bob is with Alice. 2 Alice can send a picture to the other person who verifies.

This requires an authenticated channel.

3 The trusted person made a certificate for Bob showing that

he’s older than 15.

Alice must be able to verify the certificate. Bob must bring this certificate with himself everywhere.

Daniel Bosk MIUN Authentication 59

slide-97
SLIDE 97

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

But how can she do that?

1 The trusted person who knows Bob is with Alice. 2 Alice can send a picture to the other person who verifies.

This requires an authenticated channel.

3 The trusted person made a certificate for Bob showing that

he’s older than 15.

Alice must be able to verify the certificate. Bob must bring this certificate with himself everywhere.

Daniel Bosk MIUN Authentication 59

slide-98
SLIDE 98

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Alice interacts with the trusted person Gaah, but Bob doesn’t want the trusted person (his parents) to know he’s at the cinema right now! It’s a small cinema so they’ll know which film he sees if they learn when he’s there. Alice reads and verifies the certificate Phew, she accepted the note from his parents. But now Alice learned all those embarrassing things in there.

And Bob who has a crush on Alice . . .

Daniel Bosk MIUN Authentication 60

slide-99
SLIDE 99

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Alice interacts with the trusted person Gaah, but Bob doesn’t want the trusted person (his parents) to know he’s at the cinema right now! It’s a small cinema so they’ll know which film he sees if they learn when he’s there. Alice reads and verifies the certificate Phew, she accepted the note from his parents. But now Alice learned all those embarrassing things in there.

And Bob who has a crush on Alice . . .

Daniel Bosk MIUN Authentication 60

slide-100
SLIDE 100

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

The idea What if Bob could convince Alice

that he has a certificate saying he’s older than 15, and is signed by someone Alice trusts.

Wouldn’t that be awesome?

Daniel Bosk MIUN Authentication 61

slide-101
SLIDE 101

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

Example (Anonymous Credentials1) Makes heavy use of zero-knowledge proofs of knowledge. Can prove equalities, inequalities, knowledge, ownership, . . . Implementations and approaches: Identity Mixer https://www.research.ibm.com/labs/ zurich/idemix/ U-Prove http://research.microsoft.com/en-us/ projects/u-prove/ AnonPass https://eprint.iacr.org/2013/317 IRMA https://www.irmacard.org/irma/

  • 1J. Camenisch, A. Lehmann and G. Neven. “Electronic Identities Need

Private Credentials”. In: IEEE Security Privacy 10.1 (Jan. 2012), pp. 80–83. ISSN: 1540-7993. DOI: 10.1109/MSP.2012.7. URL: http://ieeexplore. ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6142524.

Daniel Bosk MIUN Authentication 62

slide-102
SLIDE 102

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

[Bon12] Joseph Bonneau. “Guessing human-chosen secrets”. PhD thesis. University of Cambridge, May 2012. URL: http://www.cl.cam.ac.uk/~jcb82/doc/2012- jbonneau-phd_thesis.pdf. [BS12] Joseph Bonneau and Ekaterina Shutova. “Linguistic properties of multi-word passwords”. In: USEC. 2012. URL: http://www.cl.cam.ac.uk/~jcb82/doc/BS12- USEC-passphrase_linguistics.pdf.

Daniel Bosk MIUN Authentication 63

slide-103
SLIDE 103

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

[Cas+17] Claude Castelluccia, Abdelberi Chaabane, Markus Dürmuth and Daniele Perito. When Privacy meets Security: Leveraging personal information for password cracking. 15th Feb. 2017. arXiv: 1304.6584 [cs.CR]. [CLN12]

  • J. Camenisch, A. Lehmann and G. Neven. “Electronic

Identities Need Private Credentials”. In: IEEE Security Privacy 10.1 (Jan. 2012), pp. 80–83. ISSN: 1540-7993. DOI: 10.1109/MSP.2012.7. URL: http: //ieeexplore.ieee.org/xpl/articleDetails. jsp?reload=true&arnumber=6142524.

Daniel Bosk MIUN Authentication 64

slide-104
SLIDE 104

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

[Her16] Ben Herzberg. Breaking Down Mirai: An IoT DDoS Botnet Analysis. Oct. 2016. URL: https://www.incapsula.com/blog/malware- analysis-mirai-ddos-botnet.html (visited on 18/02/2017). [PM99] Niels Provos and David Mazieres. “A Future-Adaptable Password Scheme.”. In: USENIX Annual Technical Conference, FREENIX Track. 1999, pp. 81–91. [Rip] John the Ripper community. John the Ripper bleeding

  • jumbo. URL: https:

//github.com/magnumripper/JohnTheRipper.

Daniel Bosk MIUN Authentication 65

slide-105
SLIDE 105

Introduction Bootstrapping Authenticating Securing References Anonymous Credentials

[Wei+09] Matt Weir, Sudhir Aggarwal, Breno De Medeiros and Bill Glodek. “Password cracking using probabilistic context-free grammars”. In: Security and Privacy, 2009 30th IEEE Symposium on. IEEE. 2009, pp. 391–405.

Daniel Bosk MIUN Authentication 66