Patent ID: 8820637

Claim:
A method for authorizing use of an account by a user, the method comprising: assigning, to a portable device that is associated with the account of the user, a seed parameter and an algorithm for determining a time-based value of a security code using the seed parameter; programmatically varying, on the portable device, the time-based value of the security code based on the seed parameter and the algorithm, wherein programmatically varying the time-based value of the security code is performed by hashing; and enabling authorization and use of the account to be sought from an authorization agent of a financial institution that issued the account associated with the portable device, based at least in part, on the time-based value of the security code; wherein enabling authorization and use of the account includes: receiving, at the authorization agent via input provided by the user using a user terminal, information corresponding to the user and the time-based value of the security code at a first time, identifying, at the authorization agent, the portable device and the seed parameter used to determine the time-based value of the security code, so as to enable the authorization agent to independently determine a current value of the security code on the portable device when authorization and use of the account is sought, determining, at the authorization agent, the current value of the security code based on the identified portable device and the identified seed parameter, enabling the authorization agent to compare the time-based value of the security code with the current value of the security code independently determined by the authorization agent, enabling the authorization agent to determine that the time-based value of the security code does not match the current value of the security code, but matches a previous value that was previously determined by the authorization agent at a second time prior to the first time, the previous value being different than the current value, in response to the authorization agent determining that the time-based value of the security code does not match the current value but matches the previous value that was previously determined by the authorization agent, enabling the authorization agent to transmit a communication to the user terminal requesting the user to re-input the time-based value of the security code without authorizing the user.