Passwords
1.[3p] Each increment of the bcrypt work factor doubles the work. How many times slower is work factor 12 than work factor 5?
Each increment of the bcrypt work factor doubles the work. How many times slower is work factor 12 than work factor 5?
2.[3p] What does a per-user salt actually prevent?
What does a per-user salt actually prevent?
The answer is: One computation being reused against many accounts, including precomputed tables of common passwords
The answer is: One computation being reused against many accounts, including precomputed tables of common passwords
The answer is: One computation being reused against many accounts, including precomputed tables of common passwords
3.[3p] Match each function to the property that decides where it belongs.
Match each function to the property that decides where it belongs.
Argon2id
scrypt
bcrypt
PBKDF2
memory hard but with parameters that interact awkwardly
the only one in Web Crypto, and the weakest of the four
memory hard with all three dials, the default choice today
fine for existing systems, silently truncates input at 72 bytes
Show the answer
Argon2id: memory hard with all three dials, the default choice today scrypt: memory hard but with parameters that interact awkwardly bcrypt: fine for existing systems, silently truncates input at 72 bytes PBKDF2: the only one in Web Crypto, and the weakest of the four
4.[3p] A password hash takes 250 ms and 8 cores are free for hashing. What is the ceiling in logins per second?
A password hash takes 250 ms and 8 cores are free for hashing. What is the ceiling in logins per second?
5.[2p] Which of the three tuning dials is the one an attacker cannot make cheaper with custom hardware?
Which of the three tuning dials is the one an attacker cannot make cheaper with custom hardware?
6.[2p] NIST SP 800-63B recommends forcing every user to change their password every 90 days.
NIST SP 800-63B recommends forcing every user to change their password every 90 days.
The answer is: False
7.[3p] Which of these does NIST SP 800-63B actually recommend?
Which of these does NIST SP 800-63B actually recommend?
Select all that apply
The answer is: Accepting passwords of at least 64 characters, Checking the chosen password against a list of known-breached values, Allowing paste, so password managers work
8.[3p] The Pwned Passwords check hashes the candidate with SHA-1. Why is a broken hash the right choice here?
The Pwned Passwords check hashes the candidate with SHA-1. Why is a broken hash the right choice here?
The answer is: The digest is a public lookup key, not a stored credential, and the check needs it fast, deterministic and unsalted
The answer is: The digest is a public lookup key, not a stored credential, and the check needs it fast, deterministic and unsalted
The answer is: The digest is a public lookup key, not a stored credential, and the check needs it fast, deterministic and unsalted
9.[3p] Why should a login handler verify against a fixed dummy hash when no account matches the email?
Why should a login handler verify against a fixed dummy hash when no account matches the email?
The answer is: Otherwise the response returns far faster for unknown addresses, and timing alone reveals which accounts exist
The answer is: Otherwise the response returns far faster for unknown addresses, and timing alone reveals which accounts exist
The answer is: Otherwise the response returns far faster for unknown addresses, and timing alone reveals which accounts exist