throbber
||||||||||||l||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
`
`U5005875296A
`
`[19]
`United States Patent
`5,875,296
`[11] Patent Number:
`
`Shi et al.
`[45] Date of Patent:
`Feb. 23, 1999
`
`DISTRIBUTED FILE SYSTEM WEB SERVER
`USER AUTHENTICATION WITH COOKIES
`
`$584,831
`5.796.952
`
`331098 Sanders
`SIIWS Davis etal.
`
`395120053
`395;“20054
`
`Primari- Exmniner—Roben W. Beausoliei, Jr.
`Assistant fibrrmtiner—t’ierrc E. tjtisca
`Attorney, Agent, or firm—Jeffrey S. Lat-law; David H.
`Judson
`
`[57}
`
`ABSTRACT
`
`A method of authenticating a Web client to a Web server
`connectable to a distributed file system of a distributed
`computing environment. The distributed computing envi-
`ronment includes a security service for returning a credential
`to a user authenticated to access the distributed file system.
`In response to receipt by the Web server of a user id and
`password from the Web client, a login protocol is executed
`with the securityr service. 11' the user can be authenticated, a
`credential is stored in a database of credentials associated
`with authenticated users. The Web server then returns to the
`Web client a persistent client state object having a unique
`identifier therein. This object, sometimes referred to as a
`cookie, is then used to enable the Web client to browse Web
`documents in the distributed lile system. In particular, when
`the Web client desires to make a subsequest request to the
`distributed tile system,
`the persistent client state object
`including the identifier is used in lieu of the user‘s id and
`password, which makes the session much more secure. In
`this operation, the cookie identifier is used as a pointer into
`the credential storage table, and the credential
`is then
`retrieved and used to facilitate multiple file actessess from
`the distributed file system. At the same time, the Web client
`may obtain access to Web server (as opposed to distributed
`file system) documents via conventional user id and pass-
`word in an HTTP request.
`
`20 Claims, 3 Drawing Sheets
`
`l54l
`
`I75!
`
`Inventors: Shaw-Ben Shi; Michael Bradford
`Autt, both of Austin; Ernst Robert
`Plassniann. l’flugerville; Bruce Ariand
`Rich, Round Rock; Mickella Ann
`Rosiles. Austin; Theodore Jack
`London Shruder, Cedar Park, at] of
`"I'ex.
`
`[73]
`
`Assignee:
`
`International Business Machines
`Corporation. Armonk, NY.
`
`[31!
`
`Appl. No.: 790,041
`
`[22
`
`[51!
`[52:
`
`[58]
`
`[56]
`
`I-‘iied:
`
`Jan. 28, 1997
`
`Int. CL" ...................................................... G06!“ llr’flt)
`U.S. Cl.
`................................ 395118801; 395088.01;
`395200.54
`395086, 187.01.
`Field of Search
`395088.01, 200.59. 200.33. 200.54, 200.47.
`200.48, 200.49; 380M, 24, 49
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4.5?8,53l
`5.18?,?9(|
`5.401352
`5,497,463
`5.530.862
`5,5?2fi43
`5,644.711
`5,678,04l
`5.708.780
`
`10
`
`N
`
`.......................... 380:2}
`
`3,4986 Everhart et at.
`2.0993 East at al.
`.
`......................... 380330
`2.00% Kaufman et at.
`2!" 13200.33
`3.! 19% Stein et at.
`........
`.. 395t20tt3t‘)
`631990 Meske. Jr. et al.
`ttx'tttl'tf)
`Judson
`T099? Murphy
`
`.........
`”3:199? Baker Ct al.
`”1998 lcvergood et al. .
`
`303-20048
`395r'188.flt
`305i’l8801
`
`12\
`
`SERVER
`
`WEB SERVER
`
`DCE SECURtTY SERVICE
`
`DISTRIBUTED
`FILE SYSTEM
`
`0001
`0001
`
`Apple/Twitter
`Apple/Twitter
`Ex. 1013
`Ex. 1013
`IPR3 of U.S. Pat. No. 7,765,482
`IPR3 of US. Pat. No. 7,765,482
`
`

`

`U.S. Patent
`
`Feb. 23, 1999
`
`Sheet 1 0f 3
`
`5,875,296
`
`10
`\
`CLIENT
`
`BROWSER
`/
`16
`
`12
`'/
`
`WEB SERVER PLATFORM
`
`20~
`\ 0s
`
`GUI f24
`
`WEB SERVER
`K’ SOFTWARE
`14
`/
`22
`
`26/
`COMPUTER
`
`API
`
`DFS f50
`
`DCE /52
`SECURITY
`
`SESSION
`MANAGER \27
`
`\
`18
`
`F I G .
`
`1
`
`AUTH TRANS
`
`NAME TRANS
`
`PATH CHECK
`
`0002
`
`

`

`U.S. Patent
`
`Feb. 23, 1999
`
`Sheet 2 of3
`
`5,875,296
`
`\,
`
`12\_
`
`SERVER
`
`CLIENT
`
`BROWSER
`/
`16
`
`(9) _
`‘—(d)
`(c) _
`
`_/22
`
`WEB SERVER
`
`A
`
`(h)
`
`25/
`
`SAF PLUG-IN
`
`:| (b-C)
`
`DISTRIBUTED
`FILE SYSTEM
`
`go
`
`(W1
`
`(I)
`
`'
`27/ SESSION MANAGER CV29
`(‘)l
`ACCOUNT MANAGER
`/ DCE SECURITY SERVICE
`\
`52
`56
`
`FIG. 3
`
`(1)
`
`58
`
`0003
`
`

`

`U.S. Patent
`
`Feb. 23, 1999
`
`Sheet 3 0f 3
`
`5,875,296
`
`WAS REQUEST
`SENT BY BROWSER THAT
`SUPPORTS HTTP
`
`USE BASIC
`AUTHENTICATION
`
`/64
`
`58\
`
`70\
`
`SERVER SENDS BACK
`LOGlN HTML FORM AND COOKIE
`TI
`USER FILLS IN THE USER
`[D AND PASSWORD IN HTML FORM
`TI
`72\ CLIENT RETURNS FORM AND COOKIE
`T
`RUN “DCE_LOGIN"
`
`74\
`
`78\
`
`83/
`
`TI
`81
`DESTROY
`FIRST COOKIE /
`STORE DFS CREDENTIAL
`__T
`T
`USE NEW COOKIE
`82/ SERVER RETURNS NEw COOKIE
`To OBTAIN
`T
`CREDENTIAL
`DESTROY FIRST COOKIE
`T
`I
`wEcEégEEFil‘?zLuéEs
`sERvER RECEIVES NEw
`RETRIEVE
`84/ REQUEST wITH NEw COOKIE
`‘_ wEB DOCUMENT
`FIG. 4
`
`\86
`
`\88
`
`0004
`
`

`

`1
`DISTRIBUTED FILE SYSTEM WEB SERVER
`USER AUTHENTICATION WITH COOKIES
`
`TECHNICAL FIELD
`The present invention relates generally to Web transaction
`processing and more particularly to enabling access to Web
`documents stored in a secure distributed ?le system.
`
`BACKGROUND OF THE INVENTION
`The World Wide Web of the Internet is the most success
`ful distributed application in the history of computing. In the
`Web environment, client machines effect transactions to
`Web servers use the Hypertext Transfer Protocol (HTTP),
`Which is a knoWn application protocol providing users
`access to ?les (e.g., text, graphics, images, sound, video,
`etc.) using a standard page description language knoWn as
`Hypertext Markup Language (HTML). HTML provides
`basic document formatting and alloWs the developer to
`specify “links” to other servers and ?les. In the Internet
`paradigm, a netWork path to a server is identi?ed by a
`so-called Uniform Resource Locator (URL) having a special
`syntax for de?ning a netWork connection. Use of an HTML
`compatible broWser (e.g., Netscape Navigator) at a client
`machine involves speci?cation of a link via the URL. In
`response, the client makes a request to the server identi?ed
`in the link and receives in return a document formatted
`according to HTML.
`Many organiZations use multiple computers intercon
`nected into a distributed computing environment in Which
`users access distributed resources and process applications.
`A knoWn distributed computing environment, called DCE,
`has been implemented using softWare available from the
`Open Systems Foundation (OSF). As DCE environments
`become the enterprise solution of choice, many applications
`may be utiliZed to provide distributed services such as data
`sharing, printing services and database access. OSF DCE
`includes a distributed ?le system, called Distributed File
`Services (DFS), for use in these environments.
`DFS provides many advantages over a standalone ?le
`server, such as higher availability of data and resources, the
`ability to share information throughout a very large-scale
`system, and protection of information by the robust DCE
`security mechanism. In particular, DFS makes ?les highly
`available through replication, making it possible to access a
`copy of a ?le if one of the machines Where the ?le is located
`goes doWn. DFS also brings together all of the ?les stored
`in various ?le systems in a global namespace. Multiple
`servers can export their ?le system to this namespace. All
`DFS users, in the meantime, share this namespace, making
`all DFS ?les readily available from any DFS client machine.
`It Would be highly desirable to extend the functionality of
`existing standalone Web servers in the enterprise environ
`ment to take advantage of the scalability, ?le availability and
`security features of DFS (or other similar distributed ?le
`systems). As a by-product, users With an off-the-shelf
`broWser Would be able to easily access the Web information
`stored in the DFS namespace With no additional softWare on
`the client machine. Before this goal can be achieved,
`hoWever, it is necessary to integratethe security mechanism
`provided by the Web Server With conventional DFS security.
`One of the alternatives is to use the Basic Authentication
`scheme (provided by the Web server) to obtain the userid
`and passWord for each HTTP request. HoWever, using the
`knoWn basic authentication scheme in the context of DFS
`has several problesm.
`In particular, user ids and passWords are passed on every
`request. Thus, they are more likely to be attacked by
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`5,875,296
`
`2
`intruders even if passWords are protected by some encryp
`tion mechanism (for example, SSL). Secondly, it is difficult
`for the DFS and Web server security mechanisms to coexist.
`The broWsers Will memoriZe the userid and passWord sent to
`a speci?c server and the id and passWord Will be attached to
`every HTTP request sent to that server. If a mechanism is
`provided for having the Web server access the distributed
`?le system, the Web server Will maintain both the documents
`stored on the server local directory (protected by Web server
`security) and DFS (protected by DFS security). From the
`broWser’s perspective, the Web server is a single server and
`Will only remember one pair of userid and passWord for the
`Web server. If a user is broWsing both DFS documents and
`Web server documents, he or she Will be prompted for userid
`and passWord every time there is a sWitch from DFS
`document to Web server document, and vice versa. Finally,
`only limited error information can be returned to the user
`When DFS authentication fails.
`These problems make the knoWn basic authentication
`scheme ill-suited for integrating Web server and DFS secu
`rity mechanisms.
`The present invention solves this problem.
`
`BRIEF SUMMARY OF THE INVENTION
`
`It is thus a primary goal of the present invention to
`authenticate users accessing a distributed ?le system through
`an Internet World Wide Web server.
`It is a further object of the invention to provide a distrib
`uted ?le system authentication scheme for Web broWsing
`that only requires passing of a user id and passWord When
`the user initially logs in to the ?le system through a Web
`server. On subsequent requests, a secret handle stored in a
`“cookie” is passed from the Web broWser to the Web server.
`It is thus another object of the invention to use a persistent
`client state HTTP cookie authentication scheme to facilitate
`secure Web document access from a distributed ?le system.
`It is yet another object of the invention to implement a
`cookie-based authentication scheme for DFS Web server
`applications that coexists With the basic authentication secu
`rity scheme knoWn in the art such that When a user sWitches
`from a DFS document to a Web server document, he or she
`Will not be prompted for user id and passWord if alreadly
`logged into DFS.
`It is still another object of the invention to provide for
`customiZed error messages to be passed from the Web server
`to the broWser instead of the error messages provided by the
`knoWn basic authentication scheme.
`It is a more general object of the invention to integrate the
`security mechanism provided by the Web Server With con
`ventional DFS security. This Will enable the functionality of
`existing standalone Web servers to be enhance in the enter
`prise environment to take advantage of the scalability, ?le
`availability and security features of DFS (or other similar
`distributed ?le systems). As a by-product, users With an
`off-the-shelf broWser Will be able to easily access the Web
`information stored in the DFS namespace With no additional
`softWare on the client machine.
`These and other objects of the invention are provided in
`a method of authenticating a Web client to a Web server
`connectable to a distributed ?le system of a distributed
`computing environment. The distributed computing envi
`ronment includes a security service for returning a credential
`to a user authenticated to access the distributed ?le system.
`In response to receipt by the Web server of a user id and
`passWord from the Web client, a login protocol is executed
`
`0005
`
`

`

`5,875,296
`
`10
`
`15
`
`3
`With the security service. If the user can be authenticated, a
`credential is stored in an in-memory credential database of
`credentials associated With authenticated users. The Web
`server then returns to the Web client a persistent client state
`object having a unique identi?er therein. This object, some
`times referred to as a cookie, is then used to enable the Web
`client to broWse Web documents in the distributed ?le
`system. In particular, When the Web client desires to make
`a subsequest request to the distributed ?le system, the
`persistent client state object including the identi?er is used
`in lieu of the user’s id and passWord, Which makes the
`session much more secure. In this operation, the cookie
`identi?er is used as a pointer into the in-memory credential
`database, and the credential is then retrieved and used to
`facilitate multiple ?le accessess from the distributed ?le
`system.
`At the same time, the Web client may still obtain access
`to Web server (as opposed to distributed ?le system) docu
`ments via conventional user id and passWord in an HTTP
`request. Thus, the inventive authentication scheme may
`coexist With basic authentication noW in common use.
`According to a preferred method of the present invention,
`and responsive to an initial HTTP request, a determination
`is ?rst made regarding Whether the Web client has a broWser
`that supports persistent client state objects or “cookies”. If
`so, the Web server sends the Web client a login HTML form
`and a ?rst cookie including a URL identi?ed by the HTTP
`request. The user is then prompted to complete the HTML
`form With his or her user id and passWord. Thereafter, the
`Web client transmits the completed form along With the ?rst
`cookie (including the URL entry) back to the Web server. At
`the server, information from the completed form is extracted
`and supplied to a login protocol for the distributed ?le
`system. If the login is successful, a user credential is created
`and stored, preferably in an in-memory credentials database.
`If the login is not successful, an error message is returned to
`the Web client. Then, a unique identi?er is generated for the
`authenticated user and used as a pointer to the credentials
`database. This identi?er is then placed in a neW cookie that
`is sent to the Web client. The neW cookie is then used by the
`Web client for any subsequent ?le accesses to the distributed
`?le system. By using the neW cookie, the Web client need
`not transfer repeatedly the user’s id and passWord over the
`netWork. HoWever, the client can still use the user id and
`passWord to obtain simple ?le access from the Web server
`(as opposed to the distributed ?le system).
`The foregoing has outlined some of the more pertinent
`objects and features of the present invention. These objects
`should be construed to be merely illustrative of some of the
`more prominent features and applications of the invention.
`Many other bene?cial results can be attained by applying the
`disclosed invention in a different manner or modifying the
`invention as Will be described. Accordingly, other objects
`and a fuller understanding of the invention may be had by
`referring to the folloWing Detailed Description of the Pre
`ferred Embodiment.
`
`4
`FIG. 3 is a process How diagram illustrating a Web
`transaction implemented according to the teachings of the
`present invention; and
`FIG. 4 is a detailed ?oWchart shoWing the process How of
`the invention.
`
`DETAILED DESCRIPTION
`
`A representative system in Which the present invention is
`implemented is illustrated in FIG. 1. A client machine 10 is
`connected to a Web server platform 12 via a communication
`channel 14. For illustrative purposes, channel 14 is the
`Internet, an Intranet or other knoWn connection. In the case
`of the Internet, Web server platform 12 is one of a plurality
`of servers Which are accessible by clients, one of Which is
`illustrated by machine 10. A client machine includes a
`broWser 16, Which is a knoWn softWare tool used to access
`the servers of the netWork. By Way of example only, a client
`machine is a personal computer. Representative broWsers
`include, among others, Netscape Navigator (all versions),
`Microsoft Internet Explorer (all versions) or the like, each of
`Which are “off-the-shelf” or doWnloadable softWare pro
`grams. The Web server platform (sometimes referred to as a
`“Web” site) supports ?les in the form of hypertext docu
`ments and objects. In the Internet paradigm, a netWork path
`to a server is identi?ed by a so-called Uniform Resource
`Locator (URL). The World Wide Web is the Internet’s
`multimedia information retrieval system. In particular, it is
`a collection of servers of the Internet that use the Hypertext
`Transfer Protocol (HTTP), Which provides users access to
`?les using Hypertext Markup Language (HTML).
`A representative Web Server platform 12 comprises an
`IBM RISC System/6000 computer 18 (a reduced instruction
`set of so-called RISC-based Workstation) running the AIX
`(Advanced Interactive Executive Version 4.1 and above)
`Operating System 20 and a Web server program 22, such as
`Netscape Enterprise Version 2.0, that supports interface
`extensions. The platform 12 also includes a graphical user
`interface (GUI) 24 for management and administration. The
`various models of the RISC-based computers are described
`in many publications of the IBM Corporation, for example,
`RISC System/6000, 7013 and 7016 POWERstation and
`POWERserver Hardware Technical Reference, Order No.
`SA23-2644-00. AIX OS is described in AIX Operating
`System Technical Reference, published by IBM Corporation,
`First Edition (November 1985), and other publications.
`While the above platform is useful, any other suitable
`hardWare/operating system/Web server combinations may be
`used.
`The Web Server accepts a client request and returns a
`response. The operation of the server 18 is governed by a
`number of server application functions (SAFs), each of
`Which is con?gured to execute in a certain step of a
`sequence. This sequence, illustrated in FIG. 2, begins With
`authoriZation translation (AuthTrans) 30, during Which the
`server translates any authoriZation information sent by the
`client into a user and a group. If necessary, the AuthTrans
`step may decode a message to get the actual client request.
`At step 32, called name translation (NameTrans), the URL
`associated With the request may be kept intact or it can be
`translated into a system-dependent ?le name, a redirection
`URL or a mirror site URL. At step 34, called path checks
`(PathCheck), the server performs various tests on the result
`ing path to ensure that the given client may retrieve the
`document. At step 36, sometimes referred to as object types
`(ObjectType), MIME (Multipurpose Internet Mail
`Extension) type information (e.g., text/html, image/gif, etc.)
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present inven
`tion and the advantages thereof, reference should be made to
`the folloWing Detailed Description taken in connection With
`the accompanying draWings in Which:
`FIG. 1 is a representative system in Which the plug-in of
`the present invention is implemented;
`FIG. 2 is a ?oWchart of server side operations of a
`conventional Web transaction in response to receipt of a
`request from a broWser of a client machine;
`
`60
`
`65
`
`0006
`
`

`

`5,875,296
`
`5
`for the given document is identi?ed. At step 38, called
`Service (Service), the Web server routine selects an internal
`server function to send the result back to the client via a
`normal server-service routine. The particular function
`selected depends on the nature of the request. At step 40,
`called Add Log (AddIJog), information about the transaction
`is recorded. At step 42, called Error, the server responds to
`the client When it encounters an error. Further details of
`these operations may be found in the Netscape Web Server
`Programmer’s Guide, Chapter 5, Which is incorporated
`herein by reference.
`Thus, the Web server 18 includes a knoWn set of server
`application functions (SAFs). These functions take the cli
`ent’s request and other con?guration data of the server as
`input and return a response to the server as output. Referring
`back to FIG. 1, the Web server 18 also includes an Appli
`cation Programming Interface (API) 24 that provides exten
`sions to enable application developers to extend and/or
`customiZe the core functionality thereof (namely, the SAFS)
`through softWare programs commonly referred to as “plug
`ins.” The present invention makes use of the server API 20
`to provide for a plug-in that facilitates user authentication so
`that users of client machines may use broWsers to enable
`Web access to documents on a distributed ?le system 50.
`In particular, according to a general object of the present
`invention, it is desired to enable the user of the client
`machine 10 (intentionally or unknoWingly) to use the
`(preferably) off-the-shelf broWser 16 to access, broWse and
`retrieve documents located in the distributed ?le system 50.
`One such ?le system 50 is Distributed File Services (DFS),
`Which is a knoWn distributed ?le system implemented in a
`netWorked environment called the Distributed Computing
`Environment (DCE). DCE has been implemented using
`softWare available from the Open Systems Foundation
`(OSF). In a distributed computing environment, a group of
`machines is typically referred to as a “domain.” An OSF
`DCE domain is called a “cell.” A DCE cell may be a
`complex environment involving hundreds of machines in
`many locations.
`DCE DFS 50 provides data sharing services by making
`use of remote procedure calls (RPC’s) for naming, and a
`DCE Security Service 52 for authentication services. DFS
`50 interfaces to the DCE Security Service 52 via the session
`manager process 27, as described in more detail in copend
`ing application Serial No. xx/xxx,xxx, assigned to the
`assignee of this invention. In addition to its use of DCE
`Services, DFS itself is rich in features. It provides a uniform
`global ?lespace Which alloWs all DFS client users to see the
`same vieW of the ?lespace, and it caches ?lesystem data at
`the client for improved scalability and performance by
`reducing netWork traf?c to ?le servers. DFS also supports
`advisory ?le locking, and one of its features in the ability to
`export the operating system’s native ?lesystem. For
`example, in the case of the AIX Operating System, the native
`?lesystem is the Journaled File System (JFS). In addition,
`DFS also provides its oWn physical ?lesystem, the DCE
`Local File System (LFS). The DCE LFS provides supports
`for DCE Access Control Lists (ACL’s) on ?les and direc
`tories for securing access to data and advanced data man
`agement capabilities such as replication and load balancing.
`DFS 16 uses so-called DCE Kerberos-based authentica
`tion. A unix “credential” is associated With each ?le opera
`tion and holds the local authentication information for that
`operation. In particular, a credential is a data structure
`de?ning a particular machine (or a user on a multi-user
`machine). From the local operating system’s point-of-vieW,
`the credential includes a user id, a group id, optionally a list
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`6
`of operating system privileges, and an authentication iden
`ti?er knoWn as a PAG (Process Authentication Group). The
`PAG acts as a tag for associating “tickets” betWeen DFS 50
`and the DCE Security Server 52. When DFS users authen
`ticate via the DCE Login facility, knoWn as dceilogin, the
`DCE Security Service interacts With DFS (across the
`netWork) through a setpago) interface to establish the PAG/
`ticket relationship in the process’s credential. On ?lesystem
`requests, DFS extracts the PAG from the credential structure
`to establish the DCE user’s authentication for RPC requests
`to the DFS ?leserver.
`
`The control How associated With the invention is illus
`trated in the process How diagram of FIG. 3. This ?gures
`illustrates the basic system of FIG. 1, With the inclusion of
`an account manager 56 having an associated database 58.
`Session manager 27 starts up upon initialiZation of the Web
`server and is preferably run by the Workstation computer 18.
`It includes its oWn storage area 29. When the client 10
`(through the broWser 16) requests a DFS document (step a),
`the Web server 18 invokes a server path check (using the
`SAF plug-in 25)(step b). The PathCheck checks With the
`session manager 27 to determine Whether the user has
`appropriate DCE credentials. If not (step c), the SAF plug-in
`25 Will return an error message (e.g., “401; Unauthorized”)
`to the broWser 16 (step d) and prompt the user for user id and
`passWord. After getting the userid and passWord from the
`user (step e), the SAF plug-in invokes the session manager
`27 (step f) to obtain the DCE credential for the user. Session
`manager 27 returns the DCE credential to the Web server
`(step g). The server then uses this user credential to represent
`the user to retrieve documents stored in DFS 50 (step h).
`After retrieving the documents, the account manager 56 is
`invoked (preferably using another API plug-in)(step i) to
`save appropriate usage information into the database 58
`(step 1")
`The session manager 27 is thus invoked by the Web
`Server When a user attempts to access a DFS ?le. If a user
`has already been authenticated by DCE, the Session Man
`ager 54 returns the user credential to the server, Which uses
`this credential to retrieve DFS documents on behalf of the
`user. If not, the Session Manager 54 Will login for the user
`and obtain the credential from DCE Security. The Session
`Manager maintains an in-memory database to keep track of
`Which user has logged in so that a user may access multiple
`DFS pages.
`
`Instead of using the basic authentication scheme, the
`present invention uses Persistent Client State HTTP cookies.
`Cookies are a knoWn Internet mechanism Which server-side
`connections (such as CGI scripts) can use to both store and
`retrieve information on the client side of the connection. A
`server, When returning an HTTP object to a client, may also
`send a piece of state information Which the client Will store.
`Typically, the state object, called a “cookie,” may include a
`description of the range of URLs for Which that state is valid.
`According to the Persistent Client State HTTP Cookies
`Preliminary Speci?cation, Which may be vieWed at
`netscape.com at the path "/neWref/std/cookieispecihtml,"
`a cookie is introduced to the client by including a Set-Cookie
`header as part of an HTTP response, usually through a CGI
`script. KnoWn cookie syntax is set forth beloW:
`Syntax of the Set-cookie HTTP Response Header
`This is the format a CGI script to add to the HTTP headers
`a neW piece of data Which is to be stored by the client for
`later retrieval.
`
`0007
`
`

`

`5,875,296
`
`8
`If secure is not speci?ed, a cookie is considered safe to be
`sent in the clear over unsecured channels.
`Syntax of the Cookie HTTP Request Header
`When requesting a URL from an HTTP server, the
`broWser Will match the URL against all cookies and if any
`of them match, a line containing the name/value pairs of all
`matching cookies Will be included in the HTTP request.
`Here is the format of that line:
`
`Set-Cookie: NAME-VALUE; expires=DATE;
`path=PATH; domain=DOMAINiNAME; secure
`NAME=VALUE
`
`This string is a sequence of characters excluding semi
`colon, comma and White space. If there is a need to place
`such data in the name or value, some encoding method such
`as URL style%XX encoding is recommended, though no
`encoding is de?ned or required.
`This is the only required attribute on the Set-Cookie
`header.
`
`expires=DATE
`
`The expires attribute speci?es a date string that de?nes the
`valid life time of that cookie. Once the expiration date has
`been reached, the cookie Will no longer be stored or given
`out.
`The date string is formatted as
`
`Wdy, DD-Mon-YYY HH:MM:SS GMT
`domain=DOMAINiNAME
`
`When searching the cookie list for a valid cookie, a
`comparison of the domain attributes of the cookie is made
`With the Internet domain name of the host from Which the
`URL Will be fetched. If there is a tail match, then the cookie
`Will go through path matching to see if it should be sent.
`“Tail matching” means that domain attribute is matched
`against the tail of the fully quali?ed domain name of the
`host. A domain attribute of “acme.com” Would match host
`names “anvil.acme.com” as Well as “shipping.crate.acme
`.com”.
`Only hosts Within the speci?ed domain can set a cookie
`for a domain and domains must have at least tWo (2) or three
`(3) periods in them to prevent domains of the form: “.com”,
`“.edu”, and “va.us”. Any domain that falls Within one of the
`seven special top level domains listed beloW only require
`tWo periods. Any other domain requires at least three. The
`seven special top level domains are: “COM”, “EDU”,
`“NET”, “ORG”, “GOV”, “MIL”, AND “INT”.
`The default value of domain is the host name of the server
`Which generated the cookie response.
`
`p ath=PATH
`
`The path attribute is used to specify the subset of URLs
`in a domain for Which the cookie is valid. If a cookie has
`already passed domain matching, then the pathname com
`ponent of the URL is compared With the path attribute, and
`if there is a match, the cookie is considered valid and is sent
`along With the URL request. The path “/foo” Would match
`“/foobar” and “/foo/bar.html”. The path “/” is the most
`general path.
`If the path is not speci?ed, it as assumed to be the same
`path as the document being described by the header Which
`contain the cookie.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`secure
`
`If a cookie is marked secure, it Will only be transmitted if
`the communications channel With the host is a secure one.
`Currently this means that secure cookies Will only be sent to
`HTTPS (HTTP over SSL) servers.
`
`65
`
`Cookie: NAME1=OPAQUELSTRING 1;
`NAME2=OPAQUEiSTRING2
`
`A ?oWchart shoWing the inventive authentication ?oW,
`Which makes use of the HTTP cookies, is shoWn in FIG. 4.
`The routine starts at step 60 for each HTTP request received
`by the server. At step 62, a test is made to determine Whether
`the request is sent by a broWser that supports HTTP cookies.
`For example, the Netscape broWser (e.g., Navigator (all
`versions)) and the Microsoft broWser (e.g., Microsoft Inter
`net Explorer (all versions) both support cookies, although
`other commercially-available broWser programs do not. If
`the outcome of the test at step 62 is negative, basic authen
`tication is then used to authenticate the user at step 64. If the
`outcome of the test at step 62 is positive (namely, that the
`broWser supports cookies), the method continues at step 66
`to test Whether there are any existing cookies contained in
`the request header. If the outcome of the test at step 66 is
`positive, then the user has already been authenticated and
`basic authentication can be used. If the outcome of the test
`at step 66 is negative, the broWser supports cookies but one
`does not yet exist.
`At step 68, the server sends back a login HTML form to
`prompt the user for a user id and passWord. The server also
`sends back a cookie Which includes as an entry the URL of
`the document requested by the user. In particular, as noted
`above, after the user if is authenticated by the DCE Security
`Server (via the session manager), the Web server needs to
`retrieve the document for the user. In this case, the Web
`server needs the original URL to retrieve the document.
`Since the Web server is stateless, the broWser must be
`provided With the original URL. This is achieved by pro
`viding the cookie. At step 70, the user ?lls in the user id and
`passWord in the HTML form. The form itself is generated
`using a CGI script in a knoWn manner. At step 72, the user
`id and passWord provided in the form are sent back to the
`server along With the cookie that the broWser received in
`step 68.
`Using the user id and passWord, the routine continues at
`step 74 to authenticate the user via the conventional dcei
`login mechanism. As is knoWn in the art, running dceilogin
`generates a “credential” for use by the user in obtaining
`access to DFS. If the authentication is not successful, as
`determined by a negative outcome at step 76, the server
`sends back a customized HTML document to the broWser at
`step 80 describing the particular failure. Then, at step 81, the
`cookie created in step 68 is destroyed. If the authentication
`is successful, as determined by the test at step 76, the routine
`continues at step 77 to create a unique id (e.g., DCE UUID)
`for the user. At step 78, the DPS credential generated by the
`login (to the DCE Security Server) is stor

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