throbber
(12) United States Patent
`Howard et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,584,505 B1
`Jun. 24, 2003
`
`US006584505B1
`
`(54) AUTHENTICATING ACCESS TO A
`NETWORK SERVER WITHOUT
`COMMUNICATING LOGIN INFORMATION
`THROUGH THE NETWORK SERVER
`
`10/2001 Koehler
`6,301,658 B1
`6,317,838 B1 * 11/2001 Baize ....................... .. 380/244
`g1
`llgwrlayd
`;
`;
`OW an
`2002/0002688 A1 * 1/2002 Gregg et a1. .............. .. 709/201
`
`(75)
`
`(73)
`
`Inventors: John Hal Howard, Redmond, WA
`(US); J e?'rey C. Kunins, Seattle, WA
`(US); Darren L. Anderson, Bellevue,
`WA (US); Ryan W. Battle, Seattle, WA
`(US); Max E. Metral, Boston, MA
`(Us)
`Assignee: Microsoft Corporation, Redmond, WA
`(Us)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21)
`(22)
`(51)
`(52)
`(58)
`
`(56)
`
`Appl. No.: 09/349,619
`Filed:
`Jul. 8, 1999
`
`Int. Cl.7 ............................................ .. G06F 15/170
`U.S. Cl. ...................... .. 709/225; 709/227; 709/229
`Field of Search ....................... .. 370/338; 380/244;
`709/201, 225, 227, 229
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,586,260 A 12/1996 Hu
`5,590,199 A 12/1996 Krajewski, Jr. et 211.
`5,649,099 A
`7/1997 Theimer et 211.
`5,684,950 A 11/1997 Dare et 211.
`5,778,065 A
`7/1998 Hauser et 211.
`6,088,450 A
`7/2000 Davis et 211.
`6,105,131 A
`8/2000 Carroll
`6,148,402 A 11/2000 Campbell
`6,189,103 B1
`2/2001 NevareZ et 211.
`6,198,824 B1
`3/2001 Shambroom
`6,256,741 B1
`7/2001 Stubblebine
`6,263,432 B1
`7/2001 SasmaZel et 211.
`6,278,705 B1 * 8/2001 Chau et a1. ............... .. 370/338
`6,279,111 B1
`8/2001 Jensenworth et 211.
`6,292,895 B1
`9/2001 Baltzley
`
`OTHER PUBLICATIONS
`
`Kohl et al., “The Kerberos Network Authentication Server
`(V5),” Network Working Group RFC 1510, WWW.CIC.o
`hio.edu, Sep. 1999 (retrieved at http://WWW.ietf.org/rfc/
`rfc1510.txt?number=1510).
`* cited by examiner
`
`Primary Examiner—Le Hien Luu
`(74) Attorney, Agent, or Firm—Lee & Hayes, PLLC
`(57)
`ABSTRACT
`
`A system determines Whether to grants access to a netWork
`server by a user. Initially, a user attempts to gain access to
`a netWork server, such as a Web server. Prior to granting
`access to the netWork server, the netWork server authenti
`cates the user by sending an authentication request to an
`authentication server. The authentication server determines
`Whether the user Was already authenticated by the authen
`tication server. If the user Was already authenticated by the
`authentication server, then the netWork server is noti?ed that
`the user is authenticated. The netWork server then grants the
`user access to the netWork server. If the user Was not already
`authenticated by the authentication server, then login infor
`mation is retrieved from the user and compared to authen
`tication information maintained by the authentication server.
`If the retrieved login information matches the authentication
`information, then the netWork server is noti?ed that the user
`is authenticated. The retrieved login information and the
`authentication information is concealed from the netWork
`server. If the user is authenticated, then a user pro?le is
`communicated to the netWork server along With the noti?
`cation that the user is authenticated. If the user is success
`fully authenticated, then a cookie is provided to an Internet
`broWser operated by the user. The cookie contains informa
`tion regarding user authentication, the user’s pro?le, and a
`list of netWork servers previously visited by the user.
`
`54 Claims, 6 Drawing Sheets
`
`,4 104
`M; r
`
`105
`
`V,
`/
`
`Af?liale Server
`
`Affiliate Serve r
`
`Af?liale Server
`
`Client
`Computer System
`
`Authentication
`Server
`
`/’ 1 12
`Aulhenlication ’
`Database
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 1
`
`

`
`U.S. Patent
`
`Jun. 24, 2003
`
`Sheet 1 0f 6
`
`US 6,584,505 B1
`
`104
`
`106
`
`108
`
`Affiliate Server
`
`Affiliate Server
`
`Af?liate Server
`
`Client
`Computer System
`
`Authentication
`Server
`
`1 12
`
`Authentication
`Database
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 2
`
`

`
`Facebook and WhatsApp Exhibit No. 1007
`Page 3
`
`

`
`U.S. Patent
`
`Jun. 24, 2003
`
`Sheet 3 0f 6
`
`US 6,584,505 B1
`
`104
`
`Af?iiate
`Server
`
`Client
`
`100
`
`Authentication
`Server
`
`1 10
`
`Computer System ///F
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 4
`
`

`
`U.S. Patent
`
`Jun. 24, 2003
`
`Sheet 4 0f 6
`
`US 6,584,505 B1
`
`User of Client Computer System Accesses a
`Web Page on the Af?liate Server (A)
`i
`
`200
`
`? . 4
`‘g:
`
`[Af?liate Server Determines that the User is not“
`_
`_
`Authenticated and Redlrects the User Browser
`to Authentication Sewer (B and C)
`
`/— 202
`
`.
`
`.
`
`.
`
`/— 204
`
`l
`[ Authentication Server Generates a Sign-In \
`Web Page, Wh|ch IS Communlcated to the
`User's Browser (D)
`
`J
`
`l
`
`User Completes Sign-In Page and Clicks \ /_ 206
`"Sign-In" to Send Information to Authentlcatlon
`Server (E)
`J
`
`User-Entered Information Correct?
`
`208
`
`Yes
`
`No
`
`210
`
`[ Generate and Communicate a 1
`
`Web Page to User Indicating
`Failed Authentication
`
`[ Authentication Server Sets Cookies and P
`Redlrects the User Browser to the Af?liate
`Server (F)
`
`l
`
`X
`User Pro?le Information Communicated to /— 214
`Af?liate Server (G)
`
`l
`[Affiliate Server Generates a Personalized WebN
`_
`Page and Communlcates the Web Page to the
`User's Browser (H)
`J
`
`/— 216
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 5
`
`

`
`U.S. Patent
`
`Jun. 24, 2003
`
`Sheet 5 0f 6
`
`US 6,584,505 B1
`
`104
`
`Af?liate
`Sewer
`
`Client
`Computer System
`
`100
`
`/
`
`Authentication
`Server
`
`1 10
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 6
`
`

`
`U.S. Patent
`
`Jun. 24, 2003
`
`Sheet 6 6f 6
`
`US 6,584,505 B1
`
`[ User of Client Computer System Accesses] /_ 230
`Web Page on the Af?liate Sewer (A)
`J
`L
`{Af?liate Server Determines that the User is no?
`_
`I
`Authentlcated and Redirects the User Browser
`to the Authentication Server (B and C) J
`
`/— 232
`
`l
`
`234
`Authentication Server Retrieves Af?liate \
`lnformation and Determines Whether the Most /—
`Recent Authentication is Acceptable to Affiliate J
`
`? . 6
`
`6?.
`
`236
`
`Most Recent Authentication
`Acceptable?
`
`Retrieve and
`Authenticate User
`Information
`
`Authentication Server Copies Cookies to Client
`Computer System and Redirects User Browser
`to the Af?liate Server (D)
`
`l
`
`240
`
`User Profile Information Communicated to the
`Af?liate Server (E)
`
`242
`
`l
`[Affiliate Server Generates a Personalized Web]/ 244
`Page and Communicates the Web Page to the
`User's Browser (F)
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 7
`
`

`
`US 6,584,505 B1
`
`1
`AUTHENTICATING ACCESS TO A
`NETWORK SERVER WITHOUT
`COMMUNICATING LOGIN INFORMATION
`THROUGH THE NETWORK SERVER
`
`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 af?liate server. The authentication system also
`provides a mechanism for the central storage of user pro?le
`information.
`
`BACKGROUND OF THE INVENTION
`The recent groWth in popularity of the Internet has
`signi?cantly 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 regis
`tration information may include the user’s name, account
`number, address, telephone number, email address, com
`puter platform, age, gender, or hobbies. The registration
`information collected by the Web site may be necessary to
`complete transactions (such as commercial or ?nancial
`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 col
`lected 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 ?rst 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
`con?dential information about the user, such as ?nancial
`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 speci?c 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. Aparticular user is likely to have different login
`IDs and associated passWords on different Web sites. For
`
`2
`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,
`smithl, bmith, smithb, bobsmith, bobismith, and smithbob.
`Further, different passWords may be associated With differ
`ent 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 mul
`tiple 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
`pro?le 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 attempt
`ing 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 noti?ed that the
`user is authenticated. If the user Was not already authenti
`cated 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 noti?ed that the user is authenticated if the
`retrieved login information matches the authentication infor
`mation.
`Other aspects of the invention provide for the determina
`tion 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 identi?ed 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
`pro?le is communicated to the netWork server When pro
`viding 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 pro?le information, user authenti
`cation information, or a list of netWork servers previously
`visited by the user.
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates an exemplary netWork environment in
`Which the present invention is utiliZed.
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 8
`
`

`
`US 6,584,505 B1
`
`3
`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 af?liate server and the authen
`tication server When a user of the client computer system
`seeks access to the af?liate server.
`FIGS. 5 and 6 illustrate the interaction betWeen the client
`computer system, a particular af?liate server and the authen
`tication 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 affili
`ate 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. Af?liate 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 authentica
`tion server 110. The authentication database 112 contains
`information necessary to authenticate users and also identi
`?es Which elements of the user pro?le information should be
`provided to a particular af?liate server When the user
`accesses the af?liate 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 authentica
`tion server.
`The authentication process, as described beloW, authen
`ticates a user of client computer 100 seeking access to an
`af?liate server 104, 106, or 108. The authentication server
`110 authenticates the user of client computer 100 by request
`ing authenticating information, such as the user’s login ID
`and passWord. If the user is successfully authenticated, then
`authentication server 110 noti?es the appropriate affiliate
`server that the user is authenticated. As part of the user
`authentication process, the authentication server 110 may
`provide certain user pro?le information to the af?liate
`server, such as the user’s email address, user preferences,
`and the type of Internet broWser installed on client computer
`100. This user pro?le information is associated With the
`user’s login ID so that each time the user logs into an af?liate
`server, the associated user pro?le information is available to
`provide to the af?liate server. This user pro?le alloWs the
`user to enter the information once and use that information
`during subsequent logins to neW af?liate servers.
`The term “af?liate server” is de?ned herein as a Web
`server that has “registered” or otherWise established a rela
`tionship or af?liation With the authentication server 110.
`Each af?liate server 104, 106, and 108 includes a code
`sequence (not shoWn) that alloWs the af?liate server to
`communicate With the authentication server 110 When a user
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`4
`(Who is also registered With the authentication server)
`requests access to the af?liate server. Additional details
`regarding the authentication process and the interaction
`betWeen the client computer, the af?liate 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 af?liate servers
`104, 106 or 108.
`Computer 130 includes one or more processors or pro
`cessing 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 startup, 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 are 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, ?ash 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 infor
`mation 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 envi
`ronment 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
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 9
`
`

`
`US 6,584,505 B1
`
`5
`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 common
`place 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 pro
`grammed by means of instructions stored at different times
`in the various computer-readable storage media of the com
`puter. Programs and operating systems are typically
`distributed, for example, on ?oppy 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 implement
`ing the steps described below in conjunction with a micro
`processor 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 execut
`able program components such as the operating system are
`illustrated herein as discrete blocks, although it is recog
`niZed 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 authenti
`cation 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 af?liate 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 af?liate server (i.e., af?liate 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 pro?le.
`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
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`regarding its authentication requirements. The authentica
`tion requirements can be speci?ed 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 infor
`mation by the user. Refreshing the authentication informa
`tion 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 refresh
`ing of authentication information is useful if the user leaves
`their computer system without logging out of the authenti
`cation server, thereby allowing another individual to access
`af?liate 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 af?liate
`server can establish its own authentication requirements
`which are enforced by the authentication server. After reg
`istering 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 ?ow
`of information or activities during the authentication pro
`cess. The arrows on the lines indicate the direction of the
`process ?ow. 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 ?ow 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 Corpo
`ration of Redmond, Washington, for accessing various web
`sites. The af?liate server determines whether the user seek
`ing 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 gen
`erates 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
`?lls-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 infor
`mation is not correct (i.e., does not match the information
`
`Facebook and WhatsApp Exhibit No. 1007
`Page 10
`
`

`
`US 6,584,505 B1
`
`7
`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 return
`ing to step 204. Con?dential 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 com
`municate con?dential information betWeen the authentica
`tion 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 af?liate 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 authen
`tication server. Another cookie contains information regard
`ing the user pro?le. 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 adding the
`current af?liate 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 authentica
`tion 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 com
`puter system).
`Cookies Written to the client computer system by the
`authentication server cannot be read by any af?liate server.
`Similarly, cookies Written to the client computer system by
`a particular af?liate server cannot be read by any other
`af?liate server. The cookies Written by an af?liate server are
`encrypted using a key that is unique to the af?liate server,
`thereby preventing other af?liate servers from reading the
`data stored in the cookies.
`The authentication server also communicates the user
`pro?le information to the af?liate 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 pro?le
`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 pro?le 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 af?liate 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 u

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket