News for hackers. Stuff that matters.
Re:Yubico launches its dual USB-C and Lightning two-factor s... by tialaramex on Tuesday August 20, 2019 @11:27AM (#20748007)
It's not one secret, it's a secret per pair. Imagine Anne and Barry both use TOTP with Google and Facebook, there would be one secret for (Anne,Google), one for (Anne,Facebok), one for (Barry,Google) and one for (Barry,Facebook).

A good implementation chooses the secret randomly. But both sides need to know what it is. In the example above Anne needs to know both her secrets (they'd be inside her Google Authenticator) and Facebook needs to know both their secrets (probably in a SQL database).

Stealing Facebook backups would get me the (Anne,Facebook) and (Barry,Facebook) secrets, but not the Google ones.

Re:Yubico launches its dual USB-C and Lightning two-factor s... by penagwin on Tuesday August 20, 2019 @12:33PM (#20748864)
I know the client key is derived from the server key (So if Facebook's was released, your Google's TOTP is still safe).

I'm guessing it depends on the implementation, are the server secrets normally derived per user or shared across users (Talking about just a single service such as facebook)?

Re:Yubico launches its dual USB-C and Lightning two-factor s... by tialaramex on Tuesday August 20, 2019 @12:55PM (#20749144)
> I know the client key is derived from the server key

No. TOTP is a shared secret system, there is only one key.

> I'm guessing it depends on the implementation, are the server secrets normally derived per user or shared across users

Again no. The only reasonable thing to do is pick secrets entirely at random for each user. If the same secret is used then users can trivially impersonate each other, which makes no sense.