WO2000079726A2 - Cryptographic representation of sessions - Google Patents

Cryptographic representation of sessions Download PDF

Info

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
Application number
PCT/US2000/017368
Other languages
French (fr)
Other versions
WO2000079726A3 (en
Inventor
Paul Rubin
Theodore Charles Goldstein
Original Assignee
The Brodia Group
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Brodia Group filed Critical The Brodia Group
Priority to AU57633/00A priority Critical patent/AU5763300A/en
Publication of WO2000079726A2 publication Critical patent/WO2000079726A2/en
Publication of WO2000079726A3 publication Critical patent/WO2000079726A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing 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.

Abstract

A method and system for providing secure access to accounts on a server connected to a computer network. According to the invention, 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. When the account user submits a request to the server, the server decrypts the encrypted session state information and validates the session state information. If the session state information is valid, the server processes the user's request. Thus, the user becomes the source of the session state information, albeit in encrypted form, rather than a central database.

Description

CRYPTOGRAPHIC REPRESENTATION OF SESSIONS
FIELD OF THE INVENTION 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.
BACKGROUND OF THE INVENTION The increasing use of wide area networks such as the Internet has resulted in an explosion in the provision of on-line services. Computer users can access a vast wealth of information and services by utilizing a wide area network to establish a connection with other computers connected to the 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. Typically, 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 ("URL") 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. Typically, a URL identifies the name of the server and the path to a desired file on the server. For example, 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. Thus, with the name of the server and the correct path to a file, a properly formatted URL accesses a desired file on a server connected to the World Wide Web.
There are myriad documents and files corresponding to a vast array of information and services accessible on the Internet. Indeed, the Internet has quickly become a means for not only obtaining information, but for conducting commercial transactions. For example, many consumers use the Internet to access on-line brokerage or bank accounts. To gain access to such an account, a user must provide an account name and a password to a server. The account name and password are verified or authenticated against a database. If a match is found, the user is granted further access to files on the server. However, one of the main disadvantages of the HTTP protocol is that the World
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. In other words, once a user has accessed an account, there is nothing inherent in the HTTP protocol that maintains a connection between the account server and the user. Accordingly, the provision of on-line accounts requires a means of associating a particular request with the user sending the request.
To address this problem, "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. For example, prior art on-line systems feature a master session database containing session states corresponding to each account. Typically, 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. When a user first logs in to his or her account, the server authenticates the user by accessing a central database and comparing the inputted password to the password appearing in the database. Upon proper authentication, 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, however, 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. SUMMARY OF THE INVENTION 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. According to the invention, 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. When the account user submits a request to the server, 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. According to this invention, 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. Moreover, encryption of the user's session state information protects it from unauthorized access. More specifically, 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. According to the invention, a request from an account user includes the encrypted session state. Accordingly, when 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. In addition, 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. According to this aspect of the invention, 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. According to the invention, the server encrypts the session state information and transmits it to an account user. 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. According to the invention, certain embodiments further comprise means for generating a random encryption key. According to these embodiments 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.
More specifically, and according to one embodiment of the present invention, 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. Lastly, the server is coupled to a computer network to receive requests from account users and transmit encrypted session states and requested documents and files.
DESCRIPTION OF THE DRAWINGS 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.
Figure 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. In one preferred embodiment, 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.
Users access service provider site 80 on client computers 70, which are also operably connected to the Internet 60. Client computer 70 can be any conventional personal computer known in the art. In one preferred embodiment, 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. Furthermore, 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."
In the first preferred embodiment, master user database 40 stores a list of user accounts, as well as passwords and session states corresponding to each user account. As is conventional in the art, 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). As such, 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).
In one preferred embodiment, 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.
According to the invention, a new encryption key may be automatically generated after a predetermined amount of time. For example, the system may be configured such that a new key is generated and provided to servers 50 every 12 hours.
In addition, alternative embodiments of the present invention feature random key generator 41 at one of the servers 50, instead of master user database 40. In this embodiment, one server is programmed to generate a random encryption key for use with a symmetric encryption algorithm and share it with all other servers. Furthermore, if an asymmetric algorithm (such as RSA or ElGamal) is used for encryption, each server may generate a private and a public key and share the public key with the other servers. As discussed above, 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. In preferred form, 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. In the first preferred embodiment, 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. In the first preferred embodiment, session state encryption application 53 is a software application that includes a conventional encryption and decryption algorithms. In preferred form, 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. As is conventional, 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. In preferred form, when the user accesses service provider site 80, the account user is prompted for an account name or user identification and corresponding password (step 12). 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).
If a match is found, master user database 40 provides the session state information corresponding to the user's account to server 50. In the first preferred embodiment, 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. In a preferred form, 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. One skilled in the art will recognize that any suitable values may be included in the oneway hash. 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). In preferred form, a "nonce" is added to the session state information before encryption. Typically, 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. In a preferred form, 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.
As is conventional, 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). According to the invention, when 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. One skilled in the art will recognize, however, that any appropriate method for validating the cookie can be used.
As Figure 2 indicates, if the cookie is valid, the user's request is processed (step 26). As can be readily recognized, 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. Accordingly, 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. In a preferred form, after the user's request is processed, 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. This process comprising steps 16-30 is repeated until the user logs out (See Figure 2) or submits a request that includes a cookie with an invalid time value. When the user logs out (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.
With respect to the above-provided description, one skilled in the art will readily recognize that the present invention has application in a variety of contexts. The foregoing description illustrates the principles of the present invention and provides examples of its implementation. Accordingly, the description is not intended to limit the scope of the claims to the exact embodiments shown and described.
As one skilled in the art will recognize, variations on the above-described embodiment are possible, while still employing the present invention. For example, 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. Furthermore, 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.

Claims

1. A method for providing secure access to accounts on a server connected to a computer network, said method comprising the steps of (a) authenticating a user;
(b) encrypting a session state corresponding to said user;
(c) sending said encrypted session state to said user;
(d) receiving a request from the user, said request including said encrypted session state; (e) decrypting said encrypted session state and validating said session state;
(f) processing said request if said session state is valid.
2. The method of claim 1 further comprising the steps of
(g) updating said session state; (h) encrypting said session state and transmitting said session state to said user.
3. The method of claim 2 further comprising the step of
(i) repeating steps (d) - (h) until a logout request is received from said user or said session state is invalid.
4. The method of claim 1 wherein said encrypting step (b) is performed using a symmetric encryption algorithm.
5. A method for providing secure access to accounts on a server connected to a computer network, said method comprising the steps of
(a) authenticating a user;
(b) encrypting a session state corresponding to said user, if said user is authenticated;
(c) sending said encrypted session state to said user; (d) receiving at a server a request from a user, said request including said encrypted session state;
(e) decrypting at said server said encrypted session state and authenticating at said server said session state;
(f) processing said request if said session state is valid.
6. The method of claim 5 further comprising the steps of
(g) updating said session state;
(h) encrypting said session state and transmitting said session state to said user.
7. The method of claim 6 further comprising the step of
(i) repeating steps (d) - (h) until a logout request is received from said user or said session state is invalid.
8. A method for providing secure access to accounts on a server connected to a computer network, said method comprising the steps of
(a) generating and storing an encryption key on a server;
(b) authenticating a user;
(c) encrypting, at said server, the session state corresponding to said user with said encryption key; (d) transmitting, at said server, said encrypted session state to said user;
(e) receiving, at said server, a request from a user, said request including said encrypted session state;
(f) decrypting, at said server, said encrypted session state using said encryption key; (g) validating said session state and processing said request, if said session state corresponding to said request is valid.
9. The method of claim 8 further comprising the steps of
(h) updating said session state; (i) encrypting, at said server, said session state and transmitting said session state to said user.
10. The method of claim 9 further comprising the step of
(i) repeating steps (e) - (i) until a logout request is received from said user or said session state is invalid.
11. The method of claim 8 wherein said encryption key is randomly generated.
12. The method of claim 8 wherein the encrypting step (c) is performed using a symmetric algorithm.
13. The method of claim 9 wherein the encrypting steps (c) and (h) are performed using a symmetric algorithm.
14. The method of claim 8 wherein the transmitting step (d) comprises the steps of (c1 ) packaging said encrypted session state as a cookie; (c2) transmitting said cookie to said user.
15. The method of claim 9 wherein encrypted session states are packaged as cookies before being transmitted to said user.
16. The method of claim 10 wherein encrypted session states are packaged as cookies before being transmitted to said user.
17. An apparatus for providing secure access to accounts on a server connected to a computer network comprising a master user database, said database storing a list of user accounts and session state information for corresponding ones of said user accounts; at least one server operably coupled to said master user database, said server further coupled to a computer network to receive a request from an account user; said server including means for encrypting and decrypting session states; said database, in response to a user authentication request, sending session state information to said server; said server receiving a request corresponding to a user account, said request including said encrypted session state corresponding to said user account, said server decrypting said encrypted session state and validating said session state.
18. The apparatus of claim 17 further comprising means for generating a random encryption key; wherein said server includes memory means coupled to said generating means to receive and store a random encryption key; and wherein said server encrypts and decrypts session states according to said random encryption key.
19. The apparatus of claim 18 wherein said server encrypts session states with a symmetric encryption algorithm.
20. An apparatus for providing secure access to accounts on a server connected to a computer network comprising a master user database, said master user database comprising storage means for storing lists of user accounts and session state information for corresponding ones of said user accounts; means for generating a random encryption key, at least one server operably coupled to said master user database and said generating means, said server having means for storing a random encryption key, said server including means for encrypting session states according to said random encryption key and means for decrypting session states according to said encryption key; and said server coupled to a computer network to receive requests from account users and transmit encrypted session states to users.
21. The apparatus of claim 20 wherein said encrypting means includes a symmetric encryption algorithm.
22. The apparatus of claim 20 wherein said server packages encrypted session states as cookies.
PCT/US2000/017368 1999-06-23 2000-06-21 Cryptographic representation of sessions WO2000079726A2 (en)

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 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2244420A1 (en) * 2008-03-04 2010-10-27 Huawei Technologies Co., Ltd. Method and apparatus for recovering the connection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805803A (en) * 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6092196A (en) * 1997-11-25 2000-07-18 Nortel Networks Limited HTTP distributed remote user authentication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2244420A1 (en) * 2008-03-04 2010-10-27 Huawei Technologies Co., Ltd. Method and apparatus for recovering the connection
EP2244420A4 (en) * 2008-03-04 2011-08-31 Huawei Tech Co Ltd Method and apparatus for recovering the connection
US8793494B2 (en) 2008-03-04 2014-07-29 Huawei Technologies Co., Ltd. Method and apparatus for recovering sessions

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
US7653809B2 (en) Method and system for controlling the on-line supply of digital products or the access to on-line services
US8214510B2 (en) Maintaining state information on a client
US20060106802A1 (en) Stateless methods for resource hiding and access control support based on URI encryption
WO2005101185A2 (en) Authenticating a web site with user-provided indicators
WO2001047176A1 (en) Method and apparatus for a revolving encrypting and decrypting process
US20060047662A1 (en) Capability support for web transactions
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
CN115529139A (en) Object serialization-based online software encryption authorization system and method

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 in:

Ref country code: JP