Sign in

Libre University uses your GitHub account. Signing in is only needed to sit a final test, so the score is kept on your profile.

Second factors: TOTP and recovery codes

1.[3p]

What does TOTP stop completely, and what does it leave untouched?

Correct
The answer is: It stops credential stuffing outright and leaves real-time phishing untouched
The answer is: It stops credential stuffing outright and leaves real-time phishing untouched
The answer is: It stops credential stuffing outright and leaves real-time phishing untouched

2.[3p]

Put the steps of RFC 4226 dynamic truncation in order.

  1. Read four bytes at the offset and clear the top bit of the first

  2. Take the low four bits of the last byte as an offset

  3. Compute HMAC-SHA-1 over the eight-byte counter

  4. 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?

CorrectNot quite: 10

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?

CorrectNot quite: 90

5.[3p]

Why must a TOTP secret be encrypted at rest rather than hashed like a password?

Correct
The answer is: The server has to recompute codes from it, so it needs the original value back
The answer is: The server has to recompute codes from it, so it needs the original value back
The answer is: The server has to recompute codes from it, so it needs the original value back

6.[3p]

Which of these are real weaknesses of SMS as a second factor?

Select all that apply

Correct
Correct
Correct
The answer is: A phone number is recoverable from the carrier by anyone who can persuade a support agent, The SS7 routing network has demonstrated interception weaknesses, The user has no way to tell which site requested the code

7.[2p]

Allowing SMS to reset a hardware key leaves the account with SMS-level security.

Correct
The answer is: True

8.[3p]

Eight recovery codes of eight base32 characters are stored as SHA-256. Why is that broken?

Correct
The answer is: Each carries 40 bits and any of the eight matches, so a stolen table falls in seconds on one card
The answer is: Each carries 40 bits and any of the eight matches, so a stolen table falls in seconds on one card
The answer is: Each carries 40 bits and any of the eight matches, so a stolen table falls in seconds on one card

9.[2p]

Which hash should short recovery codes be stored with instead of SHA-256? One word.

CorrectNot quite: Argon2id