[foreign Object]
@jcoglan.com
1.2K followers 840 following 3.8K posts
this is him here I write books about programming --> https://shop.jcoglan.com/
Posts Media Videos Starter Packs
jcoglan.com
yeah, and for me, being able to back up my totp keys because they are just files is where I landed
jcoglan.com
yeah the backup story seems to be "register 2 yubikeys on every site you use" which is user hostile in so many ways I have lost count
jcoglan.com
which, once you know how trivial it is, makes this whole arrangement even more baffling and infuriating. the vendor lock in is completely illusory
jcoglan.com
the same argument for forbidding users from exporting key material is what makes Google Authenticator so user hostile and pushed me into implementing my own TOTP agent
jcoglan.com
right but this is precisely my problem with passkeys. nobody is explaining users' obligations to retain a specific datum or piece of hardware, or what happens when they fail to do so. to me, passkeys mostly look like a way for me to get locked out of my own accounts by miseducation
jcoglan.com
even without the 'none' problem you can fool JWT into using symmetric keys with asymmetric algorithms with disastrous results. it is a profoundly bad design
jcoglan.com
JWT isn't even bad due to complexity per se, it just makes flat out bad design choices. "you can direct the other peer to use arbitrary combinations of keys and algorithms" is just bad cryptography design
jcoglan.com
again: the totp algorithm fits on one screen in a big font
jcoglan.com
passkeys took a basically good idea i.e. "ssh keys were good let's do that again" and then attached so much incidental complexity that it is functionally impossible to implement without an enormous budget. this creates an enormous barrier to entry that works against its ostensible security goals
jcoglan.com
literally just give us totp with asymmetric keys I am begging you
jcoglan.com
reason I've read *half* the spec is it is absolutely enormous because they bolted tons of incidental functionality onto the core thing of "prove you know a secret key" and I gave up any hope of ever implementing it
jcoglan.com
to a first approximation nobody understands what a passkey even is. I know what one is but can barely explain how they're supposed to work, and I have read half the specification. the UX is an absolute nightmare
jcoglan.com
passkeys are a dead end unless they are adequately explained to users, which so far they emphatically have not been
jcoglan.com
have you played the game
jcoglan.com
having a cut-off where existing totp users can keep using it but nobody else can commence using it is baffling. either its security properties are acceptable for your problem space or they're not, how does banning it for new users help
jcoglan.com
me: [finally feeling like I'm getting back on track after a weeks-long insomnia event that's shattered my ability to manage my time and attention]

npm: hey you're free this weekend right
jcoglan.com
did you just tell me to go fuck myself stanley
jcoglan.com
why has my *pension provider* implemented sms-based 2fa against my express wishes and without verifying my phone number, I am so god damn mad about this
jcoglan.com
ah. well, nevertheless
jcoglan.com
what if I don't want ci based publishing
jcoglan.com
the totp algorithm fits on a screen in a very big font
jcoglan.com
I swear up and down, totp has *by far* the biggest security value to implementation effort ratio of any widely deployed web security mechanism. why do people keep avoiding it
jcoglan.com
why does everybody hate totp
jcoglan.com
you know what's real security? dropping busywork in people's laps that they have to deal with on the weekend