Remix.run Logo
dboreham 4 days ago

I see (I think): they tricked you into entering a TOTP code into their site, which they then proxied to the real names, thereby authenticating as your account. Is that correct?

sugarpimpdorsey 4 days ago | parent | next [-]

It only proves that TOTP is useless against phishing.

goku12 4 days ago | parent | next [-]

Every day brings me another reason to ask the question: "Why the hell did they throw away the idea of mutual TLS?". They then went onto invent mobile OTP, HOTP, TOTP, FIDO-U2F and finally came a full cycle by reinventing the same concept, but in a more complex incarnation - Passkeys.

tpxl 4 days ago | parent | next [-]

Works this way for my government and my bank. I was given a cert matching my real name and the login just asks for my cert and pulls me through (with additional 2FA for the bank). Pretty amazing if you ask me.

goku12 4 days ago | parent [-]

Which government is this, if I may ask?

SahAssar 4 days ago | parent [-]

I'm going to guess estonia which has had this since mid 2000's IIRC.

jve 3 days ago | parent [-]

Latvia has it too. We have ID cards which is a smartcard, we use that to set up some authentication app that allows us to authenticate within online services and can even do remotely transactions like selling the house (well that is the extreme case and one needs to connect to teams meeting and show your face and have high quality video/connection and show your id card, along with digital auth). But anyways, it is used all around the place, many many sites support that auth, the banks support it and even remote auth scenarios are possible. Just today was calling mobile operator support and they had to verify me - so after saying my ID, an auth request pops up from app that asks to verify identity to mobile operator (app shows who is asking for auth).

Authentications are separated and if some signature must be placed or money to be sent, you must use other access code and the app shows the intention of what are you authorizing. If it is money being sent, you see where and how much you want to sent before you approve this request on the app.

But the app is all tied to digital identity from the id card in the first place - to set up these strong authentication guarantees in the first place you use your ID card. Some time ago we had to use computer with smartcard reader to set it up, nowdays I dunno whether it is NFC or something, but the mobile phone can read the ID card.

mschuster91 4 days ago | parent | prev | next [-]

the UI for client side certificates was shit for years. no one particularly cared. passkeys however are... pretty reasonable.

xorcist 4 days ago | parent | next [-]

That's just it. If any of the browser vendors put 1% of the work they spent on renewing their visual identity, remodeling their home page, or inventing yet another menu system into slightly easier to use client certificates (and smart cards) this would have been a solved problem two decades ago. All the pieces are in place, every browser has supported this since the birth of SSL, it's just the user interface bits that are missing.

It's nothing short of amazing that nobody worked on this. It's not as if there isn't a need. Everyone with high security requirements (defense, banks etc.) already do this, but this clumsy plugins and (semi-)proprietary software. Instead we get the nth iteration of settings redesigns.

goku12 3 days ago | parent [-]

Bingo! Exactly my point. Thanks!

goku12 4 days ago | parent | prev | next [-]

> the UI for client side certificates was shit for years. no one particularly cared.

That's exactly what I mean! Who would use it if the UI/UX is terrible? Many Gemini (protocol) browsers like Lagrange have such pleasant UIs for it, though somewhat minimal. With sufficient push, you could have used mutual TLS from even hardware tokens.

4 days ago | parent | prev | next [-]
[deleted]
chuckadams 4 days ago | parent | prev [-]

At least on a Mac, you can just double-click a cert file, it'll prompt to install in Keychain, and anything using macOS's TLS implementation will see it.

goku12 3 days ago | parent [-]

And what about the browser? How does it know which client cert (I assume the key is also there) to use for a site? Does it prompt you before proceeding with authentication?

chuckadams 3 days ago | parent [-]

The domains the cert gets presented to is also configured in Keychain, and Safari uses it. Looks like Firefox has its own thing, buried several layers deep in settings. No idea about chrome. It's definitely a process you'd want to script in an installer, nothing you'd want to subject the end user to. So yeah, still pretty crap UX overall.

4 days ago | parent | prev | next [-]
[deleted]
quotemstr 4 days ago | parent | prev [-]

Because the tech industry egregore is a middling LLM that gets it context window compacted every generation.

ksdnjweusdnkl21 4 days ago | parent | prev | next [-]

TOTP isnt designed to be against phishing. Its against weak, leaked or cracked passwords.

Scoundreller 4 days ago | parent | next [-]

Lots of junk TOTP apps in app stores.

Once heard of a user putting in a helpdesk ticket asking why they had to pay for the TOTP app. Then I realize their TOTP seed is probably out in the open now.

I’m sure we can imagine how else this could go badly…

4 days ago | parent | prev [-]
[deleted]
patrakov 2 days ago | parent | prev | next [-]

No. It only proves that TOTP, as implemented by mobile apps, is useless against phishing.

The extension from https://authenticator.cc, with smart domain match enabled, would have caught this by showing all other TOTP codes besides the one intended by NPM.

On a Mac, Keychain would also have caught this by not autofilling: https://support.apple.com/en-ph/guide/passwords/mchl873a6e72...

dboreham 4 days ago | parent | prev [-]

Yes. This attack would not have worked if FIDO2 (or the software emulation Passkey) had been used.

junon 4 days ago | parent | prev [-]

Seems so, yes.