An authentication token implemented in a mobile computing device as a factor for authenticating a user of the mobile computing device by a location verification server based on a location of the user, without an actual location of the user being disclosed to the external server, the mobile computing device comprising:
- a processor;
- a wireless communication module;
- and
- a system memory, wherein the processor is programmed to perform the steps of:
- detecting that an authentication inquiry has been received from the location verification server through the wireless communication module;
- responsive to the detecting, comparing a current location of the mobile computing device with data that (i) are transmitted from the location verification server with the authentication inquiry and (ii) indicate a first location;
- and
- transmitting an authentication response to the location verification server based on a proximity of the current location of the mobile computing device with respect to the first location,
- wherein the location verification server authenticates the user based on the authentication response transmitted by the mobile computing device to the location verification server.