1. Technical Field
The invention relates generally to online user network authentication status detection. More particularly, the invention relates to a system and method for determining in a global network the user network authentication status as the user goes from site to site, and providing a transparent/implicit multi-site logon including automatic introduction from one site to the other.
2. Description of the Prior Art
In the world of computer networks and computer network systems, for executing applications on a computer, the application often requires users to authenticate themselves prior to performing any actions to prevent unauthorized access. Typically, a user provides identification by a user name and password combination, and may have to supply other information such that the user can create and later access a private account on a merchant's site.
Prior art mechanisms for cross-network single sign-on, such as Microsoft Passport (www.passport.com) and AOL Screen Name Service (my.screenname.aol.com), require partner sites in the network to direct the user's browser to the central authentication Web site in order to obtain the user's network authentication status. In a global network including partner sites and non-partner sites, it would be advantageous to provide a secure and efficient apparatus and process for partner sites to automatically and independently determine if a user has signed into the global network without the user's browser having to interact with the central authentication site.
A system and method for determining in a global network the user status as the user goes from site to site within the network is provided. Additionally, the system and method provides for transparent or implicit multi-site logon functionality, including automatic introduction from one site to the other using a baseline authentication agency. The system and method provides an architecture for a core global network (referred to herein as NET) that incorporates some or all of the following features and components: a set of baseline authentication agencies responsible for the core global network (NET) services, such as login and user-selected service-provider lookup; a NET and associated DNS records used for cookie sharing, login routing, and the like; and a collection of partner sites accessible via the NET.
In the preferred embodiment of the invention, the baseline authentication agency (referred to herein as BM) manages a subset of the NET user namespace and provides core NET services such as authentication for NET users. The baseline authentication agency supports authentication of NET id's via corresponding passwords or other authentication credentials. After authenticating a user, the baseline authentication agency writes its BAA identification (BAA id) along with an authenticated status of true into a cookie that it sets in a shared domain that can be accessed by NET partner sites.
When an authenticated NET user visits a NET partner site, the NET partner site accesses the shared domain cookie to determine the user's network authentication status and baseline authentication agency. If the user is already authenticated into the network, the NET partner site may then redirect the user's browser to the authentication agency's Web site to request NET id information for the user. The baseline authentication agency distinguishes between sites that have been linked and that have a trust relationship with the user and ones that have not been linked. The baseline authentication agency returns the user's NET id information to the partner site if it's a linked site, thereby performing a seamless authentication. If the site is not linked, the baseline authentication agency returns an authentication error indication.
When a NET user logs out of NET, the user's baseline authentication agency resets the user's authenticated status to false in the shared domain cookie.
When an unauthenticated NET user visits a'NET partner site, the NET partner site attempts to access the shared domain cookie and either does not find the cookie at all, or sees that the authenticated status is false. In either case, the NET partner site sees that the user is not authenticated into NET and thus does not allow access.
a is a flow diagram of a realized NET partner site seamless user authentication detection and automatic login according to the invention;
b is a flow diagram of a realized NET partner site seamless user authentication detection and automatic login according to the invention; and
A system and method for determining in a global network the user status as the user goes from site to site within the network is provided, and can be described with reference to
In the preferred embodiment of the invention, the baseline authentication agency 102 (referred to herein as BAA) manages a subset of the NET user namespace and provides core NET services for NET users. The baseline authentication agency 102 supports authentication of NET id's via corresponding passwords or other authentication credentials. After authenticating the credentials, the baseline authentication agency 102 writes its BAA identification (BAA id) along with an authenticated status of true into a cookie 110 of the shared domain 104 that is accessed by NET partner sites 108. It should be appreciated that both partner sites and BAAs have unique NET identifiers. For example, such identifiers can be referred to uniformly as “NET ids”, or as “partner NET ids” and “BAA NET ids”, respectively.
When an authenticated NET user visits a NET partner site 108, the NET partner site 108 accesses the shared domain cookie 110 to determine the user's baseline authentication agency 102. The NET partner site 108 then redirects the user's browser to the authentication agency's Web site 102 to request NET.id information for the user. The baseline authentication agency 102 distinguishes between sites that have been linked and that have a trust relationship with the user and ones that have not been linked. The baseline authentication agency 102 returns the users NET id information to the partner site 108 if it's a linked site, thereby performing a seamless authentication. If the site is not linked, the baseline authentication agency 102 returns an authentication error indication.
When a NET user logs out of NET, the user's baseline authentication agency 102 resets the user's authenticated status to false in the shared domain cookie 110.
When an unauthenticated NET user visits a NET partner site 108, the NET partner site 108 attempts to access the shared domain cookie 110 and either does not find the cookie at all, or sees that the authenticated status is false. In either case, the NET partner site 108 sees that the user is not authenticated into NET and thus does not allow access.
Design Goals
In this section is a discussion of some of the design goals considered for the preferred embodiment of the invention.
The preferred embodiment of the invention provides an architecture for a system that is sufficiently decentralized to enable a global network (also referred to herein as NET) to assemble a strong partnership of large namespace-owning companies, or baseline authentication agencies (BAAs).
The preferred embodiment of the invention provides means for minimizing barriers to adoption, and routine use of NET's services, by:
The preferred embodiment of the invention provides means for providing user flexibility in privacy controls.
Strategy and Key Concepts
The preferred embodiment of the invention provides the following architectural strategy for achieving the above goals by using the following elements, each element discussed in a section by the same name herein below: NET Accounts and GUIDs, Baseline Authentication Agencies, and Decentralization of Core NET Functionality
NET Accounts and GUIDs
The strategy for addressing the “frictionless service portability” goal, which also provides privacy of the NET login ids (communication addresses), provides a globally unique identifier (GUID) for each NET user account. Such id is essentially a global network account number that will be largely or fully unknown to a user.
It should be appreciated that a GUID may have more than one associated global network login id.
Also, this GUID, and not the user NET LID, is the primary key with which the global network user data records are indexed. With such approach, users are free to change their respective NET LIDs. For example, a user can switch from a first ISP's email LID to a second ISP's LID for authentication and communication services (foo@baa1.com ->foo@baa2.com) without losing their respective global network account and everything associated with it throughout the global network.
For privacy reasons, only the GUID and the name of the authenticating agency are shared with third party sites unless the user opts-in to distributing the global network LID. In general, unless a user has established a trust relationship or linkage with a third party site, not even the GUID is made available to the site.
Decentralization of Core Global Network (NET) Functionality
It is undesirable to a candidate global network BAA for the global network architecture to have a significant centralization of authentication, wherein global network servers operated by other global network BAAs would have to be depended on and/or are able to track logins to a given global network BAA, such as the candidate global network BAA.
It is also undesirable to a candidate partner site for the global network to depend on interaction with a global network server to determine the network authentication status of users who visit the candidate site. Hence a decentralization requirement imposed on the architecture is to enable partner sites in the network to autonomously determine the network authentication status of users who visit, without having to direct users to a global network server in order to accomplish this.
The design strategy for addressing such requirements according to the preferred embodiment of the invention is as follows:
The global network architecture includes the following components:
These components of the global network architecture are further described in detail herein below
Baseline Authentication Agencies (BAAs)
In the preferred embodiment of the invention, BAAs are the backbone of the global network. They collectively manage the global network namespace and provide core global network services, such as basic login, account maintenance, service subscription management and lookup, etc. for global network users. Following is an example of a BAA's responsibilities.
The baseline authentication agency supports authentication of global network ids via corresponding passwords or other authentication credentials. After authenticating the user, the BAA creates and signs authentication credentials for a given user, and deposits such credentials in a centralized domain.
The BAA needs to be able to distinguish between a partner site that has been linked, i.e. established a trust relationship with the user, and one that has not yet been linked. For linked sites, the global network id information for a logged in user is implicitly shared as the user visits or surfs to the partner site. For an unlinked site, the user is anonymous relative to the global network when visiting the site.
In the preferred embodiment of the invention, the global network owns and operates an Internet domain, i.e. the NET domain, such as net.org. This NET domain is used as the destination domain for cookies that need to be shared among global network BAAs and/or shared among global network partner sites. The login model herein discussed calls for a cookie to be made available to all global network partners by being set on the NET domain or a subdomain thereof, e.g. partners.net.org, and giving each partner a DNS entry on a subdomain thereof, e.g. aol.com.partners.net.org.
The NET domain is also used to facilitate routing of login credential submissions to the proper BAA for the user, as described in U.S. patent application Ser. No. 10/086,104, filed Feb. 26, 2002.
Example Implementation
This section describes in detail an example implementation according to the preferred embodiment of the invention. It should be appreciated that the particular implementation is by example only, and that other implementations are possible and within the spirit and scope of the invention. The sample implementation can be described with reference to
The example partner site implementation consists of the following files, the contents of which are listed below.
Table A below shows an example html file for the home page of the partner site according to the invention.
Table B below shows an example JavaScript program segment for detecting a user's status according to the invention.
Seamless Login Example
This section illustrates interactions when the user visits a global network partner site after previously logging into the global network during the same session, and can be described with reference to
The following steps are meant by example only, and other ways of achieving the same results are within the scope and spirit of the invention.
The returned auction123.com home page (302) includes a JavaScript SRC=tag which tells the browser to fetch an auction123.com-served JavaScript file from auction123.com.partners.net.org as well as other JavaScript code that is used herein below. (303)
It checks to see if 1) the site id is known or valid; 2) the user's credentials are valid; and 3) the user has authorized seamless login to that site. Because all conditions are true in this case, it generates and returns a JavaScript snippet containing a short-lived, auction123.com specific, encrypted global network login token bound to a JavaScript variable, such as “netLoginTok”. (306)
In the case netLoginTok has a value, then the auction123.com JavaScript code proceeds with the seamless global network login processing as follows:
The JavaScript code writes out an HTML form that includes the global network login token as a hidden field and the auction123.com global network login handler as the action (target URL). It then auto-submits the form such that the browser POSTS the form to the auction123.com global network login handler URL on auction123.com. (307)
The aol.com (BAA) server decrypts the login token and performs a series of validation checks on it, such as: not expired and if the IP of requesting auction123.com server is in allowed list for site id=auction123.com.
The validation checks pass and the aol.com server returns the user's global network account number to the auction123.com server. (309)
Accordingly, although the invention has been described in detail with reference to particular preferred embodiments, persons possessing ordinary skill in the art to which this invention pertains will appreciate that various modifications and enhancements may be made without departing from the spirit and scope of the claims that follow.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US03/21244 | 7/2/2003 | WO | 12/22/2004 |
Number | Date | Country | |
---|---|---|---|
60393658 | Jul 2002 | US |