The present invention relates generally to transactional security, and more specifically to methods for authenticating a user to a service provider.
The need frequently exists for a user to authenticate himself to a service provider. For example, an on-line banking system must typically verify the identity of a user before the user can be permitted to perform transactions on the system, or before account statements or other confidential information may be released to that person. Similarly, an electronic security system must typically verify the identity of a user before the user can be allowed access to a restricted area. Various methods for authenticating a user to a service provider for these and other purposes are currently known to the art.
The systems of
However, these systems also have some notable disadvantages. For example, the system of
The system of
The system 301 of
Unfortunately, most of the problems inherent in the system of
The system 401 depicted in
Unfortunately, the system depicted in
The system depicted in
However, the system depicted in
The approach depicted in
However, this approach is also beset with certain drawbacks. In particular, authentication is performed remotely by an additional common server 621 that needs to be set up. Information entered by the user is first sent to this server 621 which performs the initial authentication. After the user has been successfully authenticated with this server 621, the information is passed along to the actual on-line service provider 603 or 604. The on-line service provider then does the final authentication using the credentials provided before granting access to the respective database 609 or 610 associated with the service provider. Hence, the need for the extra server 621 raises additional bandwidth, delay and downtime issues. Moreover, the availability of this authentication methodology depends on the availability of the additional server 621. Furthermore, such a token 619 cannot be used to authenticate to applications or service providers where no Internet connection is available (e.g., in situations involving access control systems for doors), or in applications on systems that have disabled Internet access due to security considerations. In addition, this method does not remove the risk of phishing entirely, since it has made the window of opportunity smaller but has not eliminated it entirely. Hence, if a phishing site can relay the user-provided data to the common server in real time (or close enough), it is possible that the phishing site will still be granted access to the user's account.
In one aspect, a method is provided for authenticating the user of a device as the owner of the device. The method comprises (a) capturing an initial set of credentials from the owner of the device; (b) storing the initial set of credentials in a memory provided in the device; (c) storing the owner's secrets corresponding to a plurality of service providers in the memory; (d) receiving an authentication request from one of said plurality of service providers; (e) in response to the authentication request, capturing a set of credentials from the current user of the device; and (f) revealing the owner's secrets which correspond to the service provider requesting the authentication if and only if the current user's credentials match the owner's credentials.
In another aspect, a device is provided which comprises (a) a memory adapted to store the credentials of the device's owner therein, and being further adapted to store the owner's secrets for a plurality of service providers therein; (b) an owner authentication engine which is adapted to capture and record credentials from the owner of the device, and which is further adapted to compare those credentials with the credentials of the current user of the device; (c) a method adapted to allow the device to communicate with the plurality of service providers; and (d) a request processing engine on the device, said request processing engine being adapted, upon a request from one of said service providers, to authenticate the owner, and being further adapted, upon successful authentication of the owner, to reveal the owner's secrets which correspond to that service provider.
In a further aspect, a system is provided which comprises (a) a plurality of service providers; (b) a user registered with said plurality of service providers; and (c) a device adapted to allow the user to obtain access to services from any of said service providers by releasing to that service provider a secret which is specific to that service provider and which is stored on the device; wherein the device is further adapted to obtain a first set of credentials from the user of the device and to compare the first set of credentials with a second set of credentials which are stored on the device and which were obtained from the owner of the device.
In still another aspect, a method for authenticating a first party to a second party, comprising: (a) requiring the first party to demonstrate knowledge of a secret shared between the first and second parties; (b) requiring the first party to establish possession of a token; and (c) requiring the first party to demonstrate ownership of said token.
It has now been found that the infirmities in the above noted existing systems may be overcome through the provision of systems and methodologies of authenticating a user to a service provider wherein the authentication is based on (a) possession of a token by the user, (b) a means for establishing the user of a token as the original owner of the token, (c) a means built into the token for authenticating the user as the original owner of the token, (d) a means for saving a secret on the token (wherein the secret is specific to the service provider) after authenticating that the token is in the hands of its original owner, and (e) a means for releasing the secret from the token upon receiving an authentication request from a service provider, wherein the secret is released after the user is authenticated as the original owner of the token.
In a preferred embodiment, the foregoing objective is accomplished through the use of a token which is adapted to store the secrets of a plurality of service providers therein, and which is also adapted to ascertain biometric features of the user (as through the use of a built-in biometric scanner) and to compare those features with biometric features of the owner of the token which are stored in the memory of the device. Upon receiving an authentication request from a service provider (as when the user attempts to use the token to gain access to an account that the owner of the token has with the service provider), the token first authenticates the user as the owner and then, upon successful authentication, releases the appropriate secrets to the service provider.
In another embodiment, the foregoing objective is accomplished through the use of a Smart Card with a built-in application which is adapted to store the secrets of a plurality of service providers therein only after the owner has unlocked the Smart Card with a PIN/passphrase. Upon receiving an authentication request from a service provider (as when the user attempts to use the Smart Card to gain access to an account that the owner of the token has with the service provider), the Smart Card application first requires the current user to provide the owner's PIN/passphrase and only upon successful authentication, releases the owner's secrets corresponding to the service provider who initiated the authentication request.
The token will typically be equipped with encryption/decryption capabilities and will also preferably be adapted to participate in a key exchange procedure with the service provider. This arrangement allows the authentication request from the service provider to be encrypted such that it can only be decrypted by the token. This arrangement also allows the response to the authentication request to be decrypted only by the service provider which initiated the authentication request, and to which the secrets correspond.
Service providers 703 and 704 preferably have login pages 711 and 712 on their websites by which the user completes a login process. Typically, the login process will require the user to supply a username and password, and/or to provide the answer to one or more questions which were established by the account holder during an enrollment process by which the account holder came to be registered with the service providers 703 and 704. For a successful login, an authentication process 717 commences by which the user authenticates himself as owner of the token 719. Upon successful authentication, the token releases encrypted secrets which are transmitted over the network 707 to the service provider 703 or 704 whose services the user is seeking access to. The service providers 703 and 704 have servers 721 and 722 associated with them which decrypt the encrypted secrets received from the token 719. If the secrets are in order, the user is granted access to the appropriate information on the database 709 or 710 associated with the service provider 703 or 704.
As previously noted, the token is typically equipped with encryption/decryption capabilities, and is further adapted to participate in a key exchange procedure with the service provider. Various encryption/decryption algorithms are known to the art which may be used for this purpose. Similarly, various methods of key exchange may be utilized, including, for example, the use of Diffie-Hellman key exchange protocols and public key infrastructures (PKIs). Consequently, the authentication request from the service provider may be encrypted such that the authentication request can only be decrypted by the token. Similarly, the response to the authentication request may be encrypted such that it can only be decrypted by the service provider which initiated the authentication request and to which the secrets correspond.
As indicated in
If the user elects to use a token for authentication, then software associated with the login page will attempt to detect if a token is present and accessible from the user's computer 809. This may occur, for example, through the use of Java Applet or other embedded controls present on, or associated with, the website, and/or through the use of software installed on the user's computer. If no token is detected, the user may be notified of the token detection failure, and will be returned to the web page requesting choice of login method.
If a token is detected, an encrypted Site Authentication Request Packet will be sent 811 from the service provider to the token. The Site Authentication Request Packet will preferably be a data packet which can be decrypted only by the token, and which contains information which is specific to the service provider (or which is specific to the site associated with the service provider). The token utilizes this data packet to validate the identity of the online service provider.
After the Site Authentication Request Packet is transmitted from the service provider to the token, the token undertakes a series of steps which culminate in release of a response. In particular, once the token receives the user authentication request from the service provider, it will authenticate the current user of the token as the owner of the token before proceeding any further (the service provider's website may generate a service access failure message if owner authentication fails, in which case it may terminate the process or return it to an earlier step). This ensures that, if the owner loses the token, the token will be useless to the party gaining possession of it. Various methods of authenticating the user may be utilized for this purpose, including, but not limited to, biometric measurements.
After successful user authentication, the token will decrypt the authentication request packet, preferably through the use of a token-specific built-in key, and will verify that the request is coming from a service provider that has been previously enrolled on the token. If the request is coming from a service provider that is not enrolled on the token, the service provider's website may generate a service access failure message, and may terminate the process or return it to an earlier step.
If the service provider has been previously enrolled on the token, the token will generate a response packet which includes the user's secrets specific to the service provider or to the service provider's site. This response packet is preferably encrypted with session-specific keys. This response packet, which can be decrypted only by the service provider, is then sent back to the service provider. The session-specific (and preferably random) data contained in the request from the service provider, and in the response from the token, ensures that a replay-attack is not possible.
The service provider's website is equipped with a module which transfers 817 the encrypted response packet to the service provider's authentication server. Upon receipt of the response packet, the authentication server typically performs 819 certain processes. In particular, the authentication server decrypts the response packet and establishes that it is coming from a trusted device. The authentication server also ensures that the response packet corresponds to the previously sent Site Authentication Request Packet by looking at session-specific data. Once the service provider receives and decrypts the response packet, it can extract and validate the user credentials before allowing access to the user's account.
If the presence of a token is detected, then additional information is obtained 1009 (this may include, for example, a list of questions that the user will be asked if the user wants to bypass secure login for any reason such as a lost or malfunctioning token). The web site hosting the secure enrollment web page then builds and sends 1011 an encrypted site enrollment request packet to the token.
The user then takes ownership 1013 of the token. Preferably, this is accomplished by providing biometric data to the token, as by submitting one or more fingers to a scan by a fingerprint scanner built into the token. After the user takes ownership of the token or establishes himself as the owner of the token, the token decrypts 1015 the site enrollment request packet. The token then saves the service provider's site information to the memory of the token, along with the owner's secrets for that service provider, and prepares an encrypted site enrollment response packet.
Next, the online service provider's web module transfers 1015 the encrypted site enrollment response packet from the local computer to the service provider. The process then terminates 1017.
If the presence of a token is detected, then additional information is obtained 1109 (this may include, for example, a list of questions that the user will be asked if the user wishes to bypass secure login for any reason such as a lost or malfunctioning token). The web site hosting the secure enrollment web page then builds and sends 1111 an encrypted site enrollment request packet to the token.
The token then authenticates 1113 the current user as the owner of the token. Preferably, this is accomplished by obtaining biometric data from the user, as by scanning one or more of the user's fingers with a fingerprint scanner built into the token such that neither the captured fingerprints, nor the previously saved owner's fingerprints, ever leave the token. After the user is authenticated, the token decrypts 1113 the site enrollment request packet. The token then saves the service provider's site information to the memory of the token, along with the user's secrets for that service provider, and prepares an encrypted site enrollment response packet.
Next, the online service provider's web module transfers 1115 the encrypted site enrollment response packet from the local computer to the service provider. The process then terminates 1117.
The website then obtains additional information 1205 and/or answers to a list of questions that the user had preselected or agreed upon when enrolling the service provider on the token. This additional information may include, for example, information such as username, password, social security number, secret questions, and the like. Access to the user's account is then granted 1207 upon successful authentication and validation of the answers provided by the user. The process then terminates 1209.
It will be appreciated that various modifications of the foregoing processes and devices are possible. For example, while frequent reference has been made to the use of fingerprint scanners as the basis for biometric data in the devices and methodologies described herein, it will be appreciated that various other types of biometric scanners and data may also be utilized. These include, without limitation, the use of palm scans, iris scans, retinal scans, facial feature scans, odor scans, DNA analysis, handwriting recognition, voice recognition, facial thermographs, and the like.
Moreover, while it is preferred that the tokens described herein have one or more biometric scanners built into them, various embodiments are also possible in accordance with the teachings herein in which the token is used in conjunction with a computer or other device which itself has biometric scanning abilities. In such embodiments, the token and/or the device it is being used in conjunction with may be equipped with security features to ensure that the person using the token and the person whose biometric features are being scanned is the same. By way of specific example, some laptop computers are currently provided with fingerprint scanners as a security feature. In some embodiments of the devices and methodologies described herein, these scanners may be utilized to capture the biometric credentials of the user in place of, or in addition to, a scanner built into the token.
It will also be appreciated that various types of credentials may be utilized in the devices and methodologies described herein, and that such credentials are not limited to biometric credentials. Preferably, the credentials utilized uniquely identify the user and the owner of the device or token and, if the two are not identical, allows the device or token to distinguish between them.
It will further be appreciated that a device or token made in accordance with the teachings herein may be provided with various security features. For example, the device may be adapted to wipe its memory in the event that the device is tampered with.
The above description of the present invention is illustrative, and is not intended to be limiting. It will thus be appreciated that various additions, substitutions and modifications may be made to the above described embodiments without departing from the scope of the present invention. Accordingly, the scope of the present invention should be construed in reference to the appended claims.
This application claims the benefit of the priority date of U.S. Provisional Application No. 60/936,088, filed Jun. 18, 2007, having the same inventors, and which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60936088 | Jun 2007 | US |