title: I'm trying to implement 2 factor authentication on the cheap. How would I do that?
body: <p>Ok so I need 2 of the 3.</p>
  
  <p>Something the user knows.<br>
  Something the user has.<br>
  Something the user is.</p>
  
  <p>I have a system that is exposed to the internet and we need clients to connect in a secure manner to satisfy our security standards.</p>
  
  <p>I'm thinking when a user registers to use our system we send them an application that they install on their home system. The application generates a key based on a timed randomness algorithm. Our application server has the same algorithm so when the user submits their credentials with the key we know that they are a legitimate user.</p>
  
  <p>Is this a valid method of 2 factor authentication?</p>
  
  <p>What is another way of doing this?</p>
  
  <p>Are there any pitfalls that I should be aware of?</p>
  
  <p>Thanks for your help!</p>