4 ms·
Note that one time codes do not protect against phishing the same way U2F does (U2F is always bound to secure origin).
by hdhzy 9y ago
Note that one time codes do not protect against phishing the same way U2F does (U2F is always bound to secure origin).
- tptacek 9y agoU2F is great but everything is better than SMS.
- ams6110 9y agoExcept SMS is better than nothing, right? Yes it's flawed. But it's a harder attack than simple password auth. An attacker has to to target an individual and know their phone number, and be able to spoof their phone.
- tptacek 9y agoIt depends. SMS is better than nothing as a second factor, but SMS has a weird way of worming its way into single-factor status. I think people should avoid SMS 2FA, and should be skeptical of the security of companies that offer only SMS and neither of TOTP or U2F.
- StavrosK 9y agoThis frustrates me endlessly about Namecheap. They only allow SMS, and, for something as valuable as my domain name (figuratively the keys to my kingdom), that's unacceptable.
- tonyztan 9y agoHave you tried using a (free) Google Voice number for 2FA purposes? Google Voice has no/minimal customer support, so it should be almost as secure as your Google Account.
- StavrosK 9y agoHaha, I love the reasoning there. I haven't, but you're right, I should.
- scrollaway 9y agoWell if you manage to do that, let me know. To my knowledge creating a text/voice compatible Google Voice number is not possible in europe.
- StavrosK 9y agoI had created one when I was in the US, so I do have one. I can't add a European phone number to it, but I can receive SMS with it.
- aianus 9y agoI transfered my domain to route 53 and let them know this was the reason why.
- nl 9y agoIf SMS can be used for account recovery (ie, 'I forgot my password' functionality) then it is probably worse.
- throwaway91111 9y agoOk, a 2fa protecting anything of value (such as money) should not be trivially breakable by state actors.
- always_good 9y ago2FA altogether isn't necessarily better than nothing. At its worst, it opens up a social engineering / customer support "lol lost my phone" attack vector that didn't exist before. SMS 2FA can be defeated by hijacking someone's number. Happened to me. One day I opened my Macbook and saw the "A new iPhone has been activated for your iCloud account". They had access to my number for hours after I called up my carrier.
- tgsovlerkhgsel 9y agoSMS can provide transaction authentication: "If you want to transfer $1000 to account 1243567890, confirm with code ABCDEF". Assuming an attentive user, this protects against malware silently changing amount and recipient on a transaction the user is making - an attack the banks were struggling with. It also makes phishing much harder, since the attacker needs to convince the user to enter the code after reading this message. Code-based 2FA is vulnerable to phishing where the attacker relays the phished credentials in real time. German banks were doing 2FA long ago, in the form of sheets of paper with one-time passwords (called TAN). Attackers were phishing those, so banks switched to "indexed" (iTAN) OTPs: The bank tells you which OTP to use, so someone who has just phished 1 or 2 won't be able to use theirs. Phishers started relaying the stolen credentials to the bank in real time, looking which iTAN the bank asks for, then asking the victim for the same. Given these known capabilities of attackers, any 2FA method that is not phishing resistant and not bound to a specific transaction is not usable, and probably not better than SMS. Anyone can make a phishing site, running attacks on phone networks is harder. Edit: Just realized that U2F would not be a suitable solution for banks, since it does not authenticate specific transactions, so malware could still swap recipient and amount.
- hdhzy 9y agoExcellent summary. U2F was designed to protect login where you don't need more context except the site you're logging into and that's protected as part of the protocol. Abusing it for other purposes (tx confirmation) as you showed is not a good idea. Transaction confirmation can be improved by using mobile banking app that displays the transaction info and has accept / reject buttons. The communication would go over HTTPS. But the problem of trust goes deeper - how do you know that account X is the correct number for your intended recipient? You usually have this saved in you banking system and when it is compromised you'd still be convicted that you're sending money to correct account. Unless of course you have a paper backup of account numbers...
- Natanael_L 9y agoU2F works because it is replay protected. Whatever you "authorize" the scammer to do means nothing to the bank when he tries to relay it. Either he acts as a transparent proxy between you and your bank without attacking, or the authentication fails. Edit: with local malware you're doomed unless you have trusted external hardware with a dedicated screen.
- unethical_ban 9y agoU2F is a kind of OTP, no?
- hdhzy 9y agoNo, or yes if you replace shared passwords with EC assymentic crypto with added protections (test of user presence, taking origin into consideration - signature for Google.com cannot be used on fake-google.com, attestation - you can check remotely if token is from e.g. Yubico if you trust only them).