A system, method and program product for controlling access to a restricted item. A method is provided that includes: receiving a request for access to a restricted item at a computer system associated with a provider, said request originating from a client system; determining an IP address of the client system; determining a mobile phone number of a mobile phone associated with the requester; transmitting to a third party service provider the IP address and mobile phone number; and receiving back from the third party service provider a confirmation message indicating whether or not the IP address and mobile phone are located within an acceptable range of each other.
This disclosure is related generally to detecting man-in-the-middle attacks, and more particularly to an authentication infrastructure having a third party location correlation service that ensures privacy protections.
BACKGROUND OF THE INVENTION
In certain instances it is useful to know if a physical location of a mobile device associated with a user correlates to the location of a second device being used by the user. By comparing the geographical locations of the two devices, the user can be authenticated. If the two locations are not physically near each other, it may be assumed that a man-in-the-middle attack is underway as the transaction appears to emanate from a location that is distant from the actual user.
One of the issues of utilizing location correlation is that it allows for tracking and collection of precise location details of individuals which, from a privacy perspective, may be undesirable.
SUMMARY OF THE INVENTION
The present invention provides an authentication infrastructure in which a third party location correlation service provider is implemented separately from a restricted item provider (i.e., provider) to ensure privacy for users.
In one embodiment, there is a method for controlling access to a restricted item, comprising: receiving a request from a requester for access to a restricted item at a computer system associated with a provider, said request originating from a client system; determining an IP address of the client system; determining a mobile phone number of a mobile phone associated with the requester; transmitting to a third party service provider the IP address and mobile phone number; and receiving back from the third party service provider a confirmation message indicating whether or not the IP address and mobile phone are located within an acceptable range of each other.
In a second embodiment, there is a system for controlling access to a restricted item, comprising: a login system for receiving a request from a requester to a restricted item, said request originating from a client system; a system for determining an IP address of the client system; a system for determining a mobile phone number of a mobile phone associated with the requester; a system for transmitting to a third party service provider the IP address and mobile phone number; and a system for inputting from the third party service provider a confirmation message indicating whether or not the IP address and mobile phone are located within an acceptable range of each other.
In a third embodiment, there is a computer readable storage medium having a program product for controlling access to a restricted item, comprising: program code for receiving a request from a requester to a restricted item, said request originating from a client system; program code for determining an IP address of the client system; program code for determining a mobile phone number of a mobile phone associated with the requester; program code for transmitting to a third party service provider the IP address and mobile phone number; and program code for inputting from the third party service provider a confirmation message indicating whether or not the IP address and mobile phone are located within an acceptable range of each other.
In a fourth embodiment, there is a method for deploying a system for controlling access to a restricted item, comprising: providing a computer infrastructure being operable to: receive a request from a requester for access to a restricted item at a computer system associated with a provider, said request originating from a client system; determine an IP address of the client system; determine a mobile phone number of a mobile phone associated with the requester; transmit to a third party service provider the IP address and mobile phone number; and receive back from the third party service provider a confirmation message indicating whether or not the IP address and mobile phone are located within an acceptable range of each other.
A location correlation service as described herein could be offered by mobile phone providers to merchants, banks and other organizations for any authentication purposes, e.g., processing credit cards for e-commerce, e-banking transactions, content access, etc. Companies could use the service to authenticate business partners accessing their organization’s infrastructure via a VPN or extranet web site. The illustrative aspects of the present invention are designed to solve the problems herein described and other problems not discussed.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings.
FIG. 1 depicts an illustrative authentication infrastructure in accordance with an embodiment of the present invention.
FIG. 2 depicts a flow chart showing a method in accordance with an embodiment of the present invention.
The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
DETAILED DESCRIPTION OF THE INVENTION
The described embodiments provide solutions for maintaining privacy when location information is required to authenticate a user attempting to access a restricted item over a network from a restricted item provider, i.e., “provider.” The provider may be any entity that controls access to restricted items, e.g., a bank, a business, a web site, a server, etc. In some authentication embodiments, such as that described in US 2008/0318548 US1, published on Dec. 25, 2008, entitled “Method and System for Strong Authentication and Defense against Man-In-the-Middle Attacks,” the contents of which are hereby incorporated by reference, the location of the user’s mobile phone and the location of the user’s computer IP address are examined by the restricted item provider to determine if the two are proximately located.
The present approach provides a third party location correlation service that can be tuned to limit the exposure of precise location details of the user while still providing the necessary information to authenticate the user to the restricted item provider. Namely, the third party location correlation service may be utilized to provide only a yes/no confirmation as to whether a mobile phone is within a specified range of a given IP address. Thus, the restricted item provider can thwart man-in-the-middle attacks without ever having to know any location information of the user.
Referring now to FIG. 1, an illustrative embodiment of an authentication infrastructure is shown that generally includes a restrictive item provider 11, a token matching service 48 and a location correlation service 34. Restricted item provider 11 generally comprises any entity that provides access to restricted item 24 via a network such as the World Wide Web (Web) to a user 26 via a client system 28. Client system 28 may comprise any device, software or system, such as a computer and browser, handheld device, ATM machine, transaction processor, etc., that utilizes a unique network identifier, such as an IP (Internet Protocol) address or the like to interface with the restricted item provider 11 via a provider server 10.
Within this infrastructure, authentication of user 26 by restricted item provider 11 is implemented as follows. Provider server 10 includes an authentication system 12, which may for example be implemented as any combination of hardware and software (i.e., a computer system and/or a program product). Authentication system 12 generally includes: a log in system 14; a token generation/verification system 15; a mobile phone number look-up system 16; an IP address collection system 18; an acceptable range setting system 20; and a correlation service interface system 22. When user 26 seeks to access a restricted item 24 from restricted item provider 11, user 26 points their client system 28 to the provider server 12 (e.g., by entering a Web address into a browser). Restricted item 24 may comprise any item, e.g., data, object, program, communication channel, etc., for which authorization is required. Common examples of restricted items 24 include account data, transaction systems, subscription-based content, etc.
When attempting to access the provider server 10, user 26 is first presented with a log in system 14, where the user is verified, e.g., by entering a user ID and password. Once the user’s ID and password are verified, token generation/verification system 15 generates a one-time token that is forwarded back to the user 26 via the client system 28. The user 26 is then prompted to enter the one time token into the user’s mobile phone 32, which is forwarded to token matching service 48 via a cellular network or the like. In a parallel process, a mobile phone number look-up system 16 retrieves a previously stored (i.e., pre-registered) mobile phone number of the user 26 from a phone database 25. The mobile phone number of the user 26 and the generated one time token are also forwarded to the token matching service 48 from the provider server 10.
A token server 50 provides a token processing system 52 that compares the phone number (e.g., using caller ID) and token obtained from the user 26 via the mobile phone 32 with the phone number and token information separately obtained from the authentication system 12. If the data matches, this then verifies that the mobile phone 32 being used to submit the token belongs to the user 26. If the data does not match, this then indicates that a man-in-the-middle attack or other type of unauthorized access may be occurring since an unauthorized mobile phone was utilized to submit the token. Note that some or all of the processing being done by token matching service 48 could be done by a third party provider or by the restricted item provider 11 itself, e.g., at the provider server 10. In addition, it is understood that any type of token may be utilized, e.g., an alphanumeric code that user 26 types into their phone, a password that the user speaks, etc. A detailed description of token processing is disclosed in U.S. Pat. No. 7,133,662 issued on Nov. 7, 2006 to Bravo et al., entitled “Method and apparatus for restricting access of a user using a cellular telephone,” the contents of which is hereby incorporated by reference.
Assuming the token is verified, a further authentication process is utilized to ensure that the mobile phone 32 is located proximate to the client system 28. To implement this, IP address collection system 18 collects the IP address 30 of the client system 28, e.g., during the log in procedure. An acceptable distance between the mobile phone 32 and the client system 28 may be set by acceptable range setting system 20. Given that current technology does not always allow for pinpointing an exact location of a mobile phone 32 or IP address 30 of client system 28, authentication system 12 provides this mechanism for setting an acceptable range value (e.g., 10 miles). By allowing the restricted item provider 11 to set this value, provider 11 can dictate their own level of risk tolerance.
Accordingly, location correlation service 34 must be implemented as a separate disparate entity relative to restricted item provider 11. In one embodiment, location correlation service 34 may be implemented by a cellular provider as a service for organizations, such as banks and other businesses. Location correlation service 34 generally includes a location server 36 that has a correlation system 38 for confirming whether a mobile phone is located proximate an IP address. Correlation system 38 includes an IP location system 40 for determining a geographic location of an IP address. Such systems are readily known (e.g., www.geobytes.com/IPlocator.htm). Phone location system 42 utilizes any known means for locating a mobile phone based on the phone number. Examples include cell tower triangulation, GPS, etc. Once correlation system 38 ascertains the geographic location of both the IP address 30 and mobile phone 32, distance calculation system 44 determines a distance between the two, e.g., based on longitude and latitude. Confirmation generation system 46 then determines if the calculated distance is less than the acceptable range value provided by the restricted item provider 11. A confirmation message 56 (e.g., yes or no) is then returned to correlation service interface system 22 of the restricted item provider 11. If the proximity of the mobile phone 32 and the IP address 30 is confirmed as with the acceptable range, authentication system 12 can then allow access to the restricted item 24 for the user 26. Otherwise, the user 26 is denied access.
FIG. 2 depicts a flow chart showing an illustrative method of a user being authenticated by a provider. At S1, a log in request is obtained from a user at a provider’s server, e.g., by pointing a browser at the log in page, where a user ID and password are collected from the user. At S2, a check is made to determine if the credentials (i.e., user ID and password) are valid. If no, the session is terminated at S13. If yes, then the mobile number of the user is determined by the provider via a look-up, e.g., from a provider’s database, at S3. At S4, the user is provided a one time token from the provider, which the user then enters into his or her mobile phone, e.g., using the keypad. At S5, a service (e.g., a cellular provider) receives the token and the user’s phone number via caller ID, and compares it with the phone number and token provided to the user by the provider. If they do not match, a man-in-the middle attack is suspected since an invalid phone is being used to enter the token and the session is terminated at S13. If they do match, the mobile phone is deemed valid (i.e., it belongs to or is authorized for the user) and the IP address of the user’s browser is collected at S6. Note that the IP address of the browser can be collected earlier, e.g., during log in.
Next, at S7, the IP address, the mobile phone number and the acceptable range is sent to a location correlation service (LCS). The acceptable range is determined in this case by the provider based on a risk tolerance of the provider. However, it could be set by the LCS. As noted, because of the need for privacy, the LCS is a separate entity from the provider. The LCS determines the geographic location of the IP address and mobile phone at S8 and S9. A physical distance between the two is calculated by the LCS using any technique and a determination is then made whether the two are located within the acceptable range at S10. The acceptable range, as well as the determined distance between the two, may be provided/calculated in miles, kilometers, longitudinal/latitudinal coordinates, etc.
If the two are not within the acceptable range, an “out of range” indication is sent back to the provider at S14 and the session is terminated at S13. If the acceptable range is not exceeded, then a “within range” indication is sent to the provider at S11 and the user is fully authenticated and the session is allowed at S12.
Note that while the embodiments are described with reference to a mobile phone, the invention may be implemented with any device that has a unique discoverable identifier (e.g., phone number, email address, IP address, etc.) and can transmit a token to a token service provider.
Referring again to FIG. 1, it is understood that each of the authentication system 12, token server 50 and location server 36 may be implemented using any type of computing device (i.e., computer system). Such a computing device generally includes a processor, input/output (I/O), memory, and bus. The processor may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Memory may comprise any known type of data storage, including magnetic media, optical media, random access memory (RAM), read-only memory (ROM), a data cache, a data object, etc. Moreover, memory may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms.
I/O may comprise any system for exchanging information to/from an external resource. External devices/resources may comprise any known type of external device, including a monitor/display, speakers, storage, another computer system, a hand-held device, keyboard, mouse, voice recognition system, speech output system, printer, facsimile, pager, etc. The bus provides a communication link between each of the components in the computing device and likewise may comprise any known type of transmission link, including electrical, optical, wireless, etc. Although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated.
Access may be provided over a network such as the Internet, a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), etc. Communication could occur via a direct hardwired connection (e.g., serial port), or via an addressable connection that may utilize any combination of wireline and/or wireless transmission methods. Moreover, conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards could be used. Still yet, connectivity could be provided by conventional TCP/IP sockets-based protocol. In this instance, an Internet service provider could be used to establish interconnectivity. Further, as indicated above, communication could occur in a client-server or server-server environment.
It should be appreciated that the teachings of the present invention could be offered as a business method on a subscription or fee basis. For example, a computer system comprising a correlation system 38 and/or token processing system 52 could be created, maintained and/or deployed by a service provider that offers the functions described herein for customers. That is, a service provider could offer to deploy or provide the ability to provide authentication as described above.
It is understood that in addition to being implemented as a system and method, the features may be provided as one or more program products stored on computer-readable storage mediums, which when run, enables one or more computer systems to provide authentication as described. To this extent, the computer-readable storage medium may include program code, which implements the processes and systems described herein. It is understood that the term “computer-readable medium” comprises one or more of any type of physical embodiment of the program code. In particular, the computer-readable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as memory and/or a storage system.
As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions that cause a computing device having an information processing capability to perform a particular function either directly or after any combination of the following: (a) conversion to another language, code or notation; (b) reproduction in a different material form; and/or (c) decompression. To this extent, program code can be embodied as one or more types of program products, such as an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like. Further, it is understood that terms such as “component” and “system” are synonymous as used herein and represent any combination of hardware and/or software capable of performing some function(s).
The block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be run substantially concurrently, or the blocks may sometimes be run in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that the invention has other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of the invention to the specific embodiments described herein.