IP Library Granted Patent US 8,005,965
Granted Patent B2
US 8,005,965 · App. 09/896,195 · Granted Aug 23, 2011

Method and system for secure server-based session management using single-use HTTP cookies

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,005,965
App. No.
09/896,195
Granted
Aug 23, 2011
Kind
B2
Abstract

A methodology for providing secure session management is presented. After a single-use token has been issued to a client, it presents the token, and the server may identify the client based upon the presented token. However, the token may be used only once without being refreshed prior to re-use, thereby causing the token to be essentially reissued upon each use. The token comprises a session identifier that allows the issuer of the token to perform session management with respect to the receiving entity. Tokens can be classified into two types: domain tokens and service tokens. Domain tokens represent a client identity to a secure domain, and service tokens represent a client identity to a specific service. A domain token may be used with any service within a domain that recognizes the domain token, but a service token is specific to the service from which it was obtained.

Claims (92)

1. A method for controlling access to protected resources within a distributed data processing system, the method comprising:

receiving at a first server from a client a request to access a protected resource and a single-use token associated with the client or a user of the client;

validating the single-use token, wherein the single-use token comprises session information for performing session management with respect to the client;

determining that the single-use token is a domain token;

generating a client authorization credential request;

sending to a second server the client authorization credential request, the single-use domain token associated with the client or the use of the client, and a single-use domain token associated with the first server, wherein the first server and the second server are operated within a common domain;

generating a response to the request;

refreshing the single-use token;

validating at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server;

generating the client authorization credential; refreshing at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server; and

sending to the first server the client authorization credential, the refreshed single-use domain token associated with the client or the user of the client, and the refreshed single-use domain token associated with the first server; and

sending the response and the refreshed single-use token to the client.

2. The method of claim 1 further comprising:

receiving the single-use service token, wherein the single-use service token is issued by the first server; and

refreshing the single-use service token at the first server.

3. The method of claim 1 wherein the session information in the single-use token is a session key.

4. The method of claim 1 further comprising:

storing the client authorization credential at the first server;

generating a single-use service token associated with the client or the user of the client; and

sending to the client the single-use service token along with the response and the single-use domain token.

5. The method of claim 1 further comprising:

receiving a login request from the client at the second server;

challenging the client to provide authentication data; receiving authentication data from the client;

authenticating the client;

generating a single-use domain token associated with the client or the user of the client;

generating an authentication response; and

sending the authentication response and the single-use domain token to the client.

6. The method of claim 5 further comprising:

determining that the login request is a redirected request from the first server; and

modifying the authentication response to redirect the client to the first server.

7. An apparatus for controlling access to protected resources within a distributed data processing system, the apparatus comprising:

processing logic receiving at a first server from a client a request to access a protected resource and a single-use token associated with the client or a user of the client;

processing logic validating the single-use token, wherein the single-use token comprises session information for performing session management with respect to the client;

processing logic determining that the single-use token is a domain token;

processing logic generating a client authorization credential request;

processing logic sending to a second server the client authorization credential request, the single-use domain token associated with the client or the user of the client, and a single-use domain token associated with the first server, wherein the first server and the second server are operated within a common domain;

processing logic generating a response to the request;

processing logic refreshing the single-use token;

validating at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server;

generating the client authorization credential;

means for refreshing at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server; and

sending to the first server the client authorization credential, the refreshed single-use domain token associated with the client or the user of the client, and the refreshed single-use domain token associated with the first server; and

processing logic sending the response and the refreshed single-use token to the client.

8. The apparatus of claim 7 further comprising:

processing logic receiving a single-use service token, wherein the single-use service token is issued by the first server; and

processing logic refreshing the single-use service token at the first server.

9. The apparatus of claim 7 wherein the session information in the single-use token is a session key.

10. The apparatus of claim 7 further comprising:

processing logic storing the client authorization credential at the first server;

processing logic generating a single-use service token associated with the client or the user of the client; and

processing logic sending to the client the single-use service token along with the response and the single-use domain token.

11. The apparatus of claim 7 further comprising:

processing logic receiving a login request from the client at the second server;

processing logic challenging the client to provide authentication data; means for receiving authentication data from the client;

processing logic authenticating the client;

processing logic generating a single-use domain token associated with the client or the user of the client;

processing logic generating an authentication response; and

processing logic sending the authentication response and the single-use domain token to the client.

12. The apparatus of claim 11 further comprising:

processing logic determining that the login request is a redirected request from the first server; and

processing logic modifying the authentication response to redirect the client to the first server.

13. A computer program product on a non-transitory computer readable medium for controlling access to protected resources within a distributed data processing system, the computer program product comprising executable instructions configured for:

receiving at a first server from a client a request to access a protected resource and a single-use token associated with the client or a user of the client;

validating the single-use token, wherein the single-use token comprises session information for performing session management with respect to the client;

determining that the single-use token is a domain token;

sending to a second server the client authorization credential request, the single-use domain token associated with the client or the user of the client, and a single-use domain token associated with the first server, wherein the first server and the second server are operated within a common domain;

generating a response to the request;

refreshing the single-use token;

validating at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server;

generating the client authorization credential;

refreshing at the second server the single-use domain token associated with the client or the user of the client and the single-use domain token associated with the first server; and

sending to the first server the client authorization credential, the refreshed single-use domain token associated with the client or the user of the client, and the refreshed single-use domain token associated with the first server; and

sending the response and the refreshed single-use token to the client.

14. The computer program product of claim 13 , said instructions further configured for:

receiving a single-use service token is a service token, wherein the single-use service token is issued by the first server; and

refreshing the single-use service token at the first server.

15. The computer program product of claim 13 wherein the session information in the single-use token is a session key.

16. The computer program product of claim 13 , said instructions further configured for:

storing the client authorization credential at the first server;

generating a single-use service token associated with the client or the user of the client; and

sending to the client the single-use service token along with the response and the single-use domain token.

17. The computer program product of claim 13 , said instructions further configured for:

receiving a login request from the client at the second server;

challenging the client to provide authentication data;

receiving authentication data from the client;

authenticating the client;

generating a single-use domain token associated with the client or the user of the client;

generating an authentication response; and

sending the authentication response and the single-use domain token to the client.

18. The computer program product of claim 17 , said instructions further configured for:

determining that the login request is a redirected request from the first server; and

modifying the authentication response to redirect the client to the first server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: DAEDALUS GROUP, LLC
To: DAEDALUS BLUE LLC
Reel/Frame 051737/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DAEDALUS GROUP LLC
Reel/Frame 051018/0649 →