WO2002102023A1 - Authentication of a user across communication sessions - Google Patents

Authentication of a user across communication sessions Download PDF

Info

Publication number
WO2002102023A1
WO2002102023A1 PCT/US2002/018295 US0218295W WO02102023A1 WO 2002102023 A1 WO2002102023 A1 WO 2002102023A1 US 0218295 W US0218295 W US 0218295W WO 02102023 A1 WO02102023 A1 WO 02102023A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
confidential information
server computer
identifier
server
Prior art date
Application number
PCT/US2002/018295
Other languages
French (fr)
Inventor
David E. Pope
Terry N. Treder
Bradley J. Pedersen
Original Assignee
Citrix Systems, Inc.
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 Citrix Systems, Inc. filed Critical Citrix Systems, Inc.
Priority to AU2002315013A priority Critical patent/AU2002315013B2/en
Priority to EP02741946A priority patent/EP1400089B1/en
Priority to JP2003504633A priority patent/JP2004535004A/en
Priority to CA002450154A priority patent/CA2450154A1/en
Priority to IL15929502A priority patent/IL159295A0/en
Priority to KR1020037016216A priority patent/KR100898843B1/en
Priority to DE60217962T priority patent/DE60217962T2/en
Publication of WO2002102023A1 publication Critical patent/WO2002102023A1/en
Priority to IL159295A priority patent/IL159295A/en
Priority to HK04107213A priority patent/HK1065193A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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

Definitions

  • the invention relates to the field of client-server communications and, more specifically, to a method and apparatus for facilitating the reauthentication of a user using a client computer to a server computer.
  • a user typically provides authentication credentials, such as a login password, to a server computer at the start of or during a communication session.
  • the server computer typically maintains a centralized storage area in the memory of the server computer for the storage of the authentication credentials, which are typically encrypted in some manner.
  • the server computer can then check the authentication credentials received from the user against the encrypted authentication credentials stored in the server's computer's memory to authorize the user's access to the server.
  • the user If an established communication session between the user and the server computer abnormally terminates, the user generally has to reestablish the connection by starting a new communication session. To begin the new communication session, the user typically has to retransmit the authentication credentials (e.g., login password) to the server computer so that the server computer can authorize the user for the new communication session.
  • This retransmission of the authentication credentials of a user across multiple communication sessions repeatedly exposes the authentication credentials of that user to potential attackers, thereby decreasing the level of security of the authentication credentials.
  • the invention relates to an apparatus and method for eliminating the retransmission of a single user's authentication credentials after the termination of a previous communication session.
  • a server encrypts authentication credentials with a key and associates the encrypted authentication credentials with a session identifier (SID).
  • SID session identifier
  • the server transmits the encryption key and the SID to the client and then deletes the key from the memory of the server.
  • the server can then only decrypt the encrypted authentication credentials when the server receives the SID and the key from the client.
  • the server uses the SID to locate the correct key and then uses the key to decrypt the encrypted authentication credentials.
  • the invention relates to a method for facilitating the reauthentication of a client to a server.
  • the method includes the steps of receiving, by the server, authentication credentials at the start of or during a first communication session between the server and the client and encrypting the authentication credentials with a key to create encrypted authentication credentials.
  • the server then creates a session identifier (SID) to identify the communication session and stores the encrypted authentication credentials and the SID in the server's memory.
  • the method also includes the steps of transmitting the key and the SID to the client and then deleting the key from the server's memory.
  • the server uses the SID to locate the correct encrypted authentication credentials and then uses the key to decrypt the encrypted authentication credentials.
  • the invention also relates to a system for facilitating the reauthentication of a client to a server.
  • the server computer includes a memory, a key generator, a SID generator, a key destroyer, and an encryptor.
  • the server computer receives authentication credentials from the client computer.
  • the key generator then generates a key and the SID generator generates a SID for the communication session.
  • the encryptor then encrypts the authentication credentials with the key to create encrypted authentication credentials.
  • the encryptor then stores the encrypted authentication credentials and the SID in the memory of the server.
  • the server transmits the key and the SID to the client computer.
  • the key destroyer then deletes the key from the server's memory following the transmission of the key to the client.
  • the server computer also includes a decryptor.
  • the server receives the key and the SID from the client at the start of or during a second communication session, the server uses the SID to locate the encrypted authentication credentials associated with the user.
  • the decryptor then decrypts the encrypted authentication credentials using the key received from the client and re-authenticates the user.
  • Fig. 1 is a block diagram of an embodiment of a computer system to maintain authentication credentials in accordance with the invention
  • Fig. 2A is a flow diagram of the steps followed in an embodiment of the computer system of Fig. 1 to maintain authentication credentials during a first communication session in accordance with the invention
  • Fig. 2B is a flow diagram of the steps followed in an embodiment of the computer system of Fig. 1 to maintain authentication credentials during a second communication session following the termination of the first communication session of Fig. 2 A in accordance with the invention.
  • a computer system 5 in one embodiment includes a client computer 10, also referred to as a client, in communication with a server computer 15, also referred to as a server, over a communication channel 18.
  • the communication channel 18 may include a network 20.
  • the communication channel 18 can be over a local-area network (LAN), such as a company Intranet, or a wide area network (WAN) such as the Internet or the World Wide Web.
  • LAN local-area network
  • WAN wide area network
  • the computer system 5 includes multiple clients (e.g., 10') that are in cornmunication with the network 20 over additional communication channels (e.g., 18').
  • the server 15 includes a processor 25 and memory 30 that communicate over a system bus 32.
  • the memory 30 may include random access memory (RAM) and/or read only memory (ROM).
  • the server 15 accesses memory 30 from a remote site (e.g., another computer, an external storage device).
  • the client 10 and the server 15 establish a first communication session over the communication channel 18.
  • the client 10 transmits authentication credentials to the server 15 so that the server 15 can authenticate the user.
  • the authentication credentials can be any information that the user requesting access to the server 15 considers confidential.
  • Examples of authentication credentials include a login password, credit card information, a social security number, a telephone number, an address, biometric information, a time-varying passcode, and a digital certificate.
  • the server 15 After receiving the authentication credentials, the server 15 generates an encryption key.
  • the encryption key is a random number.
  • the server 15 then encrypts the authentication credentials with the key so that an attacker who gains access to the server 15 cannot access the authentication credentials without the key.
  • the server 15 also generates a session identifier (SID) to identify the communication session that is established between the client 10 and the server 15.
  • SID session identifier
  • the server 15 stores the encrypted authentication credentials with the SID in the memory 30 and transmits the SID and the key to the client 10 over the network 20.
  • the server 15 proceeds to destroy (i.e., delete) the key from its memory 30.
  • the client 10 If the first communication session between the client 10 and the server 15 terminates, for example abnormally, the new session can be reestablished without requiring the user to reenter his or her authentication credentials.
  • the client 10 and the server 15 reestablish a second communication session, the client 10 retransmits the key and the SID to the server 15.
  • the server 15 uses the SID to locate the encrypted authentication credentials in the server's memory 30 and uses the key to decrypt the encrypted authentication credentials.
  • the server 15 then authenticates the user by verifying the user's authentication credentials.
  • the client 10 attempts to establish a second communication session with the server 15.
  • the client 10 transmits the key and the SID of the terminated first communication session to the server 15.
  • the server 15 uses the SID to locate the encrypted login password associated with the user and uses the key to obtain the user's login password from the server's memory 30.
  • the client 10 can be any computing device (e.g., a personal computer, set top box, phone, handheld device, kiosk, etc) that can communicate with the server 15 and can provide a user-interface 33.
  • the client 10 can be connected to the communication channel 18 through a variety of connections including standard telephone lines, LAN or WAN links (e.g., Tl, T3, 56kb, X.25), broadband connections (ISDN, Frame Relay, ATM), and wireless connections.
  • An example of a user interface 33 is a Web browser (e.g., a Microsoft® Internet Explorer browser and/or a NetscapeTM browser).
  • the server 15 can be any of the computing devices described above (e.g., a personal computer) that can access memory 30 and can communicate with the client 10.
  • the server 15 can establish communication over the communication channel 18 using a variety of communication protocols (e.g., ICA, HTTP TCP/IP, IPX, SPX, NetBIOS, Ethernet, RS232, and direct asynchronous connections).
  • the server 15 includes a key generator 35, a SID generator 38, an encryptor 40, a key destroyer 45, and a decryptor 48.
  • the key generator 35 generates a key when the server 15 receives authentication credentials from the client 10.
  • the key generator 35 generates a random number for the key.
  • the key generator 35 derives the key from a characteristic of the server 15. Particular examples include the key generator 35 deriving the key from the temperature of the processor 25, the time that the server 15 received the authentication credentials, and the number of keys stored in memory 30.
  • the key and the authentication credentials are the same size (e.g., eight bits).
  • the key generator 35 is a software module.
  • the key generator 35 is a random number generator.
  • the SID generator 38 generates the unique SID to enable the server 15 to identify a particular communication session.
  • the SID generator 38 is a software module.
  • the SID generator 38 is a random number generator.
  • the encryptor 40 encrypts the key with the authentication credentials to create encrypted authentication credentials.
  • the encryptor 40 encrypts the key with the authentication credentials by performing an exclusive OR operation (i.e., XOR) on the key and the authentication credentials.
  • the encryptor 40 adds the authentication credentials to the key to encrypt the authentication credentials; that is, the encryptor 40 performs a "Caesar cipher" on the authentication credentials using the key as the shift value. It should be clear that the encryptor 40 can perform any type of manipulation on the authentication credentials as long as the server 15 can decrypt the encrypted authentication credentials with the key.
  • the encryptor 40 is a software module that executes mathematical algorithms on the key and the authentication credentials to create the encrypted authentication credentials.
  • the encryptor 40 is a logic gate of the server computer 15, such as an exclusive OR (XOR) gate.
  • the encryptor 40 performs a hash function, such as MP4, MP5, and SHA-1, on the authentication credentials.
  • the encryptor 40 stores the encrypted authentication credentials and the SID in a table 55 in memory 30.
  • the encryptor 40 stores the encrypted authentication credentials in the table 55 and the SID generator 38 stores the SID in the table 55.
  • the table 55 is an area in memory 30 allocated by the processor 25 for use by the encryptor 40.
  • the encryptor 40 stores the encrypted authentication credentials in a database (not shown).
  • the server 15 uses the SID as a vector to the location of the encrypted authentication credentials in the table 55.
  • the server 15 can locate the encrypted authentication credentials by using a particular SID (as each encrypted authentication credential created by the encryptor 40 is associated with only one SID).
  • the key destroyer 45 deletes the key once the server 15 determines that the key is no longer needed.
  • the key destroyer 45 is a delete function of a software program, such as the operating system of the server 15.
  • the decryptor 48 decrypts the encrypted authentication credentials once the server 15 receives the key and the SID from the client 10.
  • the decryptor 48 is a software module that performs the inverse function or algorithm that the encryptor 40 performed to create the encrypted authentication credentials.
  • the decryptor 48 is a hardware component (e.g., a logic gate) to perform the inverse operation of the encryptor 40.
  • one or more of the key generator 35, the SID generator 38, the encryptor 40, the key destroyer 45, and the decryptor 48 are joined into one software module.
  • these components 35, 38, 40, 45, 48 can be hardware components, such as logic gates.
  • these components 35, 38, 40, 45, 48 are included in a single integrated circuit.
  • the authentication credentials may be a login password that is needed to establish the first communication session.
  • the obtaining of the authentication credentials from the user precedes the establishment of the communication session.
  • the authentication credential is personal information of the user (e.g., credit card information, social security number) that the client 10 obtains after the first communication session has been established.
  • the client 10 transmits (step 105) the authentication credentials to the server 15 over the communication channel 18.
  • the key generator 35 creates (step 110) a first encryption key for use with the authentication credentials.
  • the encryptor 40 then encrypts (step 115) the authentication credentials with the first key to generate encrypted authentication credentials.
  • the SID generator 38 then creates (step 120) a first SID to identify the first communication session.
  • the encryptor 40 then stores (step 125) the encrypted authentication credentials with the first SID in the table 55 described above.
  • the encryptor 40 stores the encrypted authentication credentials and the first SID in a certain location for more efficient retrieval at a later time. For instance, the encryptor 40 stores all encrypted authentication credentials and SIDs that have been created within a predetermined amount of time in RAM 30.
  • the server 15 transfers all encrypted authentication credentials and SIDs created before a predetermined time to a second, external memory (not shown).
  • the encryptor 40 stores the encrypted authentication credentials and SID in a database.
  • the SID and the encrypted authentication credentials stored in the memory 30 can be arranged in any particular order and/or format. For example, the SID and encrypted authentication credentials can be stored in chronological order with respect to the creation time of the encrypted authentication credentials.
  • the server 15 then transmits (step 135) the first key and the associated first SID to the client 10.
  • the client 10 stores (step 140) the first key and the first SID in the client's memory (not shown).
  • the key destroyer 45 then deletes (step 145) the key stored in memory 30.
  • the server 15 does not delete the first key from memory 30 until the client 10 notifies the server 15 that the client 10 has received the key.
  • the client 10 transmits an acknowledgment message to the server 15 after the client 10 successfully receives the key.
  • the key destroyer 45 then deletes (step 145) the key from the memory 30. This prevents the server 15 from deleting the key before the client 10 successfully receives the key.
  • the server 15 can retransmit the key and the SID to the client 10 upon a failure in the transmission.
  • the server 15 does not have the mechanism needed to decrypt the encrypted authentication credentials stored in the table 55.
  • the attacker accesses the memory 30 of the server 15, the attacker can retrieve the encrypted authentication credentials but cannot decrypt the encrypted authentication credentials (and so cannot read the authentication credentials).
  • the encrypted authentication credentials stored on the server 15 provides no information that the attacker can interpret or understand and the server 15 possesses no information to decrypt the encrypted authentication credentials.
  • the client 10 is the only device that can provide the key to the encrypted authentication credentials. With the possibility of many clients 10 as part of the network 20, an attacker may have to attempt to gain access to each client (e.g., 10, 10') individually to find the client 10 that possesses the correct key.
  • the client 10 can transmit (step 155) the first SID and the first key to the server 15 during a second communication session without retransmitting the authentication credentials.
  • the server 15 has a timeout feature with respect to accessing the encrypted authentication credentials. For instance, the server 15 starts a timer after the first communication is abnormally terminated. If the timer reaches a predetermined value before the client 10 reestablishes the second communication session and transmits the key to the server 15 for decryption, the server 15 deletes the encrypted authentication credentials from the table 55. If no timer is used, the key acts as a de facto password for future sessions.
  • the server 15 uses (step 160) the first SID to locate the encrypted authentication credentials and then the decryptor 48 uses the first key to decrypt the encrypted authentication credentials.
  • the key generator 35 creates (step 170) a second key for the authentication credentials and the key encryptor 40 then encrypts (step 175) the authentication credentials with the second key to generate second encrypted authentication credentials.
  • the SID generator 38 also creates (step 180) a second SID to identify the second communication session.
  • the encryptor 40 stores the second encrypted authentication credentials with the second SID in the table 55.
  • the server 15 then transmits (step 185) the second key and the second SID to the client 10.
  • the client 10 then stores (step 190) the second key and the second SID in memory (not shown) for future retrieval.
  • the key destroyer 45 then deletes (step 195) the second key from the memory 30.
  • the server 15 can only decrypt the second encrypted authentication credentials upon reception of the second key and the second SID from the client 10.
  • the server 15 has created a new key and a new SID for the second communication session that is used with the same authentication credentials that the user had transmitted during the first communication session. Therefore, a user's authentication credentials do not have to be retransmitted upon a second communication channel after an abnormal termination of the first communication session.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • External Artificial Organs (AREA)
  • Prostheses (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

The invention relates to an apparatus and for facilitating the reauthentication of a user using a client computer to a serer computer. In one embodiment, the method includes the steps of receiving, by the server, confidential information during a first communication session between the server and a client, encrypting the confidential information with a key to create encrypted confidential information, and storing the encrypted confidential information in the server's memory. The method also includes the steps of transmitting, by the server, the key to the client and deleting, by the server, the key from the server's memory. When the server receives the key from the client during a second communication session, the server uses the key to decrypt the encrypted confidential information.

Description

AUTHENTICATION OF A USER CROSS COMMUNICATION, SESSIONS
FIELD OF THE INVENTION
[0001] The invention relates to the field of client-server communications and, more specifically, to a method and apparatus for facilitating the reauthentication of a user using a client computer to a server computer. BACKGROUND OF THE INVENTION
[0002] A user typically provides authentication credentials, such as a login password, to a server computer at the start of or during a communication session. The server computer typically maintains a centralized storage area in the memory of the server computer for the storage of the authentication credentials, which are typically encrypted in some manner. The server computer can then check the authentication credentials received from the user against the encrypted authentication credentials stored in the server's computer's memory to authorize the user's access to the server.
[0003] If an established communication session between the user and the server computer abnormally terminates, the user generally has to reestablish the connection by starting a new communication session. To begin the new communication session, the user typically has to retransmit the authentication credentials (e.g., login password) to the server computer so that the server computer can authorize the user for the new communication session. This retransmission of the authentication credentials of a user across multiple communication sessions repeatedly exposes the authentication credentials of that user to potential attackers, thereby decreasing the level of security of the authentication credentials. Thus, it is desirable to provide a technique for reestablishing a communication session between a client computer and a server computer without repeatedly transmitting the authentication credentials.
SUMMARY OF THE INVENTION [0004] The invention relates to an apparatus and method for eliminating the retransmission of a single user's authentication credentials after the termination of a previous communication session. To eliminate the retransmission, a server encrypts authentication credentials with a key and associates the encrypted authentication credentials with a session identifier (SID). The SID identifies the current communication session. The server then transmits the encryption key and the SID to the client and then deletes the key from the memory of the server. The server can then only decrypt the encrypted authentication credentials when the server receives the SID and the key from the client. The server uses the SID to locate the correct key and then uses the key to decrypt the encrypted authentication credentials. [0005] In one embodiment, the invention relates to a method for facilitating the reauthentication of a client to a server. In one embodiment, the method includes the steps of receiving, by the server, authentication credentials at the start of or during a first communication session between the server and the client and encrypting the authentication credentials with a key to create encrypted authentication credentials. The server then creates a session identifier (SID) to identify the communication session and stores the encrypted authentication credentials and the SID in the server's memory. The method also includes the steps of transmitting the key and the SID to the client and then deleting the key from the server's memory. When the server receives the key and the SID from the client during a second communication session, the server uses the SID to locate the correct encrypted authentication credentials and then uses the key to decrypt the encrypted authentication credentials.
[0006] The invention also relates to a system for facilitating the reauthentication of a client to a server. The server computer includes a memory, a key generator, a SID generator, a key destroyer, and an encryptor. The server computer receives authentication credentials from the client computer. The key generator then generates a key and the SID generator generates a SID for the communication session. The encryptor then encrypts the authentication credentials with the key to create encrypted authentication credentials. The encryptor then stores the encrypted authentication credentials and the SID in the memory of the server. The server then transmits the key and the SID to the client computer. The key destroyer then deletes the key from the server's memory following the transmission of the key to the client. [0007] The server computer also includes a decryptor. When the server receives the key and the SID from the client at the start of or during a second communication session, the server uses the SID to locate the encrypted authentication credentials associated with the user. The decryptor then decrypts the encrypted authentication credentials using the key received from the client and re-authenticates the user. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The invention is pointed out with particularity in the appended claims. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. Like reference characters in the respective drawing figures indicate corresponding parts. The advantages of the invention may be better understood by referring to the following description taken in conjunction with the accompanying drawings in which: [0009] Fig. 1 is a block diagram of an embodiment of a computer system to maintain authentication credentials in accordance with the invention; [0010] Fig. 2A is a flow diagram of the steps followed in an embodiment of the computer system of Fig. 1 to maintain authentication credentials during a first communication session in accordance with the invention; and
[0011] Fig. 2B is a flow diagram of the steps followed in an embodiment of the computer system of Fig. 1 to maintain authentication credentials during a second communication session following the termination of the first communication session of Fig. 2 A in accordance with the invention.
DESCRIPTION OF THE PREFERRED EMBODIMENT [0012] Referring to Fig. 1, and in brief overview, a computer system 5 in one embodiment includes a client computer 10, also referred to as a client, in communication with a server computer 15, also referred to as a server, over a communication channel 18. The communication channel 18 may include a network 20. For example, the communication channel 18 can be over a local-area network (LAN), such as a company Intranet, or a wide area network (WAN) such as the Internet or the World Wide Web. [0013] In another embodiment, the computer system 5 includes multiple clients (e.g., 10') that are in cornmunication with the network 20 over additional communication channels (e.g., 18'). Although illustrated with two clients 10, 10' (generally 10) and two communication channels 18, 18' (generally 18), any number of clients 10 and any number of communication channels 18 can be used as part of the computer system 5. [0014] In one embodiment, the server 15 includes a processor 25 and memory 30 that communicate over a system bus 32. The memory 30 may include random access memory (RAM) and/or read only memory (ROM). In another embodiment, the server 15 accesses memory 30 from a remote site (e.g., another computer, an external storage device). [0015] The client 10 and the server 15 establish a first communication session over the communication channel 18. In one embodiment, the client 10 transmits authentication credentials to the server 15 so that the server 15 can authenticate the user. The authentication credentials can be any information that the user requesting access to the server 15 considers confidential. Examples of authentication credentials include a login password, credit card information, a social security number, a telephone number, an address, biometric information, a time-varying passcode, and a digital certificate.
[0016] After receiving the authentication credentials, the server 15 generates an encryption key. In one embodiment, the encryption key is a random number. The server 15 then encrypts the authentication credentials with the key so that an attacker who gains access to the server 15 cannot access the authentication credentials without the key. The server 15 also generates a session identifier (SID) to identify the communication session that is established between the client 10 and the server 15. The server 15 then stores the encrypted authentication credentials with the SID in the memory 30 and transmits the SID and the key to the client 10 over the network 20. Upon the client's receipt of the SID and the key, the server 15 proceeds to destroy (i.e., delete) the key from its memory 30.
[0017] If the first communication session between the client 10 and the server 15 terminates, for example abnormally, the new session can be reestablished without requiring the user to reenter his or her authentication credentials. When the client 10 and the server 15 reestablish a second communication session, the client 10 retransmits the key and the SID to the server 15. The server 15 uses the SID to locate the encrypted authentication credentials in the server's memory 30 and uses the key to decrypt the encrypted authentication credentials. The server 15 then authenticates the user by verifying the user's authentication credentials. [0018] To illustrate, upon an abnormal termination of a first communication session in which the user's login password was the authentication credential, the client 10 attempts to establish a second communication session with the server 15. As part of the request to the server 15 to establish the second communication session, the client 10 transmits the key and the SID of the terminated first communication session to the server 15. Instead of prompting the user to enter the user's login password again, the server 15 uses the SID to locate the encrypted login password associated with the user and uses the key to obtain the user's login password from the server's memory 30.
[0019] In more detail and still referring to Fig. 1, the client 10 can be any computing device (e.g., a personal computer, set top box, phone, handheld device, kiosk, etc) that can communicate with the server 15 and can provide a user-interface 33. The client 10 can be connected to the communication channel 18 through a variety of connections including standard telephone lines, LAN or WAN links (e.g., Tl, T3, 56kb, X.25), broadband connections (ISDN, Frame Relay, ATM), and wireless connections. An example of a user interface 33 is a Web browser (e.g., a Microsoft® Internet Explorer browser and/or a Netscape™ browser). [0020] Similar to the client 10, the server 15 can be any of the computing devices described above (e.g., a personal computer) that can access memory 30 and can communicate with the client 10. The server 15 can establish communication over the communication channel 18 using a variety of communication protocols (e.g., ICA, HTTP TCP/IP, IPX, SPX, NetBIOS, Ethernet, RS232, and direct asynchronous connections).
[0021] The server 15 includes a key generator 35, a SID generator 38, an encryptor 40, a key destroyer 45, and a decryptor 48. The key generator 35 generates a key when the server 15 receives authentication credentials from the client 10. In one embodiment, the key generator 35 generates a random number for the key. In another embodiment, the key generator 35 derives the key from a characteristic of the server 15. Particular examples include the key generator 35 deriving the key from the temperature of the processor 25, the time that the server 15 received the authentication credentials, and the number of keys stored in memory 30. In a further embodiment, the key and the authentication credentials are the same size (e.g., eight bits). In one embodiment, the key generator 35 is a software module. In another embodiment, the key generator 35 is a random number generator.
[0022] The SID generator 38 generates the unique SID to enable the server 15 to identify a particular communication session. In one embodiment, the SID generator 38 is a software module. In another embodiment, the SID generator 38 is a random number generator. [0023] The encryptor 40 encrypts the key with the authentication credentials to create encrypted authentication credentials. In one embodiment, the encryptor 40 encrypts the key with the authentication credentials by performing an exclusive OR operation (i.e., XOR) on the key and the authentication credentials. In another embodiment, the encryptor 40 adds the authentication credentials to the key to encrypt the authentication credentials; that is, the encryptor 40 performs a "Caesar cipher" on the authentication credentials using the key as the shift value. It should be clear that the encryptor 40 can perform any type of manipulation on the authentication credentials as long as the server 15 can decrypt the encrypted authentication credentials with the key.
[0024] In one embodiment, the encryptor 40 is a software module that executes mathematical algorithms on the key and the authentication credentials to create the encrypted authentication credentials. In another embodiment, the encryptor 40 is a logic gate of the server computer 15, such as an exclusive OR (XOR) gate. In another embodiment, the encryptor 40 performs a hash function, such as MP4, MP5, and SHA-1, on the authentication credentials. [0025] In one embodiment, the encryptor 40 stores the encrypted authentication credentials and the SID in a table 55 in memory 30. In another embodiment, the encryptor 40 stores the encrypted authentication credentials in the table 55 and the SID generator 38 stores the SID in the table 55. In one embodiment, the table 55 is an area in memory 30 allocated by the processor 25 for use by the encryptor 40. In another embodiment, the encryptor 40 stores the encrypted authentication credentials in a database (not shown).
[0026] In one embodiment, the server 15 uses the SID as a vector to the location of the encrypted authentication credentials in the table 55. Thus, the server 15 can locate the encrypted authentication credentials by using a particular SID (as each encrypted authentication credential created by the encryptor 40 is associated with only one SID).
[0027] The key destroyer 45 deletes the key once the server 15 determines that the key is no longer needed. In one embodiment, the key destroyer 45 is a delete function of a software program, such as the operating system of the server 15. [0028] The decryptor 48 decrypts the encrypted authentication credentials once the server 15 receives the key and the SID from the client 10. In one embodiment, the decryptor 48 is a software module that performs the inverse function or algorithm that the encryptor 40 performed to create the encrypted authentication credentials. In another embodiment, the decryptor 48 is a hardware component (e.g., a logic gate) to perform the inverse operation of the encryptor 40. [0029] In one embodiment, one or more of the key generator 35, the SID generator 38, the encryptor 40, the key destroyer 45, and the decryptor 48 are joined into one software module. In yet another embodiment, these components 35, 38, 40, 45, 48 can be hardware components, such as logic gates. In a further embodiment, these components 35, 38, 40, 45, 48 are included in a single integrated circuit. [0030] Referring also to Fig. 2 A, the client 10 establishes a first communication session with the server 15 over the communication channel 18. The client 10 obtains (step 100) authentication credentials from a user of the client 10. In a computer system 5 not using an Open System Interconnection (OSI) protocol as the transmission protocol for communications between the client 10 and the server 15, the authentication credentials may be a login password that is needed to establish the first communication session. In this embodiment, the obtaining of the authentication credentials from the user precedes the establishment of the communication session. In another embodiment, the authentication credential is personal information of the user (e.g., credit card information, social security number) that the client 10 obtains after the first communication session has been established. The client 10 then transmits (step 105) the authentication credentials to the server 15 over the communication channel 18. [0031] After the server 15 receives the authentication credentials, the key generator 35 creates (step 110) a first encryption key for use with the authentication credentials. The encryptor 40 then encrypts (step 115) the authentication credentials with the first key to generate encrypted authentication credentials. The SID generator 38 then creates (step 120) a first SID to identify the first communication session. The encryptor 40 then stores (step 125) the encrypted authentication credentials with the first SID in the table 55 described above. [0032] In one embodiment, the encryptor 40 stores the encrypted authentication credentials and the first SID in a certain location for more efficient retrieval at a later time. For instance, the encryptor 40 stores all encrypted authentication credentials and SIDs that have been created within a predetermined amount of time in RAM 30. The server 15 transfers all encrypted authentication credentials and SIDs created before a predetermined time to a second, external memory (not shown). In another embodiment, the encryptor 40 stores the encrypted authentication credentials and SID in a database.
[0033] The SID and the encrypted authentication credentials stored in the memory 30 can be arranged in any particular order and/or format. For example, the SID and encrypted authentication credentials can be stored in chronological order with respect to the creation time of the encrypted authentication credentials. [0034] The server 15 then transmits (step 135) the first key and the associated first SID to the client 10. The client 10 stores (step 140) the first key and the first SID in the client's memory (not shown). The key destroyer 45 then deletes (step 145) the key stored in memory 30. [0035] In another embodiment, the server 15 does not delete the first key from memory 30 until the client 10 notifies the server 15 that the client 10 has received the key. For example, the client 10 transmits an acknowledgment message to the server 15 after the client 10 successfully receives the key. Once the server 15 receives notice (e.g., the acknowledgment message), the key destroyer 45 then deletes (step 145) the key from the memory 30. This prevents the server 15 from deleting the key before the client 10 successfully receives the key. By not deleting the key until receiving the acknowledgement message, the server 15 can retransmit the key and the SID to the client 10 upon a failure in the transmission.
[0036] By deleting the key in step 145, the server 15 does not have the mechanism needed to decrypt the encrypted authentication credentials stored in the table 55. Thus, if an attacker accesses the memory 30 of the server 15, the attacker can retrieve the encrypted authentication credentials but cannot decrypt the encrypted authentication credentials (and so cannot read the authentication credentials). In short, the encrypted authentication credentials stored on the server 15 provides no information that the attacker can interpret or understand and the server 15 possesses no information to decrypt the encrypted authentication credentials. [0037] In addition, the client 10 is the only device that can provide the key to the encrypted authentication credentials. With the possibility of many clients 10 as part of the network 20, an attacker may have to attempt to gain access to each client (e.g., 10, 10') individually to find the client 10 that possesses the correct key. This can be time consuming and tedious and, as a result, may deter an attacker from an attempt to decrypt the encrypted authentication credentials. [0038] Further, and also referring to Fig. 2B, if the first communication session ends abnormally (step 150), the client 10 can transmit (step 155) the first SID and the first key to the server 15 during a second communication session without retransmitting the authentication credentials.
[0039] In another embodiment, the server 15 has a timeout feature with respect to accessing the encrypted authentication credentials. For instance, the server 15 starts a timer after the first communication is abnormally terminated. If the timer reaches a predetermined value before the client 10 reestablishes the second communication session and transmits the key to the server 15 for decryption, the server 15 deletes the encrypted authentication credentials from the table 55. If no timer is used, the key acts as a de facto password for future sessions. [0040] Once the server 15 receives the first key and the first SID from the client 10 (at the start of or during the second communication session, the server 15 uses (step 160) the first SID to locate the encrypted authentication credentials and then the decryptor 48 uses the first key to decrypt the encrypted authentication credentials. [0041] In one embodiment, during the second communication session, the key generator 35 creates (step 170) a second key for the authentication credentials and the key encryptor 40 then encrypts (step 175) the authentication credentials with the second key to generate second encrypted authentication credentials. The SID generator 38 also creates (step 180) a second SID to identify the second communication session. The encryptor 40 stores the second encrypted authentication credentials with the second SID in the table 55. [0042] The server 15 then transmits (step 185) the second key and the second SID to the client 10. The client 10 then stores (step 190) the second key and the second SID in memory (not shown) for future retrieval. The key destroyer 45 then deletes (step 195) the second key from the memory 30. Thus, the server 15 can only decrypt the second encrypted authentication credentials upon reception of the second key and the second SID from the client 10. The server 15 has created a new key and a new SID for the second communication session that is used with the same authentication credentials that the user had transmitted during the first communication session. Therefore, a user's authentication credentials do not have to be retransmitted upon a second communication channel after an abnormal termination of the first communication session.
[0043] Although the invention is discussed in terms of authentication credentials, any confidential information which can be maintained across sessions if there is a communication failure can be used. Thus if credit card information is required by an application and the credit card information is sent to the server, the subsequent disconnect between the client and the server does not require the credit card information to be reentered if this invention is used. Further, although a session identifier, or SID, is discussed as providing a pointer to the stored authentication credentials, any number which is suitable as a pointer may be used. [0044] The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The foregoing embodiments are therefore to be considered in all respects illustrative rather than limiting on the invention described herein. The scope of the invention is thus indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. What is claimed is:

Claims

CLAIMS 1. A method for facilitating the reauthentication of a user using a client computer to a server computer comprising the steps of: (a) receiving confidential information from the client computer; (b) establishing a first communication session between the client computer and the server computer; (c) generating a key; (d) encrypting the confidential information with the key to create encrypted confidential information; (e) storing the encrypted confidential information on the server computer; ' (f) transmitting the key to the client computer; and (g) deleting the key on the server computer.
2. The method of claim 1 further comprising the steps of: (h) establishing a second communication session after deleting the key on the server computer; (i) receiving the key associated with the encrypted confidential information from the client computer during the second communication session; and (j) using the key by the server computer to decrypt the encrypted confidential information.
3. The method of claim 1 wherein step (e) further comprises the step of: (e-a) creating an identifier by the server computer prior to transmitting the key to the client computer; and (e-b) storing the identifier on the server computer.
4. The method of claim 2 wherein step (h) further comprises the steps of: (h-a) receiving an identifier associated with the first communication session from the client computer during the second communication session before using the key to decrypt the encrypted confidential information; and (h-b) using the identifier to locate the encrypted confidential information before using the key to decrypt the encrypted confidential information.
5. The method of claim 2 further comprising the step of establishing the second communication session between the client computer and the server computer upon termination of the first communication session.
6. The method of claim 2 further comprising the steps of: (k) creating a second key during the second communication session; (1) creating a second identifier during the second communication session; (m) encrypting the confidential information with the second key to create second encrypted confidential information; (n) storing the encrypted confidential information and the second identifier on the server computer; (o) transmitting the second key and the second identifier to the client computer; and (p) deleting the second key on the server computer.
7. The method of claim 1 wherein encrypting of the confidential information and the key further comprises performing an exclusive OR operation on the confidential information and the key.
8. The method of claim 1 further comprising enabling access to the encrypted confidential information for a predetermined amount of time.
9. The method of claim 3 wherein the identifier further comprises a pointer to the encrypted confidential information.
10. The method of claim 1 wherein the encrypted confidential information is stored in a database.
11. The method of claim 1 wherein the confidential information is a password.
12. The method of claim 3 wherein the identifier is a session identifier.
13. A system for facilitating reauthentication of a user using a client computer to a server computer, the system comprising: (a) a client computer; and (b) a server computer comprising a memory, a key generator, a key destroyer, an encryptor, and a decryptor, the server computer in electrical communication with the client computer; wherein the server computer receives confidential information from the client computer during a first communication session between the server computer and the client computer, wherein the key generator generates a key, wherein the encryptor encrypts confidential information received from the client computer with the key to create encrypted confidential information, wherein the encryptor stores the encrypted confidential information in the memory of the server computer, wherein the server computer transmits the key to the client computer, and wherein the key destroyer destroys the key following transmission to the client computer.
14. The system of claim 13 wherein the server computer receives the key during a second communication session.
15. The system of claim 13 wherein the decryptor decrypts the encrypted confidential information in the memory using the key.
16. The system of claim 13 wherein the confidential information is personal information associated with a user of the client computer.
17. The system of claim 13 further comprising an identifier generator that generates an identifier.
18. The system of claim 17 wherein the identifier generator associates the identifier with the encrypted confidential information.
19. The system of claim 13 wherein the identifier is a session identifier.
20. A system for facilitating the reauthentication of a client computer to a server computer, the system comprising: (a) a client computer; and (b) a server computer comprising a memory, a key generator, a key destroyer, an identifier generator, an encryptor, and a decryptor, the server computer in electrical communication with the client computer; wherein the server computer receives confidential information from the client computer during a first communication session between the server computer and the client computer, wherein the key generator generates a key, wherein the encryptor encrypts confidential information received from a client with the key to create encrypted confidential information, wherein the identifier generator generates an identifier, wherein the server computer stores the encrypted confidential information and the identifier in the memory of the server computer, wherein the server computer transmits the key and the identifier to the client computer, wherein the key destroyer destroys the key following transmission to the client computer, and wherein the server computer receives the key and the identifier during a second communication session to enable the decryptor to decrypt the encrypted confidential information in the memory.
21. A method for facilitating the reauthentication of a client computer to a server computer comprising the steps of: (a) establishing a first communication session between a client computer and a server computer; (b) receiving confidential information from the client computer; (c) creating an identifier by the server computer to identify the first communication session after receiving the confidential information; (d) encrypting the confidential information with a key to create encrypted confidential information; (e) storing the encrypted confidential information and the identifier in a table in memory of the server computer; (f) transmitting, by the server computer, the key and the identifier to the client computer; (g) deleting, by the server computer, the key from the memory of the server computer; (h) establishing a second communication session between the client computer and the server computer upon termination of the first communication session; (i) receiving, from the client computer, during the second communication session, the identifier that identifies the first communication session; (j) receiving, from the client computer, during the second communication session, the key associated with the encrypted confidential information; (k) using the identifier to determine the location of the encrypted confidential information in the table; and (1) decrypting, by the server computer, the encrypted confidential information using the key received from the client computer during the second communication session.
22. A computer system for facilitating reestablisliment of communications between a client computer and a server computer comprising: (a) means for receiving confidential information from a client computer durmg a first communication session; (b) means for encrypting the confidential information with a key to create encrypted confidential information; (c) means for storing the encrypted confidential information; (d) means for transmitting the key to the client computer; (e) means for deleting, by the server computer, the key from memory of the server computer; (f) means for receiving the key associated with the encrypted confidential information from the client during a second communication session; and (g) means for using the key to decrypt the encrypted confidential information.
PCT/US2002/018295 2001-06-13 2002-06-11 Authentication of a user across communication sessions WO2002102023A1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
AU2002315013A AU2002315013B2 (en) 2001-06-13 2002-06-11 Authentication of a user across communication sessions
EP02741946A EP1400089B1 (en) 2001-06-13 2002-06-11 Authentification of a user across communicaqtion sessions
JP2003504633A JP2004535004A (en) 2001-06-13 2002-06-11 Authenticating a user through a communication session
CA002450154A CA2450154A1 (en) 2001-06-13 2002-06-11 Authentication of a user across communication sessions
IL15929502A IL159295A0 (en) 2001-06-13 2002-06-11 Authentication of a user across communication sessions
KR1020037016216A KR100898843B1 (en) 2001-06-13 2002-06-11 Authentication of A User Across Communication Sessions
DE60217962T DE60217962T2 (en) 2001-06-13 2002-06-11 User authentication across the communication sessions
IL159295A IL159295A (en) 2001-06-13 2003-12-10 Authentication of a user across communication sessions
HK04107213A HK1065193A1 (en) 2001-06-13 2004-09-17 Authentification of a user across communication sessions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/880,268 2001-06-13
US09/880,268 US7100200B2 (en) 2001-06-13 2001-06-13 Method and apparatus for transmitting authentication credentials of a user across communication sessions

Publications (1)

Publication Number Publication Date
WO2002102023A1 true WO2002102023A1 (en) 2002-12-19

Family

ID=25375900

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2002/018295 WO2002102023A1 (en) 2001-06-13 2002-06-11 Authentication of a user across communication sessions

Country Status (12)

Country Link
US (1) US7100200B2 (en)
EP (1) EP1400089B1 (en)
JP (1) JP2004535004A (en)
KR (1) KR100898843B1 (en)
AT (1) ATE353181T1 (en)
AU (1) AU2002315013B2 (en)
CA (1) CA2450154A1 (en)
DE (1) DE60217962T2 (en)
ES (1) ES2279871T3 (en)
HK (1) HK1065193A1 (en)
IL (2) IL159295A0 (en)
WO (1) WO2002102023A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006116147A2 (en) * 2005-04-22 2006-11-02 Citrix Systems, Inc. System and method for key recovery
WO2007089179A1 (en) * 2006-02-03 2007-08-09 Mideye Ab A system, an arrangement and a method for end user authentication
US9276909B2 (en) 2008-08-27 2016-03-01 Qualcomm Incorporated Integrity protection and/or ciphering for UE registration with a wireless network
US9628448B2 (en) 2013-05-03 2017-04-18 Citrix Systems, Inc. User and device authentication in enterprise systems

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
JP3859450B2 (en) * 2001-02-07 2006-12-20 富士通株式会社 Secret information management system and information terminal
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
JP2003085084A (en) * 2001-09-12 2003-03-20 Sony Corp Contents delivery system and method, portable terminal, delivery server, and recording medium
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
US7333616B1 (en) 2001-11-14 2008-02-19 Omniva Corp. Approach for managing access to messages using encryption key management policies
US7783901B2 (en) * 2001-12-05 2010-08-24 At&T Intellectual Property Ii, L.P. Network security device and method
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
WO2003079607A1 (en) * 2002-03-18 2003-09-25 Colin Martin Schmidt Session key distribution methods using a hierarchy of key servers
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US20030194999A1 (en) * 2002-04-16 2003-10-16 Quick Roy Franklin Method and apparatus for reestablishing crypto-sync synchronization in a communication system
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20040003081A1 (en) * 2002-06-26 2004-01-01 Microsoft Corporation System and method for providing program credentials
US20040024867A1 (en) * 2002-06-28 2004-02-05 Openwave Systems Inc. Method and apparatus for determination of device capabilities on a network
US7299033B2 (en) 2002-06-28 2007-11-20 Openwave Systems Inc. Domain-based management of distribution of digital content from multiple suppliers to multiple wireless services subscribers
US7233790B2 (en) * 2002-06-28 2007-06-19 Openwave Systems, Inc. Device capability based discovery, packaging and provisioning of content for wireless mobile devices
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7216363B2 (en) * 2002-08-30 2007-05-08 Avaya Technology Corp. Licensing duplicated systems
US7698225B2 (en) 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7707116B2 (en) 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7966520B2 (en) 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US20040078339A1 (en) * 2002-10-22 2004-04-22 Goringe Christopher M. Priority based licensing
US7890997B2 (en) 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7190948B2 (en) * 2003-03-10 2007-03-13 Avaya Technology Corp. Authentication mechanism for telephony devices
US7373657B2 (en) * 2003-03-10 2008-05-13 Avaya Technology Corp. Method and apparatus for controlling data and software access
US20040181696A1 (en) * 2003-03-11 2004-09-16 Walker William T. Temporary password login
US7266685B1 (en) * 2003-06-24 2007-09-04 Arraycomm, Llc Time certification in a wireless communications network
US8571222B1 (en) * 2003-08-13 2013-10-29 Verizon Corporate Services Group Inc. System and method for wide area wireless connectivity to the internet
US9100814B2 (en) * 2003-09-17 2015-08-04 Unwired Plant, Llc Federated download of digital content to wireless devices
US8094804B2 (en) 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
US8190893B2 (en) * 2003-10-27 2012-05-29 Jp Morgan Chase Bank Portable security transaction protocol
US7460861B2 (en) * 2003-12-17 2008-12-02 Redknee Inc. Real-time mobile conferencing solution
KR101042745B1 (en) * 2004-01-30 2011-06-20 삼성전자주식회사 System and method for reestablishing the session between terminal and server
US7353388B1 (en) 2004-02-09 2008-04-01 Avaya Technology Corp. Key server for securing IP telephony registration, control, and maintenance
US7272500B1 (en) 2004-03-25 2007-09-18 Avaya Technology Corp. Global positioning system hardware key for software licenses
US8000989B1 (en) 2004-03-31 2011-08-16 Avaya Inc. Using true value in routing work items to resources
US7953859B1 (en) 2004-03-31 2011-05-31 Avaya Inc. Data model of participation in multi-channel and multi-party contacts
US7734032B1 (en) 2004-03-31 2010-06-08 Avaya Inc. Contact center and method for tracking and acting on one and done customer contacts
US8954590B2 (en) * 2004-04-27 2015-02-10 Sap Ag Tunneling apparatus and method for client-server communication
US8738412B2 (en) 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
KR100621570B1 (en) * 2004-07-16 2006-09-14 삼성전자주식회사 Method and system for secure communication between main server and client on a home-network
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
US7949121B1 (en) 2004-09-27 2011-05-24 Avaya Inc. Method and apparatus for the simultaneous delivery of multiple contacts to an agent
US8234141B1 (en) 2004-09-27 2012-07-31 Avaya Inc. Dynamic work assignment strategies based on multiple aspects of agent proficiency
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US7965701B1 (en) 2004-09-30 2011-06-21 Avaya Inc. Method and system for secure communications with IP telephony appliance
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US8364807B1 (en) 2004-11-18 2013-01-29 Rockstar Consortium Us Lp Identifying and controlling network sessions via an access concentration point
US8806020B1 (en) * 2004-12-20 2014-08-12 Avaya Inc. Peer-to-peer communication session monitoring
US20060143477A1 (en) * 2004-12-27 2006-06-29 Stevens Harden E Iii User identification and data fingerprinting/authentication
US20060218636A1 (en) * 2005-03-24 2006-09-28 David Chaum Distributed communication security systems
JP4577776B2 (en) * 2005-05-25 2010-11-10 フェリカネットワークス株式会社 Non-contact IC chip and portable terminal
US7809127B2 (en) 2005-05-26 2010-10-05 Avaya Inc. Method for discovering problem agent behaviors
US7779042B1 (en) 2005-08-08 2010-08-17 Avaya Inc. Deferred control of surrogate key generation in a distributed processing architecture
US7814023B1 (en) 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
JP2007079857A (en) * 2005-09-13 2007-03-29 Canon Inc Server apparatus, client apparatuses and those control methods, computer program, storage medium
US7822587B1 (en) 2005-10-03 2010-10-26 Avaya Inc. Hybrid database architecture for both maintaining and relaxing type 2 data entity behavior
US7787609B1 (en) 2005-10-06 2010-08-31 Avaya Inc. Prioritized service delivery based on presence and availability of interruptible enterprise resources with skills
US7752230B2 (en) 2005-10-06 2010-07-06 Avaya Inc. Data extensibility using external database tables
US7895450B2 (en) * 2006-01-09 2011-02-22 Fuji Xerox Co., Ltd. Data management system, data management method and storage medium storing program for data management
US8737173B2 (en) 2006-02-24 2014-05-27 Avaya Inc. Date and time dimensions for contact center reporting in arbitrary international time zones
US7936867B1 (en) 2006-08-15 2011-05-03 Avaya Inc. Multi-service request within a contact center
US8341708B1 (en) 2006-08-29 2012-12-25 Crimson Corporation Systems and methods for authenticating credentials for management of a client
US8391463B1 (en) 2006-09-01 2013-03-05 Avaya Inc. Method and apparatus for identifying related contacts
US8938063B1 (en) 2006-09-07 2015-01-20 Avaya Inc. Contact center service monitoring and correcting
US8811597B1 (en) 2006-09-07 2014-08-19 Avaya Inc. Contact center performance prediction
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US20080091814A1 (en) * 2006-10-16 2008-04-17 Tao Xie Network Connection Fast Recovery
US9125144B1 (en) 2006-10-20 2015-09-01 Avaya Inc. Proximity-based feature activation based on programmable profile
US8050665B1 (en) 2006-10-20 2011-11-01 Avaya Inc. Alert reminder trigger by motion-detector
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8295306B2 (en) 2007-08-28 2012-10-23 Cisco Technologies, Inc. Layer-4 transparent secure transport protocol for end-to-end application protection
US8504534B1 (en) 2007-09-26 2013-08-06 Avaya Inc. Database structures and administration techniques for generalized localization of database items
US8856182B2 (en) 2008-01-25 2014-10-07 Avaya Inc. Report database dependency tracing through business intelligence metadata
US8621641B2 (en) * 2008-02-29 2013-12-31 Vicki L. James Systems and methods for authorization of information access
US20090288104A1 (en) * 2008-05-19 2009-11-19 Rohati Systems, Inc. Extensibility framework of a network element
US8667556B2 (en) * 2008-05-19 2014-03-04 Cisco Technology, Inc. Method and apparatus for building and managing policies
US8094560B2 (en) * 2008-05-19 2012-01-10 Cisco Technology, Inc. Multi-stage multi-core processing of network packets
US8677453B2 (en) * 2008-05-19 2014-03-18 Cisco Technology, Inc. Highly parallel evaluation of XACML policies
US20100070471A1 (en) * 2008-09-17 2010-03-18 Rohati Systems, Inc. Transactional application events
US9077542B2 (en) * 2008-09-23 2015-07-07 GM Global Technology Operations LLC System and method for confirming that a user of an electronic device is an authorized user of a vehicle
US8555351B2 (en) * 2008-09-29 2013-10-08 International Business Machines Corporation Trusted database authentication through an untrusted intermediary
US20100179984A1 (en) 2009-01-13 2010-07-15 Viasat, Inc. Return-link optimization for file-sharing traffic
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8855601B2 (en) 2009-02-17 2014-10-07 Lookout, Inc. System and method for remotely-initiated audio communication
WO2010104927A2 (en) 2009-03-10 2010-09-16 Viasat, Inc. Internet protocol broadcasting
US8565386B2 (en) 2009-09-29 2013-10-22 Avaya Inc. Automatic configuration of soft phones that are usable in conjunction with special-purpose endpoints
US9516069B2 (en) 2009-11-17 2016-12-06 Avaya Inc. Packet headers as a trigger for automatic activation of special-purpose softphone applications
US8966112B1 (en) 2009-11-30 2015-02-24 Dell Software Inc. Network protocol proxy
US8516253B1 (en) * 2010-01-18 2013-08-20 Viasat, Inc. Self-keyed protection of anticipatory content
WO2011096307A1 (en) 2010-02-03 2011-08-11 日本電気株式会社 Proxy device and operation method thereof
US9043385B1 (en) 2010-04-18 2015-05-26 Viasat, Inc. Static tracker
US8412836B2 (en) 2010-07-07 2013-04-02 Microsoft Corporation User authentication across multiple network stacks
US20120185386A1 (en) * 2011-01-18 2012-07-19 Bank Of America Authentication tool
US9544396B2 (en) 2011-02-23 2017-01-10 Lookout, Inc. Remote application installation and control for a mobile device
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
US11983233B2 (en) 2011-04-11 2024-05-14 Viasat, Inc. Browser based feedback for optimized web browsing
US9037638B1 (en) 2011-04-11 2015-05-19 Viasat, Inc. Assisted browsing using hinting functionality
US9106607B1 (en) 2011-04-11 2015-08-11 Viasat, Inc. Browser based feedback for optimized web browsing
US9456050B1 (en) 2011-04-11 2016-09-27 Viasat, Inc. Browser optimization through user history analysis
US8806192B2 (en) 2011-05-04 2014-08-12 Microsoft Corporation Protected authorization for untrusted clients
PT3633918T (en) 2011-06-14 2022-03-18 Viasat Inc Transport protocol for anticipatory content
US9407355B1 (en) 2011-10-25 2016-08-02 Viasat Inc. Opportunistic content delivery using delta coding
CN103368901A (en) * 2012-03-27 2013-10-23 复旦大学 Cloud computing system based on large-scale discrete data
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US9672519B2 (en) 2012-06-08 2017-06-06 Fmr Llc Mobile device software radio for securely passing financial information between a customer and a financial services firm
US8432808B1 (en) 2012-06-15 2013-04-30 Viasat Inc. Opportunistically delayed delivery in a satellite network
US9984250B2 (en) * 2012-06-22 2018-05-29 Microsoft Technology Licensing, Llc Rollback protection for login security policy
US9106652B2 (en) * 2012-12-18 2015-08-11 International Business Machines Corporation Web conference overstay protection
US10084603B2 (en) * 2013-06-12 2018-09-25 Lookout, Inc. Method and system for rendering a stolen mobile communications device inoperative
US9519934B2 (en) 2013-07-19 2016-12-13 Bank Of America Corporation Restricted access to online banking
US9646342B2 (en) 2013-07-19 2017-05-09 Bank Of America Corporation Remote control for online banking
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
CA2982463C (en) 2015-05-01 2019-03-05 Lookout, Inc. Determining source of side-loaded software
CN108701130B (en) 2015-10-20 2023-06-20 维尔塞特公司 Updating hint models using auto-browse clusters
US10097544B2 (en) * 2016-06-01 2018-10-09 International Business Machines Corporation Protection and verification of user authentication credentials against server compromise
US11546310B2 (en) 2018-01-26 2023-01-03 Sensus Spectrum, Llc Apparatus, methods and articles of manufacture for messaging using message level security
US10708261B2 (en) * 2018-05-07 2020-07-07 Vmware, Inc. Secure gateway onboarding via mobile devices for internet of things device management
US20230254342A1 (en) * 2022-02-09 2023-08-10 Nbcuniversal Media, Llc Cryptographic binding of data to network transport

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0575765A1 (en) * 1992-06-23 1993-12-29 Hughes Aircraft Company Secure file erasure
US6058480A (en) * 1996-06-03 2000-05-02 Cranberry Properties, Llc System for remote pass-phase authentication
WO2000072506A1 (en) * 1999-05-21 2000-11-30 International Business Machines Corporation Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2168831B (en) 1984-11-13 1988-04-27 Dowty Information Services Lim Password-protected data link
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5359721A (en) * 1991-12-18 1994-10-25 Sun Microsystems, Inc. Non-supervisor mode cross address space dynamic linking
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5550976A (en) * 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5794207A (en) * 1996-09-04 1998-08-11 Walker Asset Management Limited Partnership Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers
US5544246A (en) * 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5455953A (en) * 1993-11-03 1995-10-03 Wang Laboratories, Inc. Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket
US5564016A (en) * 1993-12-17 1996-10-08 International Business Machines Corporation Method for controlling access to a computer resource based on a timing policy
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
US5524238A (en) * 1994-03-23 1996-06-04 Breakout I/O Corporation User specific intelligent interface which intercepts and either replaces or passes commands to a data identity and the field accessed
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
CA2143874C (en) * 1994-04-25 2000-06-20 Thomas Edward Cooper Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub
US5757907A (en) 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US5550981A (en) * 1994-06-21 1996-08-27 At&T Global Information Solutions Company Dynamic binding of network identities to locally-meaningful identities in computer networks
US5557732A (en) * 1994-08-11 1996-09-17 International Business Machines Corporation Method and apparatus for protecting software executing on a demonstration computer
US5604490A (en) * 1994-09-09 1997-02-18 International Business Machines Corporation Method and system for providing a user access to multiple secured subsystems
US5668999A (en) * 1994-12-20 1997-09-16 Sun Microsystems, Inc. System and method for pre-verification of stack usage in bytecode program loops
US5604801A (en) * 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
US5666501A (en) 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US5689708A (en) * 1995-03-31 1997-11-18 Showcase Corporation Client/server computer systems having control of client-based application programs, and application-program control means therefor
US5592549A (en) * 1995-06-15 1997-01-07 Infosafe Systems, Inc. Method and apparatus for retrieving selected information from a secure information source
US5774551A (en) * 1995-08-07 1998-06-30 Sun Microsystems, Inc. Pluggable account management interface with unified login and logout and multiple user authentication services
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5729734A (en) * 1995-11-03 1998-03-17 Apple Computer, Inc. File privilege administration apparatus and methods
KR100307016B1 (en) 1995-11-14 2001-11-02 포만 제프리 엘 Information handling system for allowing a generic web browser to access servers of a plurality of different protocol types
US5742757A (en) * 1996-05-30 1998-04-21 Mitsubishi Semiconductor America, Inc. Automatic software license manager
EP0851628A1 (en) 1996-12-23 1998-07-01 ICO Services Ltd. Key distribution for mobile network
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
GB2318486B (en) * 1996-10-16 2001-03-28 Ibm Data communications system
US5974151A (en) * 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
US6192473B1 (en) * 1996-12-24 2001-02-20 Pitney Bowes Inc. System and method for mutual authentication and secure communications between a postage security device and a meter server
US6185685B1 (en) 1997-12-11 2001-02-06 International Business Machines Corporation Security method and system for persistent storage and communications on computer network systems and computer network systems employing the same
WO1999035783A1 (en) * 1998-01-09 1999-07-15 Cybersafe Corporation Client side public key authentication method and apparatus with short-lived certificates
US6199113B1 (en) * 1998-04-15 2001-03-06 Sun Microsystems, Inc. Apparatus and method for providing trusted network security
AU4089199A (en) 1998-05-21 1999-12-06 Equifax, Inc. System and method for authentication of network users with preprocessing
US6289450B1 (en) 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0575765A1 (en) * 1992-06-23 1993-12-29 Hughes Aircraft Company Secure file erasure
US6058480A (en) * 1996-06-03 2000-05-02 Cranberry Properties, Llc System for remote pass-phase authentication
WO2000072506A1 (en) * 1999-05-21 2000-11-30 International Business Machines Corporation Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006116147A2 (en) * 2005-04-22 2006-11-02 Citrix Systems, Inc. System and method for key recovery
WO2006116147A3 (en) * 2005-04-22 2006-12-28 Citrix Systems Inc System and method for key recovery
GB2440854A (en) * 2005-04-22 2008-02-13 Citrix Systems Inc System and method for key recovery
GB2440854B (en) * 2005-04-22 2010-03-31 Citrix Systems Inc System and method for key recovery
WO2007089179A1 (en) * 2006-02-03 2007-08-09 Mideye Ab A system, an arrangement and a method for end user authentication
US9276909B2 (en) 2008-08-27 2016-03-01 Qualcomm Incorporated Integrity protection and/or ciphering for UE registration with a wireless network
US9628448B2 (en) 2013-05-03 2017-04-18 Citrix Systems, Inc. User and device authentication in enterprise systems

Also Published As

Publication number Publication date
AU2002315013B2 (en) 2007-05-10
AU2002315013B8 (en) 2002-12-23
JP2004535004A (en) 2004-11-18
ATE353181T1 (en) 2007-02-15
IL159295A (en) 2008-08-07
DE60217962T2 (en) 2007-10-25
KR20040017230A (en) 2004-02-26
CA2450154A1 (en) 2002-12-19
EP1400089B1 (en) 2007-01-31
IL159295A0 (en) 2004-06-01
US20020194473A1 (en) 2002-12-19
DE60217962D1 (en) 2007-03-22
ES2279871T3 (en) 2007-09-01
AU2002315013B9 (en) 2002-12-23
HK1065193A1 (en) 2005-02-08
EP1400089A1 (en) 2004-03-24
US7100200B2 (en) 2006-08-29
KR100898843B1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
AU2002315013B8 (en) Authentication of a user across communication sessions
AU2002315013A1 (en) Authentication of a user across communication sessions
US8874791B2 (en) Automatically reconnecting a client across reliable and persistent communication sessions
EP1359491B1 (en) Methods for remotely changing a communications password
KR19990072733A (en) Method and Apparatus for Conducting Crypto-Ignition Processes between Thin Client Devices and Server Devices over Data Network
WO2000033506A9 (en) Public key cryptosystem with roaming user capability
AU1261595A (en) Method for providing mutual authentication of a user and a server on a network
JPH11275069A (en) Method and system for safe light-load transaction in radio data network
JP2005509305A (en) Method and apparatus for storing a cryptographic key that authenticates a key server by obtaining and securely distributing the stored key
WO2002054652A2 (en) System and method for processing digital documents utilizing secure communications over a network
JP2003503901A (en) User information security apparatus and method in mobile communication system in Internet environment
EP1243097A1 (en) Method and apparatus for a revolving encrypting and decrypting process
KR100789354B1 (en) Method and apparatus for mataining data security on network camera, home gateway and home automation
WO2001054342A1 (en) Method and apparatus for secure storage of personal data in web-based applications using symmetric encryption and distributed key components
WO2001011817A2 (en) Network user authentication protocol
US7890751B1 (en) Method and system for increasing data access in a secure socket layer network environment
Ekström Securing a wireless local area network: using standard security techniques

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM 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 TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2450154

Country of ref document: CA

Ref document number: 1597/KOLNP/2003

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2002315013

Country of ref document: AU

Ref document number: 159295

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: 1020037016216

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003504633

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2002741946

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002741946

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2002741946

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2002315013

Country of ref document: AU