US7418502B2 - Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server - Google Patents

Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server Download PDF

Info

Publication number
US7418502B2
US7418502B2 US11/275,531 US27553106A US7418502B2 US 7418502 B2 US7418502 B2 US 7418502B2 US 27553106 A US27553106 A US 27553106A US 7418502 B2 US7418502 B2 US 7418502B2
Authority
US
United States
Prior art keywords
user
server
authentication server
authenticated
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/275,531
Other versions
US20060168643A1 (en
Inventor
John Hal Howard
Darren L. Anderson
Jeffrey C. Kunins
Max E. Metral
Ryan W. Battle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US11/275,531 priority Critical patent/US7418502B2/en
Publication of US20060168643A1 publication Critical patent/US20060168643A1/en
Application granted granted Critical
Publication of US7418502B2 publication Critical patent/US7418502B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations

Definitions

  • This invention relates to user authentication systems. More particularly, the invention relates to the authentication of a user through an authentication server prior to granting access to an affiliate server
  • the authentication system also provides a mechanism for the central storage of user profile information.
  • Web sites may provide various types of information to users, offer products or services for sale, and provide games and other forms of entertainment.
  • Many web sites require users to “register” by providing information about themselves before the web server grants access to the site. This registration information may include the user's name, account number, address, telephone number, email address, computer platform, age, gender, or hobbies.
  • the registration information collected by the web site may be necessary to complete transactions (such as commercial or financial transactions). Additionally, information can be collected which allows the web site operator to learn about the visitors to the site to better target its future marketing activities or adjust the information provided on the web site.
  • the collected information may also be used to allow the web site to contact the user directly (e.g., via email) in the future to announce, for example, special promotions, new products, or new features of the web site.
  • the web site When registering with a web site for the first time, the web site typically requests that the user select a login ID and an associated password.
  • the login ID allows the web site to identify the user and retrieve the user's information during subsequent user visits to the web site. Generally, the login ID must be unique to the web site such that no two users have the same login ID.
  • the password associated with the login ID allows the web site to authenticate the user during subsequent visits to the web site. The password also prevents others (who do not know the password) from accessing the web site using the user's login ID. This password protection is particularly important if the web site stores private or confidential information about the user, such as financial information or medial records.
  • each web site may require entry of similar registration information about the user, such as the user's name, mailing address, and email address. This repeated entry of identical data is tedious when visiting multiple web sites in a short period of time. Many web sites require the user to register before accessing any information provided on the web site. Thus, the user must enter the requested registration information before they can determine whether the site contains any information of interest.
  • a user named Bob Smith may select “smith” as his login ID for a particular site. If the site already has a user with a login ID of “smith” or requires a login ID of at least six characters, then the user must select a different login ID. After registering at numerous web sites, Bob Smith may have a collection of different login IDs, such as: smith, smith1, bsmith, smithb, bobsmith, bob_smith, and smithbob.
  • different passwords may be associated with different login IDs due to differing password requirements of the different web sites (e.g., password length requirements or a requirement that each password include at least one numeric character).
  • Bob Smith must maintain a list of web sites, login IDS, and associated passwords for all sites that he visits regularly.
  • the invention allows a web user to maintain a single login ID (and associated password) that provides access to multiple web servers or services. Once the user has logged into an authentication server, it is not necessary to re-enter the login ID or user information when accessing other affiliated web servers.
  • the single login ID has an associated user profile that contains the registration information typically requested by web servers during a user registration process.
  • the authentication server authenticates each login ID using the associated password.
  • the individual web servers are not required to authenticate the individual users. Further, to protect the user's password, the individual web servers do not receive the user's password. Instead, the individual web servers receive an indication of whether the user is logged into the authentication server and how long since the user login ID was last authenticated by the authentication server.
  • the web servers execute a code sequence that allows each web server to interact with the authentication server.
  • An implementation of the invention receives a request from a network server to authenticate a user who is attempting to gain access to the network server. The process determines whether the user was already authenticated by the authentication server. If the user was already authenticated, then the network server is notified that the user is authenticated. If the user was not already authenticated by the authentication server, then login information is retrieved from the user and compared to authentication information maintained by the authentication server. The network server is notified that the user is authenticated if the retrieved login information matches the authentication information.
  • aspects of the invention provide for the determination of an elapsed time since the last authentication of the user. If the elapsed time since the last authentication of the user exceeds a timeout period identified by the network server, then the authentication of the user is refreshed.
  • the user's login information and the authentication information maintained by the authentication server is concealed from the network server.
  • a user profile is communicated to the network server when providing notice that the user is authenticated.
  • Another aspect of the invention provides a cookie to an Internet browser operated by the user if the retrieved login information matches the authentication information.
  • the cookie may contain user profile information, user authentication information, or a list of network servers previously visited by the user.
  • FIG. 1 illustrates an exemplary network environment in which the present invention is utilized.
  • FIG. 2 is a block diagram showing pertinent components of a computer in accordance with the invention.
  • FIGS. 3 and 4 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server when a user of the client computer system seeks access to the affiliate server.
  • FIGS. 5 and 6 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server in a different situation.
  • FIG. 1 illustrates an exemplary network environment in which the present invention is utilized.
  • a client computer system 100 is coupled to a network 102 .
  • network 102 is the Internet (or the World-Wide Web).
  • affiliate servers 104 , 106 , and 108 are coupled to network 102 , thereby allowing client computer system 100 to access web servers 104 , 106 , and 108 via the network.
  • affiliate servers 104 , 106 , and 108 are also referred to as “web servers” and “network servers”.
  • An authentication server 110 is also coupled to network 102 , allowing communication between the authentication server and client computer system 100 and web servers 104 , 106 , and 108 .
  • authentication server 110 is also a web server capable of interacting with web browsers and other web servers.
  • data is communicated between the authentication server, client computer system, and web servers using the hypertext transfer protocol (http), a protocol commonly used on the Internet to exchange information.
  • https hypertext transfer protocol
  • An authentication database 112 is coupled to authentication server 110 .
  • the authentication database 112 contains information necessary to authenticate users and also identifies which elements of the user profile information should be provided to a particular affiliate server when the user accesses the affiliate server.
  • the authentication database 112 is shown separately from the authentication server 110 , in other embodiments of the invention, the authentication database is contained within the authentication server.
  • the authentication process authenticates a user of client computer 100 seeking access to an affiliate server 104 , 106 , or 108 .
  • the authentication server 110 authenticates the user of client computer 100 by requesting authenticating information, such as the user's login ID and password. If the user is successfully authenticated, then authentication server 110 notifies the appropriate affiliate server that the user is authenticated.
  • the authentication server 110 may provide certain user profile information to the affiliate server, such as the user's email address, user preferences, and the type of Internet browser installed on client computer 100 . This user profile information is associated with the user's login ID so that each time the user logs into an affiliate server, the associated user profile information is available to provide to the affiliate server This user profile allows the user to enter the information once and use that information during subsequent logins to new affiliate servers.
  • the term “affiliate server” is defined herein as a web server that has “registered” or otherwise established a relationship or affiliation with the authentication server 110 .
  • Each affiliate server 104 , 106 , and 108 includes a code sequence (not shown) that allows the affiliate server to communicate with the authentication server 110 when a user (who is also registered with the authentication server) requests access to the affiliate server. Additional details is regarding the authentication process and the interaction between the client computer, the affiliate servers, and the authentication server are provided below.
  • FIG. 2 shows a general example of a computer 130 that can be used with the present invention.
  • a computer such as that shown in FIG. 2 can be used for client computer system 100 , authentication server 110 , or any of the affiliate servers 104 , 106 or 108 .
  • Computer 130 includes one or more processors or processing units 132 , a system memory 134 , and a bus 136 that couples various system components including the system memory 134 to processors 132 .
  • the bus 136 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
  • the system memory 134 includes read only memory (ROM) 138 and random access memory (RAM) 140 .
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system (BIOS) 142 containing the basic routines that help to transfer information between elements within computer 130 , such as during start-up, is stored in ROM 138 .
  • Computer 130 further includes a hard disk drive 144 for reading from and writing to a hard disk (not shown), a magnetic disk drive 146 for reading from and writing to a removable magnetic disk 148 , and an optical disk drive 150 for reading from or writing to a removable optical disk 152 such as a CD ROM or other optical media.
  • the hard disk drive 144 , magnetic disk drive 146 , and optical disk drive 150 arc connected to the bus 136 by an SCSI interface 154 or some other appropriate interface.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for computer 130 .
  • a number of program modules may be stored on the hard disk 144 , magnetic disk 148 , optical disk 152 , ROM 138 , or RAM 140 , including an operating system 158 , one or more application programs 160 , other program modules 162 , and program data 164 .
  • a user may enter commands and information into computer 130 through input devices such as a keyboard 166 and a pointing device 168 .
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
  • These and other input devices are connected to the processing unit 132 through an interface 170 that is coupled to the bus 136 .
  • a monitor 172 or other type of display device is also connected to the bus 136 via an interface, such as a video adapter 174 .
  • personal computers typically include other peripheral output devices (not shown) such as speakers and printers.
  • Computer 130 commonly operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 176 .
  • the remote computer 176 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 130 , although only a memory storage device 178 has been illustrated in FIG. 2 .
  • the logical connections depicted in FIG. 2 include a local area network (LAN) 180 and a wide area network (WAN) 182 .
  • LAN local area network
  • WAN wide area network
  • computer 130 When used in a LAN networking environment, computer 130 is connected to the local network 180 through a network interface or adapter 184 .
  • computer 130 When used in a WAN networking environment, computer 130 typically includes a modem 186 or other means for establishing communications over the wide area network 182 , such as the Internet.
  • the modem 186 which may be internal or external, is connected to the bus 136 via a serial port interface 156 .
  • program modules depicted relative to the personal computer 130 may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • the data processors of computer 130 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer.
  • Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory.
  • the invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor.
  • the invention also includes the computer itself when programmed according to the methods and techniques described below.
  • programs and other executable program components such as the operating system are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computer, and are executed by the data processor(s) of the computer.
  • both the user of client computer system 100 and the operator of affiliate server 104 “register” with the authentication server 110 .
  • This registration is a one-time process which provides necessary information to the authentication server.
  • the user of client computer system 100 registers by providing the user's name, mailing address, email address, and various other information about the user or the client computer system.
  • the user is assigned (or selects) a login ID, which is a common login ID used to access any affiliate server.
  • the login ID may also be referred to herein as a “user name” or “login name”.
  • the user selects a password associated with the login ID which is used for authentication purposes.
  • the user can visit any affiliate server (i.e., affiliate servers that are also registered with the same authentication server) without requiring any additional authentication and without re-entering user information that is already contained in the user profile.
  • the operator of affiliate server 104 registers with the authentication server 110 by providing information about the affiliate server (e.g., server name and internet address). Additionally, the affiliate server provides information regarding its authentication requirements.
  • the authentication requirements can be specified as the maximum time allowed since the last login and entry of authentication information by the user as well as the maximum time allowed since the last “refresh” of the authentication information by the user. Refreshing the authentication information refers to the process of having the user re-enter the password to be certain that the appropriate user is still operating the client computer system. This periodic refreshing of authentication information is useful if the user leaves their computer system without logging out of the authentication server, thereby allowing another individual to access affiliate servers using the login ID of the previous user.
  • each individual affiliate server can establish its own authentication requirements which are enforced by the authentication server. After registering with the authentication server, the affiliate server can use the authentication server to authenticate any user that has also registered with the authentication server.
  • FIGS. 3 and 4 illustrate the interaction between the client computer system 100 , the affiliate server 104 , and the authentication server 110 when a user of the client computer system seeks access to the affiliate server.
  • the example illustrated with respect to FIGS. 3 and 4 describes the situation in which the user of the client computer system 100 has not yet logged into the affiliate server 104 and has not yet been authenticated by the authentication server 110 .
  • the lines in FIG. 3 labeled “A” through “H” represent the flow of information or activities during the authentication process.
  • the arrows on the lines indicate the direction of the process flow.
  • the label “A” represents the beginning of the process and the label “H” represents the end of the process.
  • the corresponding steps in FIG. 4 are indicated with the label in parenthesis.
  • FIG. 4 is a flow diagram illustrating the authentication process when a user of the client computer system 100 seeks access to the affiliate server 104 .
  • the process begins when the user of the client computer system accesses a web page on the affiliate server (step 200 ).
  • the client computer system includes a web browser, such as the “Internet Explorer” web browser manufactured and distributed by Microsoft Corporation of Redmond, Washington, for accessing various web sites.
  • the affiliate server determines whether the user seeking access to the server is already logged into the affiliate server (e.g., authenticated) at step 202 . In this example, the user is not logged into the affiliate server, so the user must be authenticated before the affiliate server will allow access.
  • the affiliate server redirects the user's browser to the authentication server.
  • the authentication server generates a sign-in web page and communicates the web page to the client computer system for display on the user's browser (step 204 ).
  • the sign-in web page requests the user's login ID and password, which were established when the user registered with the authentication server.
  • the user fills-in the requested information on the sign-in web page and clicks a “sign-in” button on the web page to send the information entered to the authentication server (step 206 ).
  • the authentication server Upon receiving the information from the user of the client computer system, the authentication server compares the entered information with the information stored in the authentication database (step 208 ). If the user-entered information is not correct (i.e., does not match the information stored in the authentication database) then the authentication server generates and communicates a web page to the user indicating the login ID and password combination were not valid (step 210 ). The web page may give the user an opportunity to re-enter the login ID and password by returning to step 204 . Confidential information (such as the login ID and password) is communicated using a secure protocol such as SSL (secure sockets layer). Various other secure protocols or encryption mechanisms can be used to communicate confidential information between the authentication server and the client computer system.
  • SSL secure sockets layer
  • the authentication server copies the appropriate cookies to the client computer system and redirects the user's browser to the affiliate server (step 212 ).
  • a “cookie” is a piece of data provided to a web browser by a web server. The data (i.e., cookie) is sent back to the web server by the web browser during subsequent accesses to the web server.
  • one cookie contains information regarding the date and time that the user was authenticated by the authentication server.
  • Another cookie contains information regarding the user profile.
  • the authentication server also updates (or creates) a cookie that contains a list of all sites (or web servers) visited by the user since the last logout from the authentication server.
  • the cookie is updated by is adding the current affiliate server to the list of sites visited.
  • This list of sites visited is used to remove cookies from the client computer system when the user logs out of the authentication server. For example, when the user logs out, the authentication server sends a message to each web server on the list of sites visited. Each message is a request for the web server to delete any cookies it placed on the client computer system (e.g., through a browser running on the client computer system).
  • Cookies written to the client computer system by the authentication server cannot be read by any affiliate server. Similarly, cookies written to the client computer system by a particular affiliate server cannot be read by any other affiliate server.
  • the cookies written by an affiliate server are encrypted using a key that is unique to the affiliate server, thereby preventing other affiliate servers from reading the data stored in the cookies.
  • the authentication server also communicates the user profile information to the affiliate server (step 214 ) through the client computer system.
  • the user of the client computer system can specify during the registration process what types of profile information should be provided to various types of web servers. For example, a user may specify that all commerce-related web servers should receive the user's mailing address, but restrict the mailing address from all other types of web sites.
  • the affiliate server After receiving the user's profile information, the affiliate server generates a personalized web page for the user and communicates the web page to the user's browser (step 216 ). Additionally, the affiliate server copies one or more cookies to the client computer system which include information indicating that the user of the client computer system has been authenticated and indicating the period of time during which the authentication is valid. Each time the user enters a new web page request on the same affiliate server, the data in the cookie is copied to the affiliate server along with the page request. Thus, the affiliate server will not repeatedly check the authentication of a user during each subsequent page request. However, if a particular period of time has passed (referred to as a timeout period) since the last authentication process by the authentication server, then the affiliate server may request a re-authorization of the user. In this situation, the user is asked to refresh their authorization by re-entering their login ID and password. If the entered information is valid, then the timeout period is reset and the existing cookie is replaced with a new cookie containing the new timeout information.
  • the affiliate server may request additional user information that is not already contained in the user profile.
  • the additional information may include information unique to that site (e.g., account number) or information about the user's preferences and how the user intends to use the web site.
  • the user may be required, during an initial visit to a web site, to provide additional information for the benefit of the associated web server. This additional information is then stored by the affiliate server such that the user will not be required to re-enter the data during subsequent visits to the same web site.
  • affiliate server 104 and authentication server 110 are both coupled to network 102 (see FIG. 1 ), no direct connections are shown in FIG. 3 .
  • the affiliate server 104 and the authentication server 110 do not communicate directly with one another. Instead, communications between the affiliate server and the authentication server pass through the client computer system.
  • affiliate server 104 communicates directly with authentication server 110 , using network 102 or another data communication medium. Thus, rather than communicating through client computer system 100 , the communications flow directly between the authentication server and the affiliate server.
  • the authentication server and the affiliate server communicate directly, the user's authentication information (e.g., password) is not exposed to the affiliate server.
  • FIGS. 5 and 6 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server in a different situation.
  • the example illustrated with respect to FIGS. 5 and 6 describes the situation in which the client computer system 100 has already been authenticated by the authentication server 110 (e.g., when logging into a different affiliate server), but the client computer system is not yet logged into the affiliate server 104 .
  • the user of the client computer system 100 accesses a web page on the affiliate server 104 (step 230 ).
  • the affiliate server determines that the user is not authenticated (with respect to the affiliate server) and redirects the user's browser to the authentication server (step 232 ).
  • the authentication server retrieves the affiliate information entered during registration of the affiliate to determine whether the most recent authentication of the user is within the affiliate's timeout period (step 234 ). If the most recent authentication is not within the timeout period (i.e., not acceptable), then the authentication server retrieves and authenticates the user's login ID and password (step 238 ) using, for example, the procedures discussed above with respect to FIG. 4 .
  • the authentication server copies the appropriate cookies to the client computer system and redirects the user's browser back to the affiliate server (step 240 ).
  • the authentication server also copies certain elements of the user's profile information to the affiliate server (step 242 ).
  • the affiliate server then generates a personalized web page and communicates the web page to the user's browser (step 244 ).
  • the affiliate server also copies a cookie to the client computer system containing information indicating that the user of the client computer system has been authenticated and indicating the period of time during which the authentication is valid. Each time the user enters a new web page request on the same affiliate server, the data in the cookie is copied to the affiliate server along with the page request. Thus, the affiliate server will not repeatedly check the authentication of a user during each subsequent page request.
  • a particular affiliate server may utilize only a portion of the services available from the authentication server.
  • the affiliate server may perform its own authentication of the user, but requests the user profile information from the authentication server.
  • the affiliate server may rely on the authentication server to authenticate the user, but the affiliate server ignores the user profile information and, instead, collects information from the user itself.
  • the same login ID is used to identify a particular user on all affiliate servers.
  • this configuration presents a situation in which affiliate servers could exchange information collected about the user with other affiliate servers, relying on the common login ID.
  • a second embodiment of the invention uses a different login ID for each of the affiliate servers. This use of different login IDs is transparent to the user, who only knows of the login ID used to log into the authentication server.
  • the authorization server maintains a list or cross-reference table that correlates the user's login ID on the different affiliate servers.
  • the affiliate servers do not know the login ID used on other affiliate servers for the same user and, therefore, cannot exchange information about the user with other affiliate servers.
  • a particular embodiment of the invention has been described and illustrated herein with reference to multiple web servers and an authentication server coupled to a common data communication network.
  • teachings of the present invention can be applied to any type of web server or other computing device that accesses a centralized authentication system to authenticate a user and retrieve associated user profile information.
  • the present invention can be utilized without requiring a data communication network. Instead, one or more temporary or permanent data communication links are established between an authentication server and an affiliate server for exchanging data.
  • a system has been described that allows a web server to authenticate a user seeking access to the web server.
  • the authentication is performed by an authentication server without exposing the user's authentication information (e.g., password) to the web server.
  • the web server receives a message from the authentication server indicating whether the authentication was successful.
  • the authentication server may also provide user profile information to the web server if the user is authenticated.
  • the authentication server provides a centralized device for authenticating users and maintaining the user's profile information. This single user profile may be provided to multiple affiliate servers without requiring repeated entry of information by the user (i.e., entering user information at each new web site visited). Once the user has been authenticated by the authentication server, the user can visit multiple web sites that are affiliated with the authentication server without re-entering the authentication information for each web site.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A system determines whether to grant user access. Prior to granting access, the network server authenticates the user by sending an authentication request. An authentication server determines whether the user has been authenticated. If the user has been authenticated, the network server is notified and the network server grants access. If the user is not authenticated, then login information is retrieved and compared to maintained authentication information. If the retrieved login information matches, then the network server is notified. The retrieved login and authentication information is concealed from the network server. If the user is authenticated, a user profile is communicated to the network server with the notification. If the user is successfully authenticated, a cookie is provided to a user Internet browser. The cookie contains information regarding user authentication, the user's profile, and a list of network servers previously visited.

Description

RELATED APPLICATIONS
This application is a continuation of U.S. application Ser. No. 10/427,080, filed Apr. 30, 2003, which is a continuation of U.S. application Ser. No. 09/349,619, filed Jul. 8, 1999 and entitled “Authenticating Access to a Network Server Without Communicating Login Information Through the Network Server”, both of which are hereby incorporated by reference in their entirety.
TECHNICAL FIELD
This invention relates to user authentication systems. More particularly, the invention relates to the authentication of a user through an authentication server prior to granting access to an affiliate server The authentication system also provides a mechanism for the central storage of user profile information.
BACKGROUND OF THE INVENTION
The recent growth in popularity of the Internet has significantly increased the number of Internet users and the number of Internet sites (also referred to as “web sites”). Web sites may provide various types of information to users, offer products or services for sale, and provide games and other forms of entertainment. Many web sites require users to “register” by providing information about themselves before the web server grants access to the site. This registration information may include the user's name, account number, address, telephone number, email address, computer platform, age, gender, or hobbies. The registration information collected by the web site may be necessary to complete transactions (such as commercial or financial transactions). Additionally, information can be collected which allows the web site operator to learn about the visitors to the site to better target its future marketing activities or adjust the information provided on the web site. The collected information may also be used to allow the web site to contact the user directly (e.g., via email) in the future to announce, for example, special promotions, new products, or new features of the web site.
When registering with a web site for the first time, the web site typically requests that the user select a login ID and an associated password. The login ID allows the web site to identify the user and retrieve the user's information during subsequent user visits to the web site. Generally, the login ID must be unique to the web site such that no two users have the same login ID. The password associated with the login ID allows the web site to authenticate the user during subsequent visits to the web site. The password also prevents others (who do not know the password) from accessing the web site using the user's login ID. This password protection is particularly important if the web site stores private or confidential information about the user, such as financial information or medial records.
If a user visits several different web sites, each web site may require entry of similar registration information about the user, such as the user's name, mailing address, and email address. This repeated entry of identical data is tedious when visiting multiple web sites in a short period of time. Many web sites require the user to register before accessing any information provided on the web site. Thus, the user must enter the requested registration information before they can determine whether the site contains any information of interest.
After registering with multiple web sites, the user must remember the specific login ID and password used with each web site or other Internet service. Without the correct login ID and password, the user must re-enter the registration information. A particular user is likely to have different login IDs and associated passwords on different web sites. For example, a user named Bob Smith may select “smith” as his login ID for a particular site. If the site already has a user with a login ID of “smith” or requires a login ID of at least six characters, then the user must select a different login ID. After registering at numerous web sites, Bob Smith may have a collection of different login IDs, such as: smith, smith1, bsmith, smithb, bobsmith, bob_smith, and smithbob. Further, different passwords may be associated with different login IDs due to differing password requirements of the different web sites (e.g., password length requirements or a requirement that each password include at least one numeric character). Thus, Bob Smith must maintain a list of web sites, login IDS, and associated passwords for all sites that he visits regularly.
SUMMARY OF THE INVENTION
The invention allows a web user to maintain a single login ID (and associated password) that provides access to multiple web servers or services. Once the user has logged into an authentication server, it is not necessary to re-enter the login ID or user information when accessing other affiliated web servers. The single login ID has an associated user profile that contains the registration information typically requested by web servers during a user registration process. The authentication server authenticates each login ID using the associated password. The individual web servers are not required to authenticate the individual users. Further, to protect the user's password, the individual web servers do not receive the user's password. Instead, the individual web servers receive an indication of whether the user is logged into the authentication server and how long since the user login ID was last authenticated by the authentication server. The web servers execute a code sequence that allows each web server to interact with the authentication server.
An implementation of the invention receives a request from a network server to authenticate a user who is attempting to gain access to the network server. The process determines whether the user was already authenticated by the authentication server. If the user was already authenticated, then the network server is notified that the user is authenticated. If the user was not already authenticated by the authentication server, then login information is retrieved from the user and compared to authentication information maintained by the authentication server. The network server is notified that the user is authenticated if the retrieved login information matches the authentication information.
Other aspects of the invention provide for the determination of an elapsed time since the last authentication of the user. If the elapsed time since the last authentication of the user exceeds a timeout period identified by the network server, then the authentication of the user is refreshed.
In the described implementation of the invention, the user's login information and the authentication information maintained by the authentication server is concealed from the network server.
In accordance with another aspect of the invention, a user profile is communicated to the network server when providing notice that the user is authenticated.
Another aspect of the invention provides a cookie to an Internet browser operated by the user if the retrieved login information matches the authentication information. The cookie may contain user profile information, user authentication information, or a list of network servers previously visited by the user.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary network environment in which the present invention is utilized.
FIG. 2 is a block diagram showing pertinent components of a computer in accordance with the invention.
FIGS. 3 and 4 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server when a user of the client computer system seeks access to the affiliate server.
FIGS. 5 and 6 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server in a different situation.
DETAILED DESCRIPTION
FIG. 1 illustrates an exemplary network environment in which the present invention is utilized. A client computer system 100 is coupled to a network 102. In this example, network 102 is the Internet (or the World-Wide Web). However, the teachings of the present invention can be applied to any data communication network. Multiple affiliate servers 104, 106, and 108 are coupled to network 102, thereby allowing client computer system 100 to access web servers 104, 106, and 108 via the network. Affiliate servers 104, 106, and 108 are also referred to as “web servers” and “network servers”. An authentication server 110 is also coupled to network 102, allowing communication between the authentication server and client computer system 100 and web servers 104, 106, and 108. Although referred to as an “authentication server”, authentication server 110 is also a web server capable of interacting with web browsers and other web servers. In this example, data is communicated between the authentication server, client computer system, and web servers using the hypertext transfer protocol (http), a protocol commonly used on the Internet to exchange information.
An authentication database 112 is coupled to authentication server 110. The authentication database 112 contains information necessary to authenticate users and also identifies which elements of the user profile information should be provided to a particular affiliate server when the user accesses the affiliate server. Although the authentication database 112 is shown separately from the authentication server 110, in other embodiments of the invention, the authentication database is contained within the authentication server.
The authentication process, as described below, authenticates a user of client computer 100 seeking access to an affiliate server 104, 106, or 108. The authentication server 110 authenticates the user of client computer 100 by requesting authenticating information, such as the user's login ID and password. If the user is successfully authenticated, then authentication server 110 notifies the appropriate affiliate server that the user is authenticated. As part of the user authentication process, the authentication server 110 may provide certain user profile information to the affiliate server, such as the user's email address, user preferences, and the type of Internet browser installed on client computer 100. This user profile information is associated with the user's login ID so that each time the user logs into an affiliate server, the associated user profile information is available to provide to the affiliate server This user profile allows the user to enter the information once and use that information during subsequent logins to new affiliate servers.
The term “affiliate server” is defined herein as a web server that has “registered” or otherwise established a relationship or affiliation with the authentication server 110. Each affiliate server 104, 106, and 108 includes a code sequence (not shown) that allows the affiliate server to communicate with the authentication server 110 when a user (who is also registered with the authentication server) requests access to the affiliate server. Additional details is regarding the authentication process and the interaction between the client computer, the affiliate servers, and the authentication server are provided below.
FIG. 2 shows a general example of a computer 130 that can be used with the present invention. A computer such as that shown in FIG. 2 can be used for client computer system 100, authentication server 110, or any of the affiliate servers 104, 106 or 108.
Computer 130 includes one or more processors or processing units 132, a system memory 134, and a bus 136 that couples various system components including the system memory 134 to processors 132. The bus 136 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. The system memory 134 includes read only memory (ROM) 138 and random access memory (RAM) 140. A basic input/output system (BIOS) 142, containing the basic routines that help to transfer information between elements within computer 130, such as during start-up, is stored in ROM 138.
Computer 130 further includes a hard disk drive 144 for reading from and writing to a hard disk (not shown), a magnetic disk drive 146 for reading from and writing to a removable magnetic disk 148, and an optical disk drive 150 for reading from or writing to a removable optical disk 152 such as a CD ROM or other optical media. The hard disk drive 144, magnetic disk drive 146, and optical disk drive 150 arc connected to the bus 136 by an SCSI interface 154 or some other appropriate interface. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for computer 130. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 148 and a removable optical disk 152, it should be appreciated by those skilled in the art that other types of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk 144, magnetic disk 148, optical disk 152, ROM 138, or RAM 140, including an operating system 158, one or more application programs 160, other program modules 162, and program data 164. A user may enter commands and information into computer 130 through input devices such as a keyboard 166 and a pointing device 168. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are connected to the processing unit 132 through an interface 170 that is coupled to the bus 136. A monitor 172 or other type of display device is also connected to the bus 136 via an interface, such as a video adapter 174. In addition to the monitor, personal computers typically include other peripheral output devices (not shown) such as speakers and printers.
Computer 130 commonly operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 176. The remote computer 176 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer 130, although only a memory storage device 178 has been illustrated in FIG. 2. The logical connections depicted in FIG. 2 include a local area network (LAN) 180 and a wide area network (WAN) 182. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.
When used in a LAN networking environment, computer 130 is connected to the local network 180 through a network interface or adapter 184. When used in a WAN networking environment, computer 130 typically includes a modem 186 or other means for establishing communications over the wide area network 182, such as the Internet. The modem 186, which may be internal or external, is connected to the bus 136 via a serial port interface 156. In a networked environment, program modules depicted relative to the personal computer 130, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
Generally, the data processors of computer 130 are programmed by means of instructions stored at different times in the various computer-readable storage media of the computer. Programs and operating systems are typically distributed, for example, on floppy disks or CD-ROMs. From there, they are installed or loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory. The invention described herein includes these and other various types of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in conjunction with a microprocessor or other data processor. The invention also includes the computer itself when programmed according to the methods and techniques described below.
For purposes of illustration, programs and other executable program components such as the operating system are illustrated herein as discrete blocks, although it is recognized that such programs and components reside at various times in different storage components of the computer, and are executed by the data processor(s) of the computer.
Prior to executing the authentication process described below, both the user of client computer system 100 and the operator of affiliate server 104 “register” with the authentication server 110. This registration is a one-time process which provides necessary information to the authentication server. The user of client computer system 100 registers by providing the user's name, mailing address, email address, and various other information about the user or the client computer system. As part of the user registration process, the user is assigned (or selects) a login ID, which is a common login ID used to access any affiliate server. The login ID may also be referred to herein as a “user name” or “login name”. Additionally, the user selects a password associated with the login ID which is used for authentication purposes. After registering and logging into the authentication server, the user can visit any affiliate server (i.e., affiliate servers that are also registered with the same authentication server) without requiring any additional authentication and without re-entering user information that is already contained in the user profile.
The operator of affiliate server 104 registers with the authentication server 110 by providing information about the affiliate server (e.g., server name and internet address). Additionally, the affiliate server provides information regarding its authentication requirements. The authentication requirements can be specified as the maximum time allowed since the last login and entry of authentication information by the user as well as the maximum time allowed since the last “refresh” of the authentication information by the user. Refreshing the authentication information refers to the process of having the user re-enter the password to be certain that the appropriate user is still operating the client computer system. This periodic refreshing of authentication information is useful if the user leaves their computer system without logging out of the authentication server, thereby allowing another individual to access affiliate servers using the login ID of the previous user. If a user requests access to the affiliate server after the maximum time allowed, then the user is re-authenticated (i.e., refreshed) by the authentication server. Thus, although there is a central authentication server, each individual affiliate server can establish its own authentication requirements which are enforced by the authentication server. After registering with the authentication server, the affiliate server can use the authentication server to authenticate any user that has also registered with the authentication server.
FIGS. 3 and 4 illustrate the interaction between the client computer system 100, the affiliate server 104, and the authentication server 110 when a user of the client computer system seeks access to the affiliate server. The example illustrated with respect to FIGS. 3 and 4 describes the situation in which the user of the client computer system 100 has not yet logged into the affiliate server 104 and has not yet been authenticated by the authentication server 110. The lines in FIG. 3 labeled “A” through “H” represent the flow of information or activities during the authentication process. The arrows on the lines indicate the direction of the process flow. The label “A” represents the beginning of the process and the label “H” represents the end of the process. The corresponding steps in FIG. 4 are indicated with the label in parenthesis.
FIG. 4 is a flow diagram illustrating the authentication process when a user of the client computer system 100 seeks access to the affiliate server 104. The process begins when the user of the client computer system accesses a web page on the affiliate server (step 200). The client computer system includes a web browser, such as the “Internet Explorer” web browser manufactured and distributed by Microsoft Corporation of Redmond, Washington, for accessing various web sites. The affiliate server determines whether the user seeking access to the server is already logged into the affiliate server (e.g., authenticated) at step 202. In this example, the user is not logged into the affiliate server, so the user must be authenticated before the affiliate server will allow access. To authenticate the user, the affiliate server redirects the user's browser to the authentication server.
In this example, the user has not yet logged into the authentication server. Thus, the authentication server generates a sign-in web page and communicates the web page to the client computer system for display on the user's browser (step 204). The sign-in web page requests the user's login ID and password, which were established when the user registered with the authentication server. The user fills-in the requested information on the sign-in web page and clicks a “sign-in” button on the web page to send the information entered to the authentication server (step 206).
Upon receiving the information from the user of the client computer system, the authentication server compares the entered information with the information stored in the authentication database (step 208). If the user-entered information is not correct (i.e., does not match the information stored in the authentication database) then the authentication server generates and communicates a web page to the user indicating the login ID and password combination were not valid (step 210). The web page may give the user an opportunity to re-enter the login ID and password by returning to step 204. Confidential information (such as the login ID and password) is communicated using a secure protocol such as SSL (secure sockets layer). Various other secure protocols or encryption mechanisms can be used to communicate confidential information between the authentication server and the client computer system.
If the user-entered information is correct (i.e., matches the information stored in the authentication database) then the authentication server copies the appropriate cookies to the client computer system and redirects the user's browser to the affiliate server (step 212). A “cookie” is a piece of data provided to a web browser by a web server. The data (i.e., cookie) is sent back to the web server by the web browser during subsequent accesses to the web server. With respect to step 212, one cookie contains information regarding the date and time that the user was authenticated by the authentication server. Another cookie contains information regarding the user profile. The authentication server also updates (or creates) a cookie that contains a list of all sites (or web servers) visited by the user since the last logout from the authentication server. The cookie is updated by is adding the current affiliate server to the list of sites visited. This list of sites visited is used to remove cookies from the client computer system when the user logs out of the authentication server. For example, when the user logs out, the authentication server sends a message to each web server on the list of sites visited. Each message is a request for the web server to delete any cookies it placed on the client computer system (e.g., through a browser running on the client computer system).
Cookies written to the client computer system by the authentication server cannot be read by any affiliate server. Similarly, cookies written to the client computer system by a particular affiliate server cannot be read by any other affiliate server. The cookies written by an affiliate server are encrypted using a key that is unique to the affiliate server, thereby preventing other affiliate servers from reading the data stored in the cookies.
The authentication server also communicates the user profile information to the affiliate server (step 214) through the client computer system. In a particular embodiment of the invention, the user of the client computer system can specify during the registration process what types of profile information should be provided to various types of web servers. For example, a user may specify that all commerce-related web servers should receive the user's mailing address, but restrict the mailing address from all other types of web sites.
After receiving the user's profile information, the affiliate server generates a personalized web page for the user and communicates the web page to the user's browser (step 216). Additionally, the affiliate server copies one or more cookies to the client computer system which include information indicating that the user of the client computer system has been authenticated and indicating the period of time during which the authentication is valid. Each time the user enters a new web page request on the same affiliate server, the data in the cookie is copied to the affiliate server along with the page request. Thus, the affiliate server will not repeatedly check the authentication of a user during each subsequent page request. However, if a particular period of time has passed (referred to as a timeout period) since the last authentication process by the authentication server, then the affiliate server may request a re-authorization of the user. In this situation, the user is asked to refresh their authorization by re-entering their login ID and password. If the entered information is valid, then the timeout period is reset and the existing cookie is replaced with a new cookie containing the new timeout information.
If the user of the client computer system is new to the affiliate server, the affiliate server may request additional user information that is not already contained in the user profile. The additional information may include information unique to that site (e.g., account number) or information about the user's preferences and how the user intends to use the web site. Thus, although the user generates a user profile that is stored on the authentication server, the user may be required, during an initial visit to a web site, to provide additional information for the benefit of the associated web server. This additional information is then stored by the affiliate server such that the user will not be required to re-enter the data during subsequent visits to the same web site.
Although affiliate server 104 and authentication server 110 are both coupled to network 102 (see FIG. 1), no direct connections are shown in FIG. 3. In this embodiment of the invention, the affiliate server 104 and the authentication server 110 do not communicate directly with one another. Instead, communications between the affiliate server and the authentication server pass through the client computer system. However, in an alternate embodiment of the invention, affiliate server 104 communicates directly with authentication server 110, using network 102 or another data communication medium. Thus, rather than communicating through client computer system 100, the communications flow directly between the authentication server and the affiliate server. Although the authentication server and the affiliate server communicate directly, the user's authentication information (e.g., password) is not exposed to the affiliate server.
After a user has logged into the authentication server, it is not necessary to re-enter the login ID, password, or other user information when accessing other affiliated web servers. The subsequent affiliate web servers accessed will determine from the authentication server that the user is already authenticated.
FIGS. 5 and 6 illustrate the interaction between the client computer system, a particular affiliate server and the authentication server in a different situation. The example illustrated with respect to FIGS. 5 and 6 describes the situation in which the client computer system 100 has already been authenticated by the authentication server 110 (e.g., when logging into a different affiliate server), but the client computer system is not yet logged into the affiliate server 104.
In this example, the user of the client computer system 100 accesses a web page on the affiliate server 104 (step 230). The affiliate server determines that the user is not authenticated (with respect to the affiliate server) and redirects the user's browser to the authentication server (step 232). Next, the authentication server retrieves the affiliate information entered during registration of the affiliate to determine whether the most recent authentication of the user is within the affiliate's timeout period (step 234). If the most recent authentication is not within the timeout period (i.e., not acceptable), then the authentication server retrieves and authenticates the user's login ID and password (step 238) using, for example, the procedures discussed above with respect to FIG. 4.
If the most recent authentication is acceptable, then the authentication server copies the appropriate cookies to the client computer system and redirects the user's browser back to the affiliate server (step 240). The authentication server also copies certain elements of the user's profile information to the affiliate server (step 242). The affiliate server then generates a personalized web page and communicates the web page to the user's browser (step 244). The affiliate server also copies a cookie to the client computer system containing information indicating that the user of the client computer system has been authenticated and indicating the period of time during which the authentication is valid. Each time the user enters a new web page request on the same affiliate server, the data in the cookie is copied to the affiliate server along with the page request. Thus, the affiliate server will not repeatedly check the authentication of a user during each subsequent page request.
In an embodiment of the invention, a particular affiliate server may utilize only a portion of the services available from the authentication server. For example, the affiliate server may perform its own authentication of the user, but requests the user profile information from the authentication server. In another example, the affiliate server may rely on the authentication server to authenticate the user, but the affiliate server ignores the user profile information and, instead, collects information from the user itself.
In one embodiment of the invention, the same login ID is used to identify a particular user on all affiliate servers. However, this configuration presents a situation in which affiliate servers could exchange information collected about the user with other affiliate servers, relying on the common login ID. To avoid this situation, a second embodiment of the invention uses a different login ID for each of the affiliate servers. This use of different login IDs is transparent to the user, who only knows of the login ID used to log into the authentication server. The authorization server maintains a list or cross-reference table that correlates the user's login ID on the different affiliate servers. In this embodiment, the affiliate servers do not know the login ID used on other affiliate servers for the same user and, therefore, cannot exchange information about the user with other affiliate servers.
A particular embodiment of the invention has been described and illustrated herein with reference to multiple web servers and an authentication server coupled to a common data communication network. However, the teachings of the present invention can be applied to any type of web server or other computing device that accesses a centralized authentication system to authenticate a user and retrieve associated user profile information. Furthermore, the present invention can be utilized without requiring a data communication network. Instead, one or more temporary or permanent data communication links are established between an authentication server and an affiliate server for exchanging data.
Thus, a system has been described that allows a web server to authenticate a user seeking access to the web server. The authentication is performed by an authentication server without exposing the user's authentication information (e.g., password) to the web server. The web server receives a message from the authentication server indicating whether the authentication was successful. The authentication server may also provide user profile information to the web server if the user is authenticated. Thus, the authentication server provides a centralized device for authenticating users and maintaining the user's profile information. This single user profile may be provided to multiple affiliate servers without requiring repeated entry of information by the user (i.e., entering user information at each new web site visited). Once the user has been authenticated by the authentication server, the user can visit multiple web sites that are affiliated with the authentication server without re-entering the authentication information for each web site.
Although the invention has been described in language specific to structural features and/or methodological steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of implementing the claimed invention.

Claims (12)

1. One or more computer-readable media having stored thereon a computer program comprising the following steps:
receiving a request by a user to gain access to a network server through an Internet browser operated by the user;
generating a request to authenticate the user;
communicating the request to an authentication server;
receiving a message from the authentication server indicating whether the user is authenticated, wherein:
the authentication server provides a cookie to the Internet browser operated by the user if the user is authenticated by the authentication server; and
the cookie cannot be read by the network server; granting access to the user if the user is authenticated by the authentication server, wherein granting access comprises redirecting the Internet browser to the network server; and
denying access to the user if the user is not authenticated by the authentication server.
2. One or more computer-readable media as recited in claim 1 wherein the network server is a web server coupled to the Internet.
3. One or more computer-readable media as recited in claim 1 further including:
receiving a user profile from the authentication server if the user is authenticated by the authentication server.
4. One or more computer-readable media as recited in claim 1 wherein the network server provides a second cookie to the Internet browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user authentication information.
5. One or more computer-readable media as recited in claim 1 wherein the network server provides a second cookie to the Internet browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user profile information.
6. A method comprising:
receiving a request by a user to gain access to a network server via an Internet browser operated by the user;
generating a request to authenticate the user;
communicating the request to an authentication server;
receiving a message from the authentication server indicating whether the user is authenticated;
receiving a user profile from the authentication server if the user is authenticated by the authentication server;
granting access to the user if the user is authenticated by the authentication server, wherein granting access comprises redirecting the Internet browser to the network server;
providing a cookie to the Internet browser operated by the user if the user is authenticated by the authentication server, wherein the cookie is provided by the authentication server and cannot be read by the network server; and
denying access to the user if the user is not authenticated by the authentication server.
7. A method as recited in claim 6 further comprising:
providing a second cookie to the Internet browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user authentication information.
8. A method as recited in claim 6 further comprising:
providing a second cookie to the Internet browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user profile information.
9. A method comprising:
receiving a request at an authentication server to authenticate a user, responsive to a request by the user to gain access to a network server through a browser being operated by the user;
if the user has not already been authenticated by the authentication server prior to receipt of the request by the authentication server, receiving user login information from the user, wherein communication of the user login information from the user to the authentication server bypasses the network server;
transmitting a message from the authentication server indicating whether the user is authenticated, wherein the network server grants the user access to the network server based on the message if the user is authenticated by the authentication server and the network server denies the user access to the network server based on the message if the user is not authenticated by the authentication server;
providing a cookie to the browser operated by the user if the user is authenticated by the authentication server, wherein the cookie is provided by the authentication server and cannot be read by the network server; and
redirecting the browser to the network server if the user is authenticated by the authentication server.
10. A method as recited in claim 9 further comprising:
providing a second cookie to the browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user authentication information.
11. A method as recited in claim 9 further comprising:
providing a second cookie to the browser operated by the user if the user is authenticated by the authentication server, wherein the second cookie contains user profile information.
12. A method as recited in claim 9 further comprising: transmitting a user profile from the authentication server if the user is authenticated by the authentication server.
US11/275,531 1999-07-08 2006-01-12 Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server Expired - Fee Related US7418502B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/275,531 US7418502B2 (en) 1999-07-08 2006-01-12 Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/349,619 US6584505B1 (en) 1999-07-08 1999-07-08 Authenticating access to a network server without communicating login information through the network server
US10/427,080 US7016960B2 (en) 1999-07-08 2003-04-30 Authenticating user access to a network server without communicating user authentication cookie to the network server
US11/275,531 US7418502B2 (en) 1999-07-08 2006-01-12 Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/427,080 Continuation US7016960B2 (en) 1999-07-08 2003-04-30 Authenticating user access to a network server without communicating user authentication cookie to the network server

Publications (2)

Publication Number Publication Date
US20060168643A1 US20060168643A1 (en) 2006-07-27
US7418502B2 true US7418502B2 (en) 2008-08-26

Family

ID=23373238

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/349,619 Expired - Lifetime US6584505B1 (en) 1999-07-08 1999-07-08 Authenticating access to a network server without communicating login information through the network server
US10/427,080 Expired - Fee Related US7016960B2 (en) 1999-07-08 2003-04-30 Authenticating user access to a network server without communicating user authentication cookie to the network server
US11/275,531 Expired - Fee Related US7418502B2 (en) 1999-07-08 2006-01-12 Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US09/349,619 Expired - Lifetime US6584505B1 (en) 1999-07-08 1999-07-08 Authenticating access to a network server without communicating login information through the network server
US10/427,080 Expired - Fee Related US7016960B2 (en) 1999-07-08 2003-04-30 Authenticating user access to a network server without communicating user authentication cookie to the network server

Country Status (1)

Country Link
US (3) US6584505B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996881B1 (en) * 2004-11-12 2011-08-09 Aol Inc. Modifying a user account during an authentication process
US20140351405A1 (en) * 2013-05-02 2014-11-27 Nomi Technologies, Inc. First party cookie system and method
US11265310B2 (en) 2017-10-19 2022-03-01 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding

Families Citing this family (211)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2290986T3 (en) 1997-03-12 2008-02-16 Nomadix, Inc. NAME TRANSMITTER OR ROUTER.
JP4545317B2 (en) * 1998-10-28 2010-09-15 ヤフー! インコーポレイテッド Internet browser interface control method and controllable browser interface
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US20070130347A1 (en) * 1998-12-08 2007-06-07 Yodlee.Com, Inc. Method and Apparatus for Providing Calculated and Solution-Oriented Personalized Summary-Reports to a User through a Single User-Interface
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
US6584505B1 (en) * 1999-07-08 2003-06-24 Microsoft Corporation Authenticating access to a network server without communicating login information through the network server
US6427175B1 (en) * 1999-09-24 2002-07-30 Clickmarks, Inc Method and apparatus for collaborative remote link management using sharable online bookmarks
WO2001031885A2 (en) 1999-10-22 2001-05-03 Nomadix, Inc. Gateway device having an xml interface and associated method
US7185333B1 (en) 1999-10-28 2007-02-27 Yahoo! Inc. Method and system for managing the resources of a toolbar application program
US20020186249A1 (en) 1999-10-28 2002-12-12 Qi Lu Method and system of facilitating automatic login to a web site using an internet browser
US20020186255A1 (en) * 1999-10-28 2002-12-12 Shafron Thomas Joshua Method and system of facilitating on-line shopping using an internet browser
WO2001033477A2 (en) 1999-11-04 2001-05-10 Jpmorgan Chase Bank System and method for automated financial project management
US7321864B1 (en) * 1999-11-04 2008-01-22 Jpmorgan Chase Bank, N.A. System and method for providing funding approval associated with a project based on a document collection
US7127500B1 (en) * 1999-11-10 2006-10-24 Oclc Online Computer Library Center, Inc. Retrieval of digital objects by redirection of controlled vocabulary searches
US8571975B1 (en) 1999-11-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for sending money via E-mail over the internet
US7082532B1 (en) * 1999-12-30 2006-07-25 Intel Corporation Method and system for providing distributed web server authentication
CA2296213C (en) * 2000-01-07 2009-04-14 Sedona Networks Corporation Distributed subscriber management
US6918041B1 (en) * 2000-02-23 2005-07-12 Microsoft Corporation System and method of network communication with client-forced authentication
US20010034833A1 (en) * 2000-04-21 2001-10-25 Isao Yagasaki Certificating system for plurality of services and method thereof
JP2001306503A (en) * 2000-04-26 2001-11-02 Nec Niigata Ltd Authentication system for individual and authentication method for individual used therefor
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) * 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7024556B1 (en) * 2000-06-02 2006-04-04 3Com Corporation Distributed system authentication
US7426530B1 (en) 2000-06-12 2008-09-16 Jpmorgan Chase Bank, N.A. System and method for providing customers with seamless entry to a remote server
US7673045B1 (en) * 2000-06-15 2010-03-02 Microsoft Corporation Multiple site automated logout
US10185936B2 (en) 2000-06-22 2019-01-22 Jpmorgan Chase Bank, N.A. Method and system for processing internet payments
US7093020B1 (en) * 2000-06-29 2006-08-15 Sungard Sct Inc. Methods and systems for coordinating sessions on one or more systems
US20020013831A1 (en) * 2000-06-30 2002-01-31 Arto Astala System having mobile terminals with wireless access to the internet and method for doing same
US6976164B1 (en) * 2000-07-19 2005-12-13 International Business Machines Corporation Technique for handling subsequent user identification and password requests with identity change within a certificate-based host session
US6934848B1 (en) * 2000-07-19 2005-08-23 International Business Machines Corporation Technique for handling subsequent user identification and password requests within a certificate-based host session
JP2003085081A (en) * 2000-07-25 2003-03-20 Nosu:Kk Information delivery service system
US8335855B2 (en) 2001-09-19 2012-12-18 Jpmorgan Chase Bank, N.A. System and method for portal infrastructure tracking
EP1342192A4 (en) * 2000-10-02 2006-07-12 Covisint Llc Industry-wide business to business exchange
US7093019B1 (en) * 2000-11-21 2006-08-15 Hewlett-Packard Development Company, L.P. Method and apparatus for providing an automated login process
US7209248B1 (en) * 2000-12-08 2007-04-24 Hewlett-Packard Development Company, L.P. Managing the lifetime of distributed resource data using temporal scopes
US6968385B1 (en) * 2000-12-22 2005-11-22 Bellsouth Intellectual Property Systems and methods for limiting web site access
TW556426B (en) * 2000-12-28 2003-10-01 Trustview Inc System and method for registration on multiple different devices using the same account
US20020087625A1 (en) * 2001-01-04 2002-07-04 Kim Toll Sharing user profiles between processor-based systems
US6965939B2 (en) * 2001-01-05 2005-11-15 International Business Machines Corporation Method and apparatus for processing requests in a network data processing system based on a trust association between servers
US20020116495A1 (en) * 2001-01-29 2002-08-22 Curt Hutten System and method for displaying news information on a user computer
US7228493B2 (en) * 2001-03-09 2007-06-05 Lycos, Inc. Serving content to a client
US6934736B2 (en) * 2001-03-15 2005-08-23 Microsoft Corporation Systems and methods for automatically generating cookies
US7567578B2 (en) * 2001-03-16 2009-07-28 Kyocera Wireless Corp. System and method for roaming connectivity
US7237257B1 (en) * 2001-04-11 2007-06-26 Aol Llc Leveraging a persistent connection to access a secured service
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
WO2002099598A2 (en) 2001-06-07 2002-12-12 First Usa Bank, N.A. System and method for rapid updating of credit information
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
US7103576B2 (en) 2001-09-21 2006-09-05 First Usa Bank, Na System for providing cardless payment
US7530099B2 (en) * 2001-09-27 2009-05-05 International Business Machines Corporation Method and system for a single-sign-on mechanism within application service provider (ASP) aggregation
EP1444568A4 (en) 2001-11-01 2005-11-09 Bank One Delaware Nat Ass System and method for establishing or modifying an account with user selectable terms
US7987501B2 (en) * 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
JP2003242267A (en) * 2002-02-15 2003-08-29 Fujitsu Ltd Profile information disclosing method and profile information disclosing program
US7941533B2 (en) * 2002-02-19 2011-05-10 Jpmorgan Chase Bank, N.A. System and method for single sign-on session management without central server
US20040078211A1 (en) * 2002-03-18 2004-04-22 Merck & Co., Inc. Computer assisted and/or implemented process and system for managing and/or providing a medical information portal for healthcare providers
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
EP1381199B1 (en) * 2002-07-12 2006-09-27 Alcatel Firewall for dynamically granting and denying network resources
US7747856B2 (en) * 2002-07-26 2010-06-29 Computer Associates Think, Inc. Session ticket authentication scheme
US7389343B2 (en) * 2002-09-16 2008-06-17 International Business Machines Corporation Method, system and program product for tracking web user sessions
US7058660B2 (en) 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US7752334B2 (en) 2002-10-15 2010-07-06 Nomadix, Inc. Intelligent network address translator and methods for network address translation
US20040088349A1 (en) * 2002-10-30 2004-05-06 Andre Beck Method and apparatus for providing anonymity to end-users in web transactions
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US7207058B2 (en) 2002-12-31 2007-04-17 American Express Travel Related Services Company, Inc. Method and system for transmitting authentication context information
US20040168066A1 (en) * 2003-02-25 2004-08-26 Alden Kathryn A. Web site management system and method
US20050216844A1 (en) * 2004-03-03 2005-09-29 Error Brett M Delayed transmission of website usage data
KR100577390B1 (en) * 2003-04-16 2006-05-10 삼성전자주식회사 Network Device and Network System for Authentication and Method Therefor
US7636886B2 (en) * 2003-04-24 2009-12-22 Sureprep Llc System and method for grouping and organizing pages of an electronic document into pre-defined categories
US7720616B2 (en) * 2003-05-07 2010-05-18 Sureprep, Llc Multi-stage, multi-user engagement submission and tracking process
JP2004362171A (en) * 2003-06-03 2004-12-24 Canon Inc Client device
US7721228B2 (en) 2003-08-05 2010-05-18 Yahoo! Inc. Method and system of controlling a context menu
US7793227B2 (en) 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
FR2860111A1 (en) * 2003-09-23 2005-03-25 Orange France Packet switching network access system for implementing simplified sign on process, has supplementary server with simplified sign on module processing authentication requests by service providers received via proxy server interface
US20050102390A1 (en) * 2003-10-22 2005-05-12 Peterson Eric M. System and method of network usage analyzer
US8190893B2 (en) 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US7506260B2 (en) * 2003-10-31 2009-03-17 Yahoo! Inc. Method and system of providing browser functionality through a browser button
JP2005141313A (en) * 2003-11-04 2005-06-02 Matsushita Electric Ind Co Ltd Composite machine and user identification method
KR100553273B1 (en) * 2003-11-14 2006-02-22 주식회사 넷츠 Extranet access management apparatus and method
JP5101108B2 (en) 2003-12-22 2012-12-19 リンクウエア インコーポレイテッド System and method for initiating a conference call
US20050166070A1 (en) * 2003-12-24 2005-07-28 Ling Dynamic Systems Ltd. Web based user interface
US7590705B2 (en) * 2004-02-23 2009-09-15 Microsoft Corporation Profile and consent accrual
US7636941B2 (en) * 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
US7505574B2 (en) * 2004-03-26 2009-03-17 Microsoft Corporation Method and system for providing an improved communications channel for telephone conference initiation and management
US7565538B2 (en) * 2004-04-05 2009-07-21 Microsoft Corporation Flow token
US8437307B2 (en) 2007-09-03 2013-05-07 Damaka, Inc. Device and method for maintaining a communication session during a network transition
US7570636B2 (en) 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US7623516B2 (en) * 2004-06-29 2009-11-24 Damaka, Inc. System and method for deterministic routing in a peer-to-peer hybrid communications network
US20070078720A1 (en) * 2004-06-29 2007-04-05 Damaka, Inc. System and method for advertising in a peer-to-peer hybrid communications network
US7656870B2 (en) * 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
US20060095365A1 (en) * 2004-06-29 2006-05-04 Damaka, Inc. System and method for conducting an auction in a peer-to peer network
US7623476B2 (en) * 2004-06-29 2009-11-24 Damaka, Inc. System and method for conferencing in a peer-to-peer hybrid communications network
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7778187B2 (en) * 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US20060206310A1 (en) * 2004-06-29 2006-09-14 Damaka, Inc. System and method for natural language processing in a peer-to-peer hybrid communications network
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
EP1766839B1 (en) * 2004-07-15 2013-03-06 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US8533791B2 (en) * 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US7676834B2 (en) * 2004-07-15 2010-03-09 Anakam L.L.C. System and method for blocking unauthorized network log in using stolen password
US8296562B2 (en) * 2004-07-15 2012-10-23 Anakam, Inc. Out of band system and method for authentication
US20100100967A1 (en) * 2004-07-15 2010-04-22 Douglas James E Secure collaborative environment
US7610227B2 (en) * 2004-07-30 2009-10-27 Sureprep, Llc System and method for creating cross-reference links, tables and lead sheets for tax return documents
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8010542B2 (en) * 2004-09-10 2011-08-30 B2I Technologies, Inc. Apparatus and method for building conjoined computer systems
US7497374B2 (en) * 2004-09-17 2009-03-03 Digital Envoy, Inc. Fraud risk advisor
US7543740B2 (en) * 2004-09-17 2009-06-09 Digital Envoy, Inc. Fraud analyst smart cookie
US7412655B2 (en) 2004-11-02 2008-08-12 Yahoo! Inc. Method and system of providing dynamic dialogs
US8171303B2 (en) * 2004-11-03 2012-05-01 Astav, Inc. Authenticating a login
US7996530B1 (en) 2004-11-15 2011-08-09 Bank Of America Corporation Method and apparatus for enabling authentication of on-line communications
JP4737974B2 (en) * 2004-11-26 2011-08-03 株式会社東芝 ONLINE SHOPPING SYSTEM AND USER MANAGEMENT DEVICE, NET STORE DEVICE, AND USER TERMINAL DEVICE
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US7853494B2 (en) * 2005-01-07 2010-12-14 Sureprep, Llc Efficient work flow system and method for preparing tax returns
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
CN1841393B (en) * 2005-03-31 2012-08-08 国际商业机器公司 A method and system for managing web profile information
US8185877B1 (en) 2005-06-22 2012-05-22 Jpmorgan Chase Bank, N.A. System and method for testing applications
US20070027807A1 (en) * 2005-07-29 2007-02-01 Alexandre Bronstein Protecting against fraud by impersonation
US8886620B1 (en) * 2005-08-16 2014-11-11 F5 Networks, Inc. Enabling ordered page flow browsing using HTTP cookies
US8583926B1 (en) 2005-09-19 2013-11-12 Jpmorgan Chase Bank, N.A. System and method for anti-phishing authentication
US7908649B1 (en) * 2005-09-20 2011-03-15 Netapp, Inc. Method and apparatus for providing efficient authorization services in a web cache
US20070162524A1 (en) * 2006-01-11 2007-07-12 Yahoo! Inc. Network document management
US8135948B2 (en) * 2006-01-27 2012-03-13 Imperva, Inc. Method and system for transparently encrypting sensitive information
US8739027B2 (en) * 2006-03-01 2014-05-27 Infogin, Ltd. Methods and apparatus for enabling use of web content on various types of devices
US7995727B1 (en) 2006-04-21 2011-08-09 Nortel Networks Limited Method and apparatus for controlling calling-party identification
US7752123B2 (en) * 2006-04-28 2010-07-06 Townsend Analytics Ltd. Order management system and method for electronic securities trading
GB0610113D0 (en) * 2006-05-20 2006-06-28 Ibm Method and system for the storage of authentication credentials
WO2007147080A1 (en) 2006-06-16 2007-12-21 Almondnet, Inc. Media properties selection method and system based on expected profit from profile-based ad delivery
US8869066B2 (en) 2006-07-06 2014-10-21 Addthis, Llc Generic content collection systems
US8793490B1 (en) 2006-07-14 2014-07-29 Jpmorgan Chase Bank, N.A. Systems and methods for multifactor authentication
US8458775B2 (en) 2006-08-11 2013-06-04 Microsoft Corporation Multiuser web service sign-in client side components
JP4386059B2 (en) * 2006-09-26 2009-12-16 コニカミノルタビジネステクノロジーズ株式会社 Image processing apparatus, information transmission method, and image processing system
US8056092B2 (en) 2006-09-29 2011-11-08 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
CN101536462B (en) 2006-09-29 2013-12-04 诺玛迪克斯公司 Systems and methods for injecting content
US8079076B2 (en) * 2006-11-02 2011-12-13 Cisco Technology, Inc. Detecting stolen authentication cookie attacks
US7725622B2 (en) * 2006-11-29 2010-05-25 Townsend Analytics, Ltd. Data distribution system and method
US20080127230A1 (en) * 2006-11-29 2008-05-29 Townsend Analytics, Ltd. Method and system for transmitting data
US8161284B1 (en) 2006-12-28 2012-04-17 Perftech, Inc. System, method and computer readable medium for message authentication to subscribers of an internet service provider
US8225375B2 (en) * 2006-12-28 2012-07-17 Canon Kabushiki Kaisha Information processing system, information processing apparatus and method and program therefor
US20080222232A1 (en) * 2007-03-06 2008-09-11 Allen Stewart O Method and Apparatus for Widget and Widget-Container Platform Adaptation and Distribution
US9009728B2 (en) 2007-03-06 2015-04-14 Addthis, Inc. Method and apparatus for widget and widget-container distribution control based on content rules
US8266274B2 (en) * 2007-03-06 2012-09-11 Clearspring Technologies, Inc. Method and apparatus for data processing
US8726347B2 (en) 2007-04-27 2014-05-13 International Business Machines Corporation Authentication based on previous authentications
BRPI0809868A2 (en) * 2007-04-30 2014-11-11 Interdigital Tech Corp A LOCATION (AND Node) -B NEW FEATURES
US8473735B1 (en) 2007-05-17 2013-06-25 Jpmorgan Chase Systems and methods for managing digital certificates
US8327430B2 (en) * 2007-06-19 2012-12-04 International Business Machines Corporation Firewall control via remote system information
US7769646B2 (en) 2007-06-20 2010-08-03 Sureprep, Llc Efficient work flow system and method for processing taxpayer source documents
US8272041B2 (en) * 2007-06-21 2012-09-18 International Business Machines Corporation Firewall control via process interrogation
US8272043B2 (en) * 2007-06-21 2012-09-18 International Business Machines Corporation Firewall control system
US20090077638A1 (en) * 2007-09-17 2009-03-19 Novell, Inc. Setting and synching preferred credentials in a disparate credential store environment
WO2009043016A2 (en) 2007-09-28 2009-04-02 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US8209378B2 (en) * 2007-10-04 2012-06-26 Clearspring Technologies, Inc. Methods and apparatus for widget sharing between content aggregation points
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US8321682B1 (en) 2008-01-24 2012-11-27 Jpmorgan Chase Bank, N.A. System and method for generating and managing administrator passwords
EP2106093A1 (en) * 2008-03-28 2009-09-30 British Telecommunications Public Limited Company Devolved authentication
US20090281833A1 (en) * 2008-05-09 2009-11-12 Tele Video Md, Inc. System and method for secure multi-party medical conferencing
US9276747B2 (en) 2008-08-04 2016-03-01 Technology Policy Associates, Llc Remote profile security system
US8752170B1 (en) * 2008-08-20 2014-06-10 Symantec Corporation Verification and validation of externally maintained profile attributes
US8407609B2 (en) 2008-08-21 2013-03-26 Linqware Inc. System and method for providing and tracking the provision of audio and visual presentations via a computer network
US20100100626A1 (en) * 2008-09-15 2010-04-22 Allen Stewart O Methods and apparatus related to inter-widget interactions managed by a client-side master
US20100153884A1 (en) * 2008-12-12 2010-06-17 Yahoo! Inc. Enhanced web toolbar
US8370908B2 (en) * 2009-06-10 2013-02-05 Microsoft Corporation Decreasing login latency
US9608826B2 (en) 2009-06-29 2017-03-28 Jpmorgan Chase Bank, N.A. System and method for partner key management
US20110030037A1 (en) 2009-07-07 2011-02-03 Vadim Olshansky Zone migration in network access
JP5412364B2 (en) * 2009-07-16 2014-02-12 株式会社日立製作所 Information processing method and information processing system
JP5353557B2 (en) * 2009-08-21 2013-11-27 富士通株式会社 Information processing apparatus, access method, and program
TW201126371A (en) * 2010-01-27 2011-08-01 Hui Lin Online gaming authentication framework and method
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8689307B2 (en) * 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
TWI399070B (en) * 2010-06-15 2013-06-11 Chunghwa Telecom Co Ltd Login verification method
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
EP2666266B1 (en) 2011-01-18 2016-05-11 Nomadix, Inc. Systems and methods for group bandwidth management in a communication systems network
CN102143226B (en) * 2011-02-12 2015-04-08 华为技术有限公司 Time-out control method, time-out control device and time-out control system
US20120209904A1 (en) * 2011-02-12 2012-08-16 Huawei Technologies Co. Ltd. Timeout control method, apparatus, and system
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
US8775408B2 (en) 2011-09-23 2014-07-08 Sureprep, Llc Document element indexing system
US8875235B1 (en) * 2013-03-15 2014-10-28 Rex Hakimian Independent administering of verified user-controlled electronic identifications utilizing specifically programmed computer-implemented methods and computer systems
US9419957B1 (en) 2013-03-15 2016-08-16 Jpmorgan Chase Bank, N.A. Confidence-based authentication
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
GB201314231D0 (en) 2013-08-08 2013-09-25 Harwood William T Data Comparator Store
RU2016105315A (en) * 2013-09-04 2017-10-09 Антон Николаевич Чурюмов METHOD FOR USER AUTHENTICATION THROUGH MULTIPLE USER DEVICES
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US10148726B1 (en) 2014-01-24 2018-12-04 Jpmorgan Chase Bank, N.A. Initiating operating system commands based on browser cookies
WO2016022574A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US9847998B2 (en) * 2015-05-21 2017-12-19 Go Daddy Operating Company, LLC System and method for delegation of permissions to a third party
US20170140134A1 (en) * 2015-11-16 2017-05-18 Welch Allyn, Inc. Medical device user caching
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
JP6668934B2 (en) * 2016-05-12 2020-03-18 株式会社リコー Service providing system, service providing apparatus, service providing method, and program
CN107979577B (en) * 2016-10-25 2021-10-15 华为技术有限公司 Terminal authentication method and device
US11544799B2 (en) 2017-12-05 2023-01-03 Sureprep, Llc Comprehensive tax return preparation system
US11314887B2 (en) 2017-12-05 2022-04-26 Sureprep, Llc Automated document access regulation system
US11238540B2 (en) 2017-12-05 2022-02-01 Sureprep, Llc Automatic document analysis filtering, and matching system
JP7234699B2 (en) * 2019-03-05 2023-03-08 ブラザー工業株式会社 Application program and information processing device
US11696137B2 (en) 2020-07-31 2023-07-04 T-Mobile Usa, Inc. Detecting malicious small cells based on a connectivity schedule
US11202255B1 (en) 2020-07-31 2021-12-14 T-Mobile Usa, Inc. Cached entity profiles at network access nodes to re-authenticate network entities
WO2022026143A1 (en) * 2020-07-31 2022-02-03 T-Mobile Usa, Inc. Detecting malicious small cells based on a connectivity schedule and cached entity profiles at network access nodes to re-authenticate network entities
US11683700B2 (en) * 2020-12-14 2023-06-20 T-Mobile Usa, Inc. Digital signatures for small cells of telecommunications networks
US11860950B2 (en) 2021-03-30 2024-01-02 Sureprep, Llc Document matching and data extraction

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5590199A (en) 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
US5649099A (en) 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5684950A (en) 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US5778065A (en) 1993-09-20 1998-07-07 International Business Machines Corporation Method and system for changing an authorization password or key in a distributed communication network
US6088450A (en) 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
US6105131A (en) 1997-06-13 2000-08-15 International Business Machines Corporation Secure server and method of operation for a distributed information system
US6148402A (en) 1998-04-01 2000-11-14 Hewlett-Packard Company Apparatus and method for remotely executing commands using distributed computing environment remote procedure calls
US6161139A (en) 1998-07-10 2000-12-12 Encommerce, Inc. Administrative roles that govern access to administrative functions
US6189103B1 (en) 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6198824B1 (en) 1997-02-12 2001-03-06 Verizon Laboratories Inc. System for providing secure remote command execution network
US6199113B1 (en) 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6256741B1 (en) 1996-04-30 2001-07-03 At&T Corp. Specifying security protocols and policy constraints in distributed systems
US6263432B1 (en) 1997-10-06 2001-07-17 Ncr Corporation Electronic ticketing, authentication and/or authorization security system for internet applications
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6278705B1 (en) 1997-04-08 2001-08-21 3Com Corporation Integrated architecture to support a single system image across multiple network access servers
US6292895B1 (en) 1998-11-25 2001-09-18 Hush Communication Corporation Public key cryptosystem with roaming user capability
US6301658B1 (en) 1998-09-09 2001-10-09 Secure Computing Corporation Method and system for authenticating digital certificates issued by an authentication hierarchy
US6317838B1 (en) 1998-04-29 2001-11-13 Bull S.A. Method and architecture to provide a secured remote access to private resources
US6321333B1 (en) 1998-10-14 2001-11-20 Wave Systems Corporation Efficient digital certificate processing in a data processing system
US20020002688A1 (en) 1997-06-11 2002-01-03 Prism Resources Subscription access system for use with an untrusted network
US6405318B1 (en) 1999-03-12 2002-06-11 Psionic Software, Inc. Intrusion detection system
US20020099812A1 (en) 1997-03-21 2002-07-25 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6473740B2 (en) 1998-11-29 2002-10-29 Qpass, Inc. Electronic commerce using a transaction network
US6584505B1 (en) 1999-07-08 2003-06-24 Microsoft Corporation Authenticating access to a network server without communicating login information through the network server
US6678731B1 (en) 1999-07-08 2004-01-13 Microsoft Corporation Controlling access to a network server using an authentication ticket

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5649099A (en) 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5778065A (en) 1993-09-20 1998-07-07 International Business Machines Corporation Method and system for changing an authorization password or key in a distributed communication network
US5590199A (en) 1993-10-12 1996-12-31 The Mitre Corporation Electronic information network user authentication and authorization system
US6088450A (en) 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
US6256741B1 (en) 1996-04-30 2001-07-03 At&T Corp. Specifying security protocols and policy constraints in distributed systems
US5684950A (en) 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US6198824B1 (en) 1997-02-12 2001-03-06 Verizon Laboratories Inc. System for providing secure remote command execution network
US20020099812A1 (en) 1997-03-21 2002-07-25 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6278705B1 (en) 1997-04-08 2001-08-21 3Com Corporation Integrated architecture to support a single system image across multiple network access servers
US20020002688A1 (en) 1997-06-11 2002-01-03 Prism Resources Subscription access system for use with an untrusted network
US6105131A (en) 1997-06-13 2000-08-15 International Business Machines Corporation Secure server and method of operation for a distributed information system
US6263432B1 (en) 1997-10-06 2001-07-17 Ncr Corporation Electronic ticketing, authentication and/or authorization security system for internet applications
US6148402A (en) 1998-04-01 2000-11-14 Hewlett-Packard Company Apparatus and method for remotely executing commands using distributed computing environment remote procedure calls
US6199113B1 (en) 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
US6317838B1 (en) 1998-04-29 2001-11-13 Bull S.A. Method and architecture to provide a secured remote access to private resources
US6279111B1 (en) 1998-06-12 2001-08-21 Microsoft Corporation Security model using restricted tokens
US6161139A (en) 1998-07-10 2000-12-12 Encommerce, Inc. Administrative roles that govern access to administrative functions
US6189103B1 (en) 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6301658B1 (en) 1998-09-09 2001-10-09 Secure Computing Corporation Method and system for authenticating digital certificates issued by an authentication hierarchy
US6321333B1 (en) 1998-10-14 2001-11-20 Wave Systems Corporation Efficient digital certificate processing in a data processing system
US6292895B1 (en) 1998-11-25 2001-09-18 Hush Communication Corporation Public key cryptosystem with roaming user capability
US6473740B2 (en) 1998-11-29 2002-10-29 Qpass, Inc. Electronic commerce using a transaction network
US6405318B1 (en) 1999-03-12 2002-06-11 Psionic Software, Inc. Intrusion detection system
US6584505B1 (en) 1999-07-08 2003-06-24 Microsoft Corporation Authenticating access to a network server without communicating login information through the network server
US6678731B1 (en) 1999-07-08 2004-01-13 Microsoft Corporation Controlling access to a network server using an authentication ticket

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kohl, et al. "The Kerberos Network Authentication Server (V5)", Network Working Group RFC 1510, www.CIC.ohio.edu, Sep. 1999, (retrieved at http://www.ietf.org/rfc/rfc1510.txt?number=1510).

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996881B1 (en) * 2004-11-12 2011-08-09 Aol Inc. Modifying a user account during an authentication process
US8671442B2 (en) 2004-11-12 2014-03-11 Bright Sun Technologies Modifying a user account during an authentication process
US20140351405A1 (en) * 2013-05-02 2014-11-27 Nomi Technologies, Inc. First party cookie system and method
US9094322B2 (en) * 2013-05-02 2015-07-28 Nomi Corporation First party cookie system and method
US11265310B2 (en) 2017-10-19 2022-03-01 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding

Also Published As

Publication number Publication date
US20060168643A1 (en) 2006-07-27
US6584505B1 (en) 2003-06-24
US20030204610A1 (en) 2003-10-30
US7016960B2 (en) 2006-03-21

Similar Documents

Publication Publication Date Title
US7418502B2 (en) Authenticating user access request with an authentication server for accessing a network server without communicating user authentication cookie to the network server
US6678731B1 (en) Controlling access to a network server using an authentication ticket
US7810136B2 (en) Service routing and web integration in a distributed, multi-site user authentication system
JP4782986B2 (en) Single sign-on on the Internet using public key cryptography
US7571466B2 (en) Parental consent service
US7673045B1 (en) Multiple site automated logout
US9413768B1 (en) Method for managing access to protected computer resources
US7467298B2 (en) Methods and arrangements for selectively maintaining parental access consent in a network environment
US7275260B2 (en) Enhanced privacy protection in identification in a data communications network
US7660880B2 (en) System and method for automated login
US7685631B1 (en) Authentication of a server by a client to prevent fraudulent user interfaces
US20030093699A1 (en) Graphical passwords for use in a data processing network
US7496751B2 (en) Privacy and identification in a data communications network
US7827318B2 (en) User enrollment in an e-community
US7412720B1 (en) Delegated authentication using a generic application-layer network protocol
US20100235897A1 (en) Password management
US20050235345A1 (en) Encryption key updating for multiple site automated login
US20060031683A1 (en) Single sign-on with common access card
US20030105981A1 (en) System and method for single session sign-on
US20080168539A1 (en) Methods and systems for federated identity management
US7234158B1 (en) Separate client state object and user interface domains
AU2003262473A1 (en) Methods and systems for authentication of a user for sub-locations of a network location
EP1961185A1 (en) Method, apparatus and program products for custom authentication of a principal in a federation by an identity provider
US7356711B1 (en) Secure registration
US6611916B1 (en) Method of authenticating membership for providing access to a secure environment by authenticating membership to an associated secure environment

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034543/0001

Effective date: 20141014

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20200826