Please note: I'm not necessarily talking about what happens when one shoulder surfs someone inputting a OTP. I'm fairly confident that it's nearly impossible (or extremely impractical) to guess the next or any available password based upon one.

What I'm asking is related to how a seed might be stored in a password list, as an example.

The scenario:

SELECT * FROM Passwords;

Now, within this table, is it likely that a OTP RNG seed/serial number/keyfob id is stored? If it is, is it possible an attacker might be able to assume or know the site's standardized OTP generator device or application (It would be usually safe to assume there's only one device used) and use the seed to generate valid OTPs?

If I'm using the terminology incorrectly, a specific example would be Google Authentication. How is the number it generates linked to be valid against only one account? How can someone who has the link not be able to generate an identical number list?

Related: How to store OTP seed securely at the validating server I'd accept this as close enough.

  • Downvote? How may I improve this question?
    – SrJoven
    Oct 15 '14 at 14:45

It is usually well known how a device transforms the pre-shared secret into the one-time password, so the answer is yes -- if an attacker is able to get the "seed" (pre-shared secret), then they will be able to generate the 6-digit number.

If that's not what you're asking (not sure where "reversibly determined" comes from), then you'll need to clarify your question.

  • This is precisely the question. It's a round about way of asking how safe are tokens versus passwords assuming (roughly) the same attack vector.
    – SrJoven
    Oct 15 '14 at 12:05
  • Yes, the seed is the vulnerable piece. arstechnica.com/security/2011/06/… Oct 15 '14 at 13:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.