Authentication Flashcards

1
Q

Choosing Strong Passwords - calculation

A

A^L
A:= symbols; eg A-Z - A = 28
L:= length of password

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Dictionary Attacks

A
  • passwords aren’t random & we had leaks
  • space is cheap
  • attacker can precompute hash for the safe passwords(offline)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Salt

A
  • append a random nonce to password before hashing (different for each user)
  • > H(Password_Alice | salt_Alice)
  • store in database salt and hash
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Pepper

A
  • is a secret at users database
  • make impossible with salt to reverse the hash
  • > H(Password_Alice | salt_Alice | pepper)
  • even when salt and hash are leaked; still no problem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hash Stretching

A
  • slow down hash computation

- by doing several hashing rounds

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Password-Based Authentication Schemes

A

C - S: I’m user xxx
S - C: nonce
C - S: HMAC(n, pw)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

DH-EKE – Encrypted Key Exchange based on DH

A
A -> B: A, {X = g^x mod p}_pw
B -> A: {Y = g^y mod p}_pw
for themself: calculate key
B -> A: {N_B}_k
A -> B: {N_B, N_A}_k
B -> A: {N_A}_k
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

SPEKE – Simple Password Exponential Key Exchange

A
A -> B: A, Q_A = f(pw)^x mod p
B -> A: B, Q_B = f(pw)^y mod p
for themself: k = h(Q_B^x mod p) = h(Q_A^y mod p)
B -> A: {N_B}_k
A -> B: {N_B, N_A}_k
B -> A: {N_A}_k
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Time-based token

A
  • server and a person share same key
  • P_T = F(K,T), where T the exact time is
  • then server compares if get’s same value
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Counter-based token

A
  • server and a person share same key
  • P_C = F(K,C), where C is an count
  • then server compares if get’s same value
How well did you know this?
1
Not at all
2
3
4
5
Perfectly