# Patent

## Title
Establishing historical usage-based hardware trust

## Abstract

Establishing trust according to historical usage of selected hardware involves providing a usage history for a selected client device; and extending trust to a selected user based on the user's usage history of the client device. The usage history is embodied as signed statements issued by a third party or an authentication server. The issued statement is stored either on the client device, or on an authentication server. The usage history is updated every time a user is authenticated from the selected client device. By combining the usage history with conventional user authentication, an enhanced trust level is readily established. The enhanced, hardware-based trust provided by logging on from a trusted client may eliminate the necessity of requiring secondary authentication for e-commerce and financial services transactions, and may also be used to facilitate password recovery and conflict resolution in the case of stolen passwords.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a Continuation of U.S. application Ser. No. 14/051,221, filed Oct. 10, 2013, entitled ESTABLISHING HISTORICAL USAGE-BASED HARDWARE TRUST, which is a Continuation of U.S. application Ser. No. 13/467,901 (now U.S. Pat. No. 8,612,747), filed May 9, 2012, entitled System and Method for Establishing Historical Usage-Based Hardware Trust, which is a Continuation of U.S. application Ser. No. 12/960,326 (now U.S. Pat. No. 8,181,015), filed Dec. 3, 2010, entitled System and Method for Establishing Historical Usage-Based Hardware Trust, which is a Continuation of U.S. application Ser. No. 11/615,858 (now U.S. Pat. No. 7,849,307), filed Dec. 22, 2006, entitled System and Method for Establishing Historical Usage-Based Hardware Trust, which is a Continuation of U.S. application Ser. No. 10/465,163 (now U.S. Pat. No. 7,174,454), filed Jun. 18, 2003, entitled System and Method for Establishing Historical Usage-Based Hardware Trust, which is a Continuation-in-Part of U.S. application Ser. No. 10/276,842 (now U.S. Pat. No. 7,216,361), filed Nov. 19, 2002, entitled Adaptive Multi-Tier Authentication System, which is a National Stage Entry and claims priority to PCT Application No. PCT/US00/13890, entitled Adaptive Multi-Tier Authentication System, filed 19 May 2000, each of which is incorporated herein in its entirety by this reference thereto.
This application is also related to U.S. Ser. No. 11/737,666, filed 19 Apr. 2007, entitled Adaptive Multi-Tier Authentication System, which was issued as U.S. Pat. No. 7,908,644 on 15 Mar. 2011, which is a Continuation of U.S. application Ser. No. 10/276,842, filed 19 Nov. 2002, entitled Adaptive Multi-Tier Authentication System, which was issued as U.S. Pat. No. 7,216,361 on 8 May 2007, which is a National Stage Entry and claims priority to PCT Application No. PCT/US00/13890, entitled Adaptive Multi-Tier Authentication System, filed 19 May 2000.


BACKGROUND
In the field of authentication, there are generally three possible ways for a user to authenticate. The authentication can depend on what the user knows, for example, a password; what the user is, for example a fingerprint or a retinal pattern; or what the user has, for example, trusted hardware such as a keyed smart card or the like. As telecommunication and data networks continue to proliferate, the issue of network security becomes more and more important. Any one of the above alternatives is conventionally thought to provide good authentication.
At one time, a conventional logon procedure, in which the user provided a user name or log-on and a password to gain access to network services, provided adequate authentication for most purposes. While such a level of security remains sufficient for many applications, the increasing availability of such services as financial services, retail shopping, and healthcare information services over publicly accessible networks dictates a need for a level of authentication that cannot be provided through the use of simple password-based logon procedures, without more.
Confounding the issue is the fact that passwords are easily compromised. Passwords can be compromised in a number of ways. Users often keep their passwords written on easily found Post-It® notes or scraps of paper, instead of committing them to memory. Users may disclose their passwords to friends and co-workers. What's more, users are often unwilling to keep track of multiple passwords for different applications, so they end up using a single default password, although security experts strongly recommend use of a unique password for each application. Hackers can use computer programs capable of systematically trying various alphanumeric combinations to launch brute force attacks on systems they are trying to access until a combination is found that grants them access to the targeted system.
Establishing trust between a client and a server machine through the mere provision of a password is insufficient for transactions involving highly sensitive information. As such transactions become commonplace, the need for a relatively uncomplicated way of establishing higher levels of trust between becomes more acute. One way of providing increased trust is through the combination of at least two of the three alternatives described above. It is generally thought that combining two methods of authentication provides an excellent level of trust.
The art provides examples of various schemes for establishing higher levels of trust. For example, M. Ensor, T. Kowalski, A. Primatic, User-transparent Security method and apparatus for authenticating user terminal access to a network, U.S. Pat. No. 5,721,780 (Feb. 24, 1998) describe a method and apparatus for implementing security in data and telecommunications networks that is independent of and transparent to users. When a user terminal connects to a network control center, the network control center generates an encrypted password based on the user terminal's network coupling identifier. The password is downloaded to the terminal and simultaneously saved by the network control center. Subsequently, when a user attempts to access the network, the network control center retrieves the password from the terminal and compares it with the stored copy. If there is a match, network access is granted. With each logon from the terminal, a new password is generated and downloaded to the user terminal.
While the exchange of passwords described by Ensor, et al. allows a user terminal to be established as trusted on a session-by-session basis, the trust is based on a static designation that provides no information about the terminal's usage history. Furthermore, Ensor, et al. fail to contemplate combining the method described with other methods of authentication to provide superior quality authentication.
K. Seamons, W. Winsborough, Trust negotiation in a client/server data processing network using automatic incremental credential disclosure, U.S. Pat. No. 6,349,338 (Feb. 19, 2002) describe a system in which trust is negotiated between two unfamiliar data processing apparatus by incrementally exchanging credentials. Providing multiple opportunities for exchange of credentials makes it possible to negotiate a high level of trust between two machines previously unfamiliar with each other than a single exchange of credentials. The approach provided by Seamons, et al. involves the iterative exchange of credentials and credential access policies, wherein the credentials are primarily issued by various third parties and describe the holder of the credential. The approach does not contemplate establishing a machine as a trusted machine based on historical usage of the machine that doesn't involve multiple exchanges of third party credentials. There is also no teaching of combining the approach with other approaches to provide an even higher level of trust.
K. Shin, K. Kobayashi, T. Aratani, Device and method for authenticating access rights to resources, U.S. Pat. No. 5,987,134 (Nov. 16, 1999) provides an approach that requires several different components including challenging data, user identifying information and an access ticket. Shin, et al. are primarily concerned with authenticating a user, rather than establishing a particular piece of hardware as trusted. They do not contemplate using historical usage information in combination with other means of authentication as a means of negotiating a high level of trust.
It would advance the art significantly to provide a means of establishing a particular piece of hardware, such as a client machine, as trusted hardware. It would be desirable to provide a method of establishing a trusted machine based on the machine's history of use, eliminating the necessity of exchanging credentials issued by third parties such as certification authorities. Furthermore, it would be a great advantage to provide a way of negotiating increased trust by combining historical usage information from a trusted machine with other authentication methods, such as user passwords.
SUMMARY
Establishing trust according to historical usage of selected hardware includes: providing a usage history for a selected client device; and extending trust to a selected user at a level at least partially based on the user's history of use of the selected client device. The usage history is embodied as signed statements issued by a third party for example, or an authentication server. In at least one embodiment, the issued statement is downloaded to the selected client device, and is provided by the client device when a user requests service and/or access from a network server. In another embodiment, the issued statement is stored on an authentication server, and is checked after provision of a public key from a key pair by the selected client device. The usage history is updated every time a user is authenticated from the selected client device. By combining the usage history with a conventional user authentication, a greater level of trust may be established than through user authentication alone in a very simple manner. The enhanced trust provided by logging on from a trusted client may eliminate the necessity of requiring secondary authentication for e-commerce and financial services transactions. In the case of lost or stolen passwords, the enhanced hardware-based trust facilitates password recovery and conflict resolution between the legitimate user logging on from the trusted hardware and the thief logging on from another client, and password recovery, when the thief has changed the password.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block schematic diagram of a user remote access scenario according to one or more embodiments;
FIG. 2 is a block schematic diagram of a multiple access point example according to one or more embodiments;
FIG. 3 is a block schematic diagram of a task viewpoint according to one or more embodiments;
FIG. 4 provides a generalized schematic diagram of a system for establishing historical usage-based hardware trust according to one or more embodiments;
FIG. 5 provide a schematic diagram of a first embodiment of the system of FIG. 4 according to one or more embodiments; and
FIG. 6 provides a schematic diagram of a second embodiment of the system of FIG. 4 according to one or more embodiments.



DETAILED DESCRIPTION
Various embodiments provide an adaptive multi-tier authentication system in a computer environment. In some embodiments, a system can automatically adapt to the user's login patterns. Alternately or additionally, some embodiments provide a system that does not require additional hardware from the service provider by using a query-based security system.
Users commonly have their passwords compromised (lost or stolen). Attackers can typically use the stolen username/password to impersonate a user from a remote site. This compromises the service that the attackers infiltrate, which is costly to the service providers. At least one embodiment makes this type of impersonation more difficult by providing secondary tiers of authentication which are used ONLY when the user attempts a connection from a new environment (i.e., from a new computer, kiosk, etc.).
Referring to FIG. 1, a simple user interface scenario is shown. The user 101 logs onto the server 102. The server retrieves the user's stored use profile 103. The location where the user 101 is accessing the server is checked against the user's profile to determine a trust level for the session. The server 102 determines if any additional security measures must be taken based on the trust level.
One or more embodiments analyze the user's use of a service and typical access points to augment the trust level of each access point. If the user is always dialing in from home to access a service such as AOL, some embodiments observe the pattern and, after a while, determine that the trust level is high when the user accesses the service from home. At that point, some embodiments allow immediate login into the service without asking for any additional information.
When the user suddenly goes travelling and accesses the service on the road, then the user's trust level is downgraded and more authentication questions are asked before allowing access. For example, the service may tell the user “We are surprised to see you dialing in from California. We just need to do a little extra background check on your identity. How many dogs did you tell us that you have? What are their names?”
With respect to FIG. 2, the user may be a salesperson and travel to different cities. This user's patterns may be random at best because his access points are all across the country 201, 202, 203. The server 204 takes this into account and determines that this is the user's normal pattern. The server 204 records this fact in the user's profile 205.
However, if the user logs in to the server 204 at one location 201 and then another user logs in using the same identity at another location 203, the server 204 will immediately downgrade the trust level of the second location and ask more authentication questions. This also applies to the situation when a user logs in the United States, for example, and a similar login occurs in Japan five hours later. One or more embodiments know that the time frame is improbable.
At least one embodiment automates the process of tracking information such as IP addresses, where the user dialed in from, and the access times. A profile of the combination of data is used to as a basis to determine the level of trust. For example, at least one embodiment uses the following criteria to adapt authentication for a system:

    
    
        Where the user is dialing in from (e.g., phone number).
        Type of machine being used (e.g., Mac or PC).
        Operating system on the machine
        Cookies/tags that are on the machine.
        IP address (e.g., same IP address or same subnet).
    
    


When a user logs on, some distinct aspect of the computer is recorded. In the typical case, a random token is written into memory, or onto the disk of the client computer. Logon proceeds as usual ONLY if the existing token is located on the computer used for the login (e.g., an identifying cookie would be used on a per-computer basis for HTTP transactions). When the element that is used to identify the computer does not match the user's “standard list of computers used” then some secondary questions are asked as described above (e.g., “What is your birthday?”, “What is your home phone number?”) before completing the authentication.
The system adapts and learns new sites that the user logs in from, and then proceeds to use the minimal username/password from those sites only. Other techniques could be used to identify the logon environment as listed above (i.e., IP address or dial in line), but the creation of a unique mark (file, cookie, etc.) ensures verification of the environment.
The user is not burdened with having to carry anything with him that could to be lost or stolen (e.g., smart cards). This approach is analogous to traditional human identification systems, where, when the user is known, then additional proof of ID is not requested.
The user immediately knows when something is wrong when they are suddenly asked for more information than usual. For example, if the user logs in from home, which is a normal situation, and the system asks for more information than normal, such as the user's dog's name. The unusual request would be an indicator to the user that something may be wrong, prompting the user to call into customer support to get more information.
Referring to FIG. 3, the User Access Control module 301 accepts user input such as login attempts and responses to the system's questions. The User Access Control module 301 has the responsibility to search and check for information such as IP address, originating phone number, or cookies on the user's machine. The Evaluate User Patterns module 302 takes the information obtained from the User Access Control module 301 and compares it to the usage information from the user/usage profile 303 for the specific user. The user/usage profile contains all of the user information that the user used to establish the account and also the usage profile detailing the user's access patterns.
The trust level of the current user login location is calculated and the Evaluate User Patterns module 302 determines if any additional questions to the user are required. Questions are sent through the User Access Control module 301 to the user. The user's answers are relayed from the User Access Control module 301 back to the Evaluate User Patterns module 302. The Evaluate User Patterns module 302 grants or denies access based on the trust level and answers for any questions that it asked. The Evaluate User Patterns module 302 updates the user/usage profile 303 for the user with the information just obtained.
The fact that a typical user logs onto a server from a single machine time and again over an extended period suggests that when the user logs on, or tries to log on from the single machine, either less authentication should be required, or a higher trust level should be established. The higher trust level may be used to enable such things as financial transactions or even logging on or changing passwords without knowing the current password.
FIG. 4 shows a schematic diagram of a system for establishing historical usage based hardware trust according to one or more embodiments. Typically, the system includes a client 401 and a server 402. The client device may be a desktop or laptop computer, a PDA (personal digital assistant) or information manager such as a PALM PILOT (PALM INC., MILPITAS Calif.), or a WAP (wireless access protocol) device such as a cellular telephone or a pager. A selected user of a selected client device logs onto the server 402, or another server, from time to time, to request service and/or access. For the sake of description, the server has been shown as a single machine. In actual practice, the server may constitute more than one server. In at least one embodiment, the server 402 can be an authentication server for an online service such as AOL (AOL INCORPORATED, DULLES Va.). Following authentication, the user may be granted service/and or access for a web server, an application server or a database server, for example. In another embodiment, the server from which service and/or access is sought additionally authenticates the user.
In addition to the client device 401 and the server 402, the system includes a usage history 403 for the client device. The usage history typically consists of one or more signed statements providing records of the client device's usage history. While the practitioner of ordinary skill will readily be able to discern parameters for the usage history, the usage history typically includes dates and times of use by the selected user. The usage history also includes information regarding significant events, such as password changes to user accounts that are made from the client. In at least one embodiment, the signed statements embodying the usage history are issued by the server 402, in which case, the usage history includes the client device's logon history to that particular server. In another embodiment, the signed statements are issued by an independent credentialing authority, in which case, the usage history includes usage information for more than one target server. The statements may be signed by attaching a message authentication code, such as a keyed hash, rendering use of keys unnecessary. When the user logs on from the selected client 401, the server 402 evaluates the usage history 403.
As indicated above, some embodiments are based on the recognition that a user often logs onto an online service from the same client time and again over an extended period. When such a usage history can be shown for a particular client, it merits tagging the client as a trusted machine. The client's status as a trusted machine indicates that when the selected user logs on, or attempts to log on from the trusted client, it is permissible to require less authentication, or that a higher trust level should be established. Thus, the hardware is being certified because it is being used. The current system and method are metaphors for the common real-world occurrence of extending a higher level of trust to a person based on familiarity. For example, a security guard is less likely to be suspicious of someone whom they see every day. Typically, the usage history is evaluated in connection with a conventional logon, during which the user provides a password, or some other secret. Additional security measures are possible. For example, the signed statements may be obscured and/or the password or other secret can be encrypted into the statement.
FIG. 5 shows an example embodiment, wherein the usage history 403a is stored on the client 401, and is transmitted from the client to the server 402 each time the user logs on. Following logon, the server updates the usage history by issuing a new signed statement 403b, which is subsequently stored on the client 401.
Some embodiments provide a level of security acceptable to most users in as simple and convenient a manner as possible. The conventional wisdom in the world of computer security is that more security is almost always better. However, in actual practice, users generally are willing to sacrifice some security for convenience and expediency, as shown by the fact that most users use the same password over and over, rather than taking the trouble to formulate and remember separate passwords for each individual need, as they are often advised to do. Thus, some embodiments provide an acceptable level of increased security over single mode authentication as conveniently and unobtrusively as possible.
FIG. 6 shows an example embodiment in which the usage history 403 is stored on the server 402. In this embodiment, a key pair, including public and private keys, for the client 401 is provided. Typically, the key pair is stored in key repositories, for example in the ROM (read only memory) of the selected client. The private key (not shown) functions to establish the identity of the client 401, because the client, apart from the private key, otherwise contains little specific identifiable information. During logon, the public key 404 is pushed to the server 402, which allows the server 402 to access the usage history 403 for the client stored at the server. Following logon, the usage history is updated.
At times, this is particularly advantageous in that it is a completely passive arrangement, relying on the fact that no one, other than the selected user, has physical access to the selected client. A hacker, attempting to circumvent the current system would need to have physical access to the client to pirate the key pair or the usage history.
One useful application relates to password recovery when a user has forgotten their password, or when a hacker has stolen it. IT professionals know that password recovery imposes a significant burden in lost man-hours and wasted computing resources and poses a great inconvenience to users. When a user, having forgotten their password, attempts to logon from the trusted client using an incorrect password, the server, after evaluating the usage history and seeing that the logon originates from a trusted machine, can allow the user to change the account password, based on the increased level of trust inferred from the fact that is it unlikely that anyone other than the selected user has physical access to the trusted client. Allowing the password to be changed easily spares the user considerable inconvenience and spares the expense and waste of resources on the administrative side. In a case where a hacker has stolen the original password and, using the stolen password, has changed the account password, the user attempts to log on from the trusted machine with the original password. The server, detecting that the logon from the original user originates from the trusted client can allow the original user to change the password, based on implied trust from the signed statements. In another case, the rightful user of the account may change the password, after which someone else attempts to change the password from another client device. The server, seeing that the password was originally changed by a user logging on from a trusted client, resolves the conflict in favor of the user on the trusted client. Similarly, in the case of two users attempting to log on from different clients with the same password, the server resolves the conflict in favor of the user logging on from the trusted client.
Some embodiments apply to fields of e-commerce and network-based financial services. Many services require a second password or other credential to be provided when a higher level of authentication is needed. For example, Amazon.com may not use a password to buy a product, but may request a password to change the address that the product is automatically shipped to (in a password-free purchase). AOL requires a second “shopping” password to perform an actual purchase, above and beyond the login password needed to access the email account and other services. In both cases, the signed statements (and implied trust in the hardware holding those statements) may be used in place of the secondary password. Thus, additional trust is deduced based on the signed statement.
Some embodiments can be deployed in deterring hackers. For example, hackers often launch brute force attacks, using software applications that automate the process of systematically trying different alphanumeric combinations to find the correct password. The server, recognizing that a login originates from a trusted client, can authenticate the password promptly. When the login originates from a non-trusted client, the server can extend the time period required for authenticating the password. The increased time can be long enough to encourage those attempting to hack into the account to abandon the effort.
Some embodiments can be used to implement security policies. For example, changes to the account, such as changing passwords or user preferences, or creating new sub-accounts may only be allowed when the user logs in from the trusted machine.
Although various embodiments have been described herein, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the various embodiments.

## Claims

1. A server associated with a service provider for establishing trust across a network, the server comprising:
at least one processor; and
one or more computer-readable storage memory devices embodying processor-executable instructions which, responsive to execution by the at least one processor, are configured to enable the server to:
track, using the server, information unique to each log-in for a selected user from one or more devices associated with the selected user; and
extend, using the server, an increase in trust to the selected user at a trust level based, at least in part, on any of frequency of said log-ins and number or number of the tracked log-ins from the one or more devices associated with the selected user.

2. The server of claim 1, wherein the server is further configured to:
receive a specific log-in request from the selected user;
obtain information associated with the specific log-in request; and
compare the information associated with the specific log-in request with a profile associated with the selected user effective to determine the trust level to extend to the selected user for the specific log-in request, the profile based, at least in part, on the tracked information unique to each log-in.

3. The server of claim 2, wherein the server is further configured to receive usage history information from the selected user as part of the specific log-in request.

4. The server of claim 1, wherein the tracked information comprises at least one signed statement associated with the selected user's usage history.

5. The server of claim 4, wherein the usage history comprises password change history associated with the selected user.

6. The server of claim 4, wherein the server is further configured to:
receive a public key from the selected user as part of the specific log-in request; and
use the public key to access the selected user's usage history.

7. The server of claim 1, wherein the server is further configured to:
receive an incorrect password, from the selected user, for access to an associated service;
determine the selected user has an extended increase in trust; and
responsive to determining the selected user has an extended increase in trust, enable the selected user to change passwords for the associated service.

8. The server of claim 7, wherein the extended increase in trust is based, at least in part, on one or more communications from the selected user originating from a trusted client device.

9. server associated with a service provider and configured to establish trust across a network, the server comprising:
at least one processor; and
one or more computer-readable storage memory devices comprising processor executable instructions which, responsive to execution by the at least one processor, are configured to enable the server to:
write a token into any of a memory or a disk that is associated with a selected client device of one or more client devices associated with a selected user;
confirm that the token exists on the selected client device during each log-in of the selected user at the selected client device; and
extend an increase in trust to the selected client device at a level at least partially based on any of frequency of the log-ins and number of the log-ins by the selected user at the selected client device.

10. The server of claim 9, wherein the increase in trust comprises immediate log-in for an associated service without asking for any additional information from the selected user.

11. The server of claim 9, wherein the server is further configured to:
responsive to receiving a log-in request for a particular service associated with the selected user, request additional information from a client device of the one or more client devices requesting the log-in if information the token does not match with usage history associated with the selected user; and
grant or deny access to the particular service based, at least in part on a response to the request for additional information.

12. The server of claim 9, wherein the server is further configured to:
issue a new usage history statement for each log-in from the selected client device.

13. The server of claim 12, wherein the new usage history statement comprises a signed statement.

14. The server of claim 12, wherein the server is further configured to send the new usage history statement to the selected client device.

15. The server of claim 9, wherein the server is further configured to:
receive an incorrect password, from the selected client device, for access to an associated service;
determine the selected client device has an extended increase in trust; and
responsive to determining the selected client device has an extended increase in trust, enable the selected client device to change passwords for the associated service.

16. A method for establishing trust in relation to a service provider, comprising:
tracking information unique to each log-in for a selected user from one or more devices associated with the selected user;
extending an increase in trust to the selected user at a level based, at least in part, on a frequency of said tracked log-ins or a number of said tracked log-ins from the one or more devices associated with the selected user;
identifying a new access point that the selected user logs-in from; and
requesting authentication information from the selected user instead of extending an increase in trust, to the selected user, for the log-in associated with the new access point.

17. The method of claim 16 further comprising:
receiving the requested authentication information;
verifying the requested authentication information; and
responsive to verifying the requested information, extending an increase in trust to the selected user for future log-ins associated with the new access point.

18. The method of claim 16, wherein the tracked information comprises at least one of:
a device type;
a device operating system;
an IP address or subnet;
a cookie stored on an associated access point;
a tag stored on an associated access point; or
a location associated with where the selected user connects in from.

19. The method of claim 16 further comprising:
receiving an incorrect password, from the selected user, for access to an associated service;
determining the selected user has an extended increase in trust; and
responsive to determining the selected user has an extended increase in trust, enabling the selected user to change passwords for the associated service.

20. The method of claim 16 further comprising:
receiving a public key from the selected user as part of the specific log-in request;
using the public key to access the selected user's usage history, and
extending the increase in trust to the selected user based, at least in part, on the accessed usage history.