Second factors: TOTP and recovery codes
1.[3p] What does TOTP stop completely, and what does it leave untouched?
What does TOTP stop completely, and what does it leave untouched?
2.[3p] Put the steps of RFC 4226 dynamic truncation in order.
Put the steps of RFC 4226 dynamic truncation in order.
Read four bytes at the offset and clear the top bit of the first
Take the low four bits of the last byte as an offset
Compute HMAC-SHA-1 over the eight-byte counter
Reduce the 31-bit value modulo ten to the power of the digit count
Show the answer
c, a, d, b
3.[2p] An HMAC output ends in the byte 0x5a. What offset does dynamic truncation use?
An HMAC output ends in the byte 0x5a. What offset does dynamic truncation use?
4.[3p] With a 30-second step and a window of one step either side, how many seconds can a single code be accepted for?
With a 30-second step and a window of one step either side, how many seconds can a single code be accepted for?
5.[3p] Why must a TOTP secret be encrypted at rest rather than hashed like a password?
Why must a TOTP secret be encrypted at rest rather than hashed like a password?
6.[3p] Which of these are real weaknesses of SMS as a second factor?
Which of these are real weaknesses of SMS as a second factor?
Select all that apply
7.[2p] Allowing SMS to reset a hardware key leaves the account with SMS-level security.
Allowing SMS to reset a hardware key leaves the account with SMS-level security.
8.[3p] Eight recovery codes of eight base32 characters are stored as SHA-256. Why is that broken?
Eight recovery codes of eight base32 characters are stored as SHA-256. Why is that broken?
9.[2p] Which hash should short recovery codes be stored with instead of SHA-256? One word.
Which hash should short recovery codes be stored with instead of SHA-256? One word.