WO2000079726A2 - Cryptographic representation of sessions - Google Patents
Cryptographic representation of sessions Download PDFInfo
- Publication number
- WO2000079726A2 WO2000079726A2 PCT/US2000/017368 US0017368W WO0079726A2 WO 2000079726 A2 WO2000079726 A2 WO 2000079726A2 US 0017368 W US0017368 W US 0017368W WO 0079726 A2 WO0079726 A2 WO 0079726A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- session state
- server
- request
- session
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
Definitions
- the present invention relates to computer networks and, more particularly, to the management and security of on-line accounts provided by servers connected to a computer network.
- the Internet is a global network of millions of computers belonging to various commercial and non-profit entities such as corporations, universities, and research organizations.
- the computer networks of the Internet are connected by gateways that handle data transfer and conversion of messages from a sending network to the protocols used by a receiving network.
- the Internets collection of networks and gateways use the TCP/IP protocol.
- TCP/IP is an acronym for Transport Control Protocol/Interface Program, a software protocol developed by the Department of Defense.
- the computers connected to a wide area network such as the Internet are identified as either servers or clients.
- a server is a computer that stores files that are available to other computers connected to the network.
- a client is a computer connected to the network that accesses the files and other resources provided by a server.
- To obtain information from a server a client computer makes a request for a file or information located on the server using a specified protocol. Upon receipt of a properly formatted request, the server downloads the file to the client computer.
- the World Wide Web is a system of Internet servers using specified Internet protocols and supporting specially formatted documents.
- the HyperText Transfer Protocol (“HTTP") is the underlying protocol used by the World Wide Web. HTTP defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands.
- the other main standard of the World Wide Web is Hyper-Text Markup Language (“HTML”), which covers how documents and files are formatted and displayed. HTML supports links to other documents, as well as graphics, audio, and video files. Users access the content contained on the Internet and the World Wide Web with an Internet Browser, which is a software application used to locate and display web pages.
- a Web page is a document on the World Wide Web. Every Web page or file on a web server is identified by a unique Uniform Resource Locator.
- a Uniform Resource Locator is the global address of files and other resources on the Internet. The address indicates the protocol being used and specifies the IP address or the domain name where the file or resource is located.
- a URL identifies the name of the server and the path to a desired file on the server.
- a URL for a particular file on a web server may be constructed as follows: "http:// ⁇ server>/ ⁇ filepath>", where ⁇ server> identifies the server on which the file is located and ⁇ filepath> identifies the path to the file on the server.
- Wide Web is stateless in that each request for a new Web page or other action from a web server is processed without any knowledge of previous pages or actions requested.
- cookies have been developed to identify users and associate user preferences.
- a cookie is a message given to a Web browser by a Web server.
- the browser stores the message in a text file, which is sent back to the server each time the browser requests a page or other action from the server.
- prior art on-line systems feature a master session database containing session states corresponding to each account.
- each record will contain the account ID, password, privileges and other information relevant to the account, such as an address or credit card payment information.
- the server authenticates the user by accessing a central database and comparing the inputted password to the password appearing in the database.
- a large random number is generated and is associated with the session state record in the database corresponding to the particular user. This random number is then packaged as a cookie and sent to the user's browser. This random number, therefore, essentially acts as a pointer to the user's session state. Each time the user requests an action from the server, this cookie is passed to the server, which must access the master session database for session state retrieval before completing the requested task.
- a particular merchant site may be supported by several web servers, each of which access the central or master session database.
- the random number pointer method provided above limits the growth of large scale systems, since it creates a bottleneck in that all servers supporting a particular web site must access the same database to retrieve the user's session state. This bottleneck requires the user to wait until the server processing his or her request can access the database and may even result in system failures when the volume of activity on the merchant site is sufficiently large. Accordingly, a need exists for a method and system that eliminates the access time and bottleneck problems associated with session state retrieval in prior art systems. Additionally, a need exists for a method and system that allows for enhanced scalability of web sites without substantial degradation in system performance. The present invention fulfills these needs.
- the present invention provides a method and system for providing secure access to accounts on a server connected to a computer network, while eliminating the problems associated with prior art session state retrieval methods.
- session state information corresponding to a particular account user is encrypted and transmitted to the account user who transmits the encrypted session state information back with each request.
- the server decrypts the encrypted data and validates the session state information. If the session state information is valid, the server processes the user's request.
- the user becomes the source of the session state information, albeit in encrypted form, rather than a central (master session) database. In this manner, the delays and other problems associated with prior art session state retrieval are eliminated.
- the method of the present invention comprises authenticating a user, encrypting a session state corresponding to the user, and sending the encrypted session state to the user.
- a request from an account user includes the encrypted session state.
- the server receives such a request, it decrypts the encrypted session state.
- the server processes the user's request if the session state is valid.
- preferred embodiments of the present invention contemplate updating the session state after processing the user's request and encrypting the updated session state information and transmitting it the user. According to the invention, this process may be repeated until a logout request is received or the session state received from the user is invalid.
- One embodiment of the method of the present invention comprises the steps of generating and storing an encryption key on a server; authenticating a user; encrypting, at the server, the session state corresponding to the user with the encryption key; transmitting, at the server, the encrypted session state to the user; receiving, at the server, a request from a user, the request including the encrypted session state; decrypting, at the server, the encrypted session state using the encryption key; and, validating the session state and processing the request, if the session state corresponding to the request is valid.
- the present invention also provides systems for providing secure accounts on a server connected to a computer network.
- the apparatus comprises a master user database storing a list of user accounts and session information corresponding to the user accounts, and at least one server operably coupled to the master user database.
- the server is further coupled to a computer network to receive a request from an account user.
- the server also includes means for encrypting and decrypting session states.
- the database in response to a user authentication request, sends a session state corresponding to the authenticated user to the server.
- the server encrypts the session state information and transmits it to an account user.
- the server When the server receives a request from an account user, it decrypts the encrypted session state and processes the user's request if the session state is valid.
- certain embodiments further comprise means for generating a random encryption key.
- the server includes memory means coupled to the key generating means to receive and store a random encryption key. The server encrypts and decrypts session states according to this stored random encryption key.
- the apparatus comprises a master user database including storage means for storing lists of user accounts and session state information for corresponding ones of the user accounts.
- the system includes means for generating a random encryption key and at least one server coupled to the master user database and the key generating means.
- the server further includes means for storing a random encryption key and for encrypting session states according to the random encryption key and means for decrypting session states according to the encryption key.
- the server is coupled to a computer network to receive requests from account users and transmit encrypted session states and requested documents and files.
- Figure 1 is a functional block diagram of the system of the present invention.
- Figure 2 is a flow chart diagram illustrating a preferred embodiment of the method of the present invention.
- FIG. 3 is a flow chart diagram illustrating the cookie validation protocol as employed in preferred embodiments of the method and system of the present invention.
- DETAILED DESCRIPTION OF THE INVENTION Figure 1 illustrates an embodiment of the system of the present invention.
- Each service provider site 80 will typically comprise one or more physical servers 50 connected to the Internet 60.
- Each site 80 runs at least one server application for providing an online service.
- a given service provider site 80 may, of course, provide many different online services.
- Service provider site 80 also includes master user database 40, which stores user accounts and session states corresponding to each user account.
- service provider site 80 is connected to the Internet 60.
- One skilled in the art will recognize, however, that the present invention has application in any computer network.
- Client computer 70 can be any conventional personal computer known in the art.
- client computer 70 is connected to the Internet via a dial-up connection or through a network or DSL line. Such communication could also be wireless.
- client computer 70 includes Internet browsing software, such as NETSCAPE NAVIGATOR® or INTERNET EXPLORER®. Of course, any suitable browsing software can be used in connection with the present invention. As discussed in more detail below, a preferred embodiment of the present invention requires that the browsing software on client computer 70 have the capability to accept and transmit "cookies.”
- master user database 40 stores a list of user accounts, as well as passwords and session states corresponding to each user account.
- session state information may comprise a user name or account identification, privileges, application specific preferences, communication encoding preferences, payment information, or any other information relevant to the user's account.
- Master user database 40 further includes a random encryption key generator 41. Random key generator 41 may be implemented in hardware, software or as a combination of both. In the preferred embodiment, random key generator 41 comprises computer programs implemented on master user database 40. As is conventional in the art, random key generator 41 merely generates a random key for later use in encryption of session states (discussed in more detail below).
- any suitable method for generating a random or pseudo-random encryption key can be used in the method and system of the present invention.
- a variety of protocols and algorithms are known in the art. See Schneier, Applied Cryptography, 2nd Ed. (John Wiley & Sons 1996).
- random key generator 41 provides a random key 52 that is shared by all servers 50. Servers 50 will use this key for symmetric algorithm encryption (such as DES, 3DES or RC4), until a new key is generated and specified.
- symmetric algorithm encryption such as DES, 3DES or RC4
- a new encryption key may be automatically generated after a predetermined amount of time.
- the system may be configured such that a new key is generated and provided to servers 50 every 12 hours.
- alternative embodiments of the present invention feature random key generator 41 at one of the servers 50, instead of master user database 40.
- one server is programmed to generate a random encryption key for use with a symmetric encryption algorithm and share it with all other servers.
- an asymmetric algorithm such as RSA or ElGamal
- each server may generate a private and a public key and share the public key with the other servers.
- servers 50 support service provider site 80 by processing requests submitted by users as is conventional.
- Servers 50 may be any conventional server known in the art.
- the server of the present invention may be implemented in hardware or software, or preferably a combination of both.
- the server is implemented in computer programs executing on programmable computers each comprising at least one processor, a data storage system (including volatile and non-volatile media), at least one input device, and at least one output device.
- servers 50 each store in memory the random key generated by random key generator 41 of master user database.
- Servers 50 each include session state encryption-decryption application 53, which encrypts session states or other information according to the random key generated by random key generator 41.
- session state encryption application 53 is a software application that includes a conventional encryption and decryption algorithms.
- session state encryption-decryption application 53 includes a symmetric encryption algorithm. However, asymmetric (public key) encryption algorithms may also be used. Operation
- Figure 2 illustrates a preferred method of the present invention.
- the first preferred embodiment contemplates that users access the service provider web site 80 on client computers 70 over the Internet 60.
- a user inputs the address corresponding to a particular service provider's web site.
- the address may include a domain name or may comprises an IP address, consisting of numbers identifying the host server.
- Server 50 passes the received account name and password to the master user database 40, which authenticates the user by comparing these inputs to the account names and passwords stored in the database (step 14).
- master user database 40 provides the session state information corresponding to the user's account to server 50.
- session state information includes the account name and a logout time.
- Master user database derives a logout time by accessing common clock 42 and adding a pre- determined increment of time.
- master user database 40 may also generate a unique session ID, such as a cryptographic hash of the machine ID of the client computer 70, a serial number corresponding to the session and the current time.
- Suitable hashing functions include, but are not limited to, MD5 or SHA1.
- Server 50 processing the user's request receives the session state information corresponding to the user account and encrypts the session state information using a symmetric encryption algorithm according to a secret encryption key 52 generated by random key generator 41 and shared among the servers 50 (step 16).
- a "nonce" is added to the session state information before encryption.
- a user ID or account name does not contain enough bits of information for encryption to work properly. It is possible to use cryptographic cracking techniques such as a code book attack to break the encryption if it does not contain the nonce.
- the encrypted session state information is packaged as a cookie and sent to client computer 70 (step 18). Alternatively, instead of cookies, the same information can be placed as an URL, or embedded in a field name.
- the browsing software on client computer 70 stores the cookie and retransmits it to the assigned server 50 along with a request for a page or other action (step 20).
- the assigned server 50 receives a request from client computer 70, it decrypts the cookie using secret key 52 (step 22). It then validates the decrypted cookie according to the protocol illustrated in Figure 3 (step 24). More specifically, server 50 compares the nonce in the resulting decrypted file to the original nonce to determine whether the cookie has been correctly decrypted.
- Server 50 itself connected to clock 42, compares the present time to the logout time value contained in the cookie. If the present time value is less than the logout time value, server 50 then determines whether the cookie is consistent. More specifically, it compares the size of the cookie and the values of the data fields contained therein to a set of allowable values.
- any appropriate method for validating the cookie can be used.
- the user's request is processed (step 26).
- the present invention has application to many different on-line services, including, but not limited to, on-line stock brokerage, banking, restricted access on-line databases, and the like.
- the user's request may be an order to purchase a certain stock or to transfer funds from a savings account to a checking account.
- the user's request may also be an order for a particular document on a database.
- the server 50 updates the contents of the cookie (step 30), encrypts the updated cookie and sends it to client computer 70.
- the updated cookie may contain a new logout time value or a new preference state.
- step 28 server 50 sends the latest cookie to master user database 40 for storage and removes the cookie from the browser on client computer 70.
- random key generator 41 may be implemented separately from master user database as a computer program implemented on a programmable computer that is physically separate from the master database.
- a random encryption key may be generated for each user's session and sent to servers 50 with the session state information. This session- specific key will be used until the user logouts out of his or her account.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU57633/00A AU5763300A (en) | 1999-06-23 | 2000-06-21 | Cryptographic representation of sessions |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US33891499A | 1999-06-23 | 1999-06-23 | |
| US09/338,914 | 1999-06-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2000079726A2 true WO2000079726A2 (en) | 2000-12-28 |
| WO2000079726A3 WO2000079726A3 (en) | 2001-05-03 |
Family
ID=23326673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/017368 Ceased WO2000079726A2 (en) | 1999-06-23 | 2000-06-21 | Cryptographic representation of sessions |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU5763300A (en) |
| WO (1) | WO2000079726A2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2244420A4 (en) * | 2008-03-04 | 2011-08-31 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR RECONNECTING A CONNECTION |
| CN114154089A (en) * | 2021-10-26 | 2022-03-08 | 福建福诺移动通信技术有限公司 | Mixed mode mobile application user state keeping method |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5875296A (en) * | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
| US5805803A (en) * | 1997-05-13 | 1998-09-08 | Digital Equipment Corporation | Secure web tunnel |
| US6092196A (en) * | 1997-11-25 | 2000-07-18 | Nortel Networks Limited | HTTP distributed remote user authentication system |
-
2000
- 2000-06-21 AU AU57633/00A patent/AU5763300A/en not_active Abandoned
- 2000-06-21 WO PCT/US2000/017368 patent/WO2000079726A2/en not_active Ceased
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2244420A4 (en) * | 2008-03-04 | 2011-08-31 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR RECONNECTING A CONNECTION |
| US8793494B2 (en) | 2008-03-04 | 2014-07-29 | Huawei Technologies Co., Ltd. | Method and apparatus for recovering sessions |
| CN114154089A (en) * | 2021-10-26 | 2022-03-08 | 福建福诺移动通信技术有限公司 | Mixed mode mobile application user state keeping method |
Also Published As
| Publication number | Publication date |
|---|---|
| AU5763300A (en) | 2001-01-09 |
| WO2000079726A3 (en) | 2001-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6957334B1 (en) | Method and system for secure guaranteed transactions over a computer network | |
| JP4864289B2 (en) | Network user authentication system and method | |
| JP7007985B2 (en) | Resource locator with key | |
| EP0913789B1 (en) | Pre-paid links to networks servers | |
| US8185942B2 (en) | Client-server opaque token passing apparatus and method | |
| EP1346548B1 (en) | Secure session management and authentication for web sites | |
| US6601169B2 (en) | Key-based secure network user states | |
| US9673984B2 (en) | Session key cache to maintain session keys | |
| US6049877A (en) | Systems, methods and computer program products for authorizing common gateway interface application requests | |
| US8819416B2 (en) | Method and system for modular authentication and session management | |
| US6065117A (en) | Systems, methods and computer program products for sharing state information between a stateless server and a stateful client | |
| US8214510B2 (en) | Maintaining state information on a client | |
| US20030163691A1 (en) | System and method for authenticating sessions and other transactions | |
| US20060106802A1 (en) | Stateless methods for resource hiding and access control support based on URI encryption | |
| US20030140225A1 (en) | Method and system for controlling the on-line supply of digital products or the access to on-line services | |
| WO2001047176A1 (en) | Method and apparatus for a revolving encrypting and decrypting process | |
| US20060047662A1 (en) | Capability support for web transactions | |
| US20050228782A1 (en) | Authenticating a web site with user-provided indicators | |
| WO2003025717A1 (en) | Server access control | |
| KR100915003B1 (en) | Secure user session managing method and system under web environment, recording medium recorded program executing it | |
| WO2000079726A2 (en) | Cryptographic representation of sessions | |
| US20230299978A1 (en) | Digital certificate request system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |