A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor associated with a computing device, performs a method comprising:
- receiving an access request from a user to access a secure resource from a first device associated with the user, said computing device controlling access to said secure resource by using a finite state machine (FSM) that is dynamically configured with a first login stage and subsequent login stages automatically determined based on responses to login requests of each previous login stage;
- automatically communicating, over a network, a first login request to said user in response to said access request, said first login request associated with said first login stage of the FSM;
- receiving a response to said first login request, said response comprising information provided by said first device in association with said user;
- automatically analyzing said response in order to determine an authenticity of said response information, said analysis comprising parsing said response and determining whether said response information corresponds to stored information associated with said first login request;
- automatically determining based on said determined authenticity and said response information, a second login request to communicate to said user, said second login request determination comprising parsing said response information in order to identify network characteristics associated with said response, and analyzing said identified network characteristics and determining a type of information to include in said second login request, said second login request associated with a second login stage of the FSM;
- automatically communicating, over the network, said second login request to said user;
- receiving a second response to said second login request, said second response comprising information provided by said user;
- automatically analyzing said second response in order to determine an authenticity of said second response information, said analysis comprising parsing said second response and determining whether said second response information corresponds to stored information associated with said second login request, said analysis further comprising parsing said second response information and identifying second network characteristics associated with said second response;
- automatically determining information to communicate to said first device of said user, said information associated with a third stage of said FSM, said information is based on said second authenticity and said second network characteristics;
- and
- automatically communicating, over the network, said determined information to said first device, said communication resulting in said determined information being displayed on a display of said first device.