12 ms·
> TOTP is fundamentally a password I see this view a lot. It's wrong. TOTP is fundamentally different to a password, as the stored "password" (by which I presu
by lucideer 5y ago
> TOTP is fundamentally a password
I see this view a lot. It's wrong. TOTP is fundamentally different to a password, as the stored "password" (by which I presume you mean the key) is never transmitted anywhere.
TOTP in fact has one property that makes it potentially* the most secure of all 2FA methods: it can be used airgapped. As the credential you type into the 2FA form is not the saved secret.
* I say "potentially" because the relative inconvenience + human factors conspire to make it less secure than e.g. U2F in most cases. But assuming hypothetical perfect conditions, there would be nothing more secure than TOTP for 2FA.
- thaumasiotes 5y ago> TOTP is fundamentally different to a password, as the stored "password" (by which I presume you mean the key) is never transmitted anywhere. Are you familiar with SRP? TOTP has all of the properties of passwords, and no properties that passwords don't have. That makes it... a password.
- lucideer 5y agoI guess you can argue the definition of the word "password"; language is fluid, especially English. I would say SRP is strictly a misnomer (though it's a useful conflation). Generally speaking password is a value provided for authentication (if it's no longer being "provided", as in SRP, it's something different... but I understand using a familiar word for that something different is helpful when communicating). Either way, in saying TOTP was "just a password", the point you were trying to make was that TOTP is "no different than and therefore no better than a 2nd traditional password". The fact it's not transmitted makes it very different to, and better than, a traditional password. So whatever you want to define the definition as, the point stands. > and no properties that passwords don't have It has 1 property that passwords don't have: it is not transmitted!
- batch12 5y agoThere are authentication mechanisms that rely on passwords but work by not transmitting the password too. One example is kerberos. TOTP is a password. The fact that it is a password doesn't matter though since it is something you have (and can't know) which augments the something you know. This satisfies the intent of MFA.
- KMag 5y ago> One example is kerberos. It kills me that most enterprise environments use Kerberos via Active Directory, LDAP, or NIS. So, your workstation probably has Kerberos tickets sitting on it, which would allow very light weight 2-way authentication and encryption of internal flows. TLS client certificates and TLS-everywhere would be another good option, but it's particularly frustrating that the Kerberos TGTs are already on the client machines. The key management part is already solved in the Kerberos case. Kerberos is even potentially resistant to quantum cracking. (Grover's quantum search algorithm effectively halves the key size of ideal symmetric ciphers, so you'd want 256-bit keys.) Forward secrecy is an issue, but there are proposals to incorporate DH key exchange in the pre-auth to give imperfect forward secrecy. A post-quantum key agreement protocol, like RLWE would be fairly strait forward to incorporate, with standardization being the main hurdle.
- toyg 5y agoI agree Kerberos is somewhat under-used, but man isn't it half a pain to set up integrations with... Part of the problem is that it's "enterprise" tech, which means all sorts of "enterprise" middleware claims to support it with some half-assed concoction that worked on the presales demo environment once, back in 2001, and nobody else has touched since. And it's also old and pretty obscure, with documentation lost to the fog of time, and very few people who remember how it was supposed to work - a bit like MS DCOM...
- batch12 5y agoYeah, TOTP is a password. Hell, it is in the name. One property it has that differs from classic passwords is the authentication factor. For TOTP, it changes from something you know you something you have. However, lots of passwords are now randomly generated and are no longer "something you know" either.
- lucideer 5y ago> it is in the name The "Password" named in "Time-based One Time Password" is the temporary generated value you transmit. It's not what's stored on the TOTP device, so in the context of this discussion, that temp value isn't what the gp was referring to.
- thaumasiotes 5y ago> Yeah, TOTP is a password. Hell, it is in the name. Careful; "one-time password" is in the name, and it certainly isn't that. Your TOTP seed stays valid forever.
- deleted 5y ago[deleted]
- Aeolun 5y agoAside from the fact that I never transmit the actual password. So the password that you’d potentially get only works for you for 30 seconds. Slight detail that’s of course completely irrelevant.
- thaumasiotes 5y ago> Aside from the fact that I never transmit the actual password. You realize that, out of the many comments I've made in this tree, the one you responded to was the one that said > Are you familiar with SRP? There are more ways of compromising someone's information than capturing it in transit. If you give me your phone, I can read your TOTP seeds straight out of Google Authenticator.
- hedora 5y agoDigest authentication allows passwords to be authenticated without sending the “key”, and could also be used airgapped. You’d need to type a nonce into the dongle, then type the result into your computer. TOTP is just a password. Also, in practice, the server has to have non-air-gappped access to a TOTP generator, so it’s not really air gapped at all. Read up on the great RSA key fob recall for an example of TOTP-style auth gone horribly wrong.
- lucideer 5y agoDigest auth can be air gapped but the time aspect of TOTP still makes digest comparatively less secure (plus digest isn't typically even done separately to the primary client device, nevermind airgapping, whereas TOTP is at least most commonly used via an entirely separate device). > You’d need to type a nonce into the dongle, then type the result into your computer. That would be a cool augmentation of digest auth, but afaik is hypothetical currently (at least as far as common use goes). I can use TOTP airgapped right now. > in practice, the server has to have non-air-gappped access to a TOTP generator This is a fair point, but requiring full server compromise is still a nice step up from being mitm-able. > so it’s not really air gapped at all That seems like a rather extreme conclusion to draw. Client-side only air gapping is still airgapping, the fact it doesn't extend to protection from server compromise doesn't completely invalidate the benefits.