Mechanisms to use network session identifiers for software-as-a-service authentication
First Claim
1. A method comprising:
- at a network access device of a network, receiving a request from a client device to establish a network session to access a server;
sending identity information of the client device to a session directory database that is configured to store identity information of a plurality of client devices associated with the network access device;
receiving a request from the client device to access an identity provider device that provides identity assertion services to the client device, wherein the identity assertion services include identity and context information associated with a subject of the client device;
obtaining from the session directory database a unique network session identifier that identifies a network session and the subject of the client device that has authenticated with the network access device to access the network session;
inserting the network session identifier into the request from the client device to access the identity provider device such that the network session identifier is available only to the identity provider device and the network session identifier is not revealed to the subject of the client device; and
forwarding the request with the inserted network session identifier to the identity provider device, wherein the identity provider device generates an encrypted security assertion of an identity of a user associated with the network session, where the encrypted security assertion is signed using a certificate shared by the identity provider device and the server, and the identity provider device forwards the encrypted security assertion to the client device for insertion into a request from the client device to access the server.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for authenticating a subject of a client device to access a software-as-a-service (SaaS) server. A network access device receives a request from a client device to establish a network session and transfers identity information of the subject, the client device and the network session to a session directory database. A request is sent to access an application on a SaaS server. If it does not contain an identity assertion that identifies the subject, the request is redirected to an identity provider device (IdP), to provide identity assertion services to the subject. A network session identifier is inserted into the request by a network access device and the request is forwarded to the IdP. The IdP uses the network session identifier to query the session directory database for the identity information to be used for a security assertion of the subject to the SaaS server.
47 Citations
19 Claims
-
1. A method comprising:
-
at a network access device of a network, receiving a request from a client device to establish a network session to access a server; sending identity information of the client device to a session directory database that is configured to store identity information of a plurality of client devices associated with the network access device; receiving a request from the client device to access an identity provider device that provides identity assertion services to the client device, wherein the identity assertion services include identity and context information associated with a subject of the client device; obtaining from the session directory database a unique network session identifier that identifies a network session and the subject of the client device that has authenticated with the network access device to access the network session; inserting the network session identifier into the request from the client device to access the identity provider device such that the network session identifier is available only to the identity provider device and the network session identifier is not revealed to the subject of the client device; and forwarding the request with the inserted network session identifier to the identity provider device, wherein the identity provider device generates an encrypted security assertion of an identity of a user associated with the network session, where the encrypted security assertion is signed using a certificate shared by the identity provider device and the server, and the identity provider device forwards the encrypted security assertion to the client device for insertion into a request from the client device to access the server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
at an identity provider device in a network that provides identity assertion services, receiving a request, from a network access device originating from a client device seeking to access a server, to access the identity provider device, wherein the identity assertion services include identity and context information associated with a subject of the client device; extracting a network session identifier from the request, wherein the network session identifier is unique to the network access device and uniquely identifies a network session for the subject of the client device that has authenticated with the network access device; querying a session directory database to obtain information associated with the network session identifier; receiving from the session directory database the information associated with the network session identifier that uniquely identifies the subject; generating an encrypted security assertion of an identity of a user associated with the network session, using the information associated with the network session identifier, wherein the encrypted security assertion is signed using a certificate shared by the identity provider device and the server; and sending the encrypted security assertion to the client device. - View Dependent Claims (9, 10, 11)
-
-
12. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:
-
receive a request from a client device in a network to establish a network session to request access to a server; send identity information of the client device to a session directory database that is configured to store identity information of a plurality of client devices associated with the network access device; receive a request from the client device to access an identity provider device that provides identity assertion services to the client device, wherein the identity assertion services include identity and context information associated with a subject of the client device; obtain from the session directory database a unique network session identifier that identifies a network session and the subject of the client device that has authenticated with the network access device to access the network session; insert the network session identifier into the request from the client device to access the identity provider device such that the network session identifier is available only to the identity provider device and the network session identifier is not revealed to the subject of the client device; and forward the request with the inserted network session identifier to the identity provider device, wherein the identity provider device generates an encrypted security assertion of an identity of a user associated with the network session, where the encrypted security assertion is signed using a certificate shared by the identity provider device and the server, and the identity provider device forwards the encrypted security assertion to the client device for insertion into a request from the client device to access the server. - View Dependent Claims (13)
-
-
14. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:
-
receive an access request, from a network access device and originating from a client device seeking to access a server, to access an identity provider device, wherein the identity provider device provides identity assertion services which include identity and context information associated with a subject of the client device; extract a network session identifier from the request, wherein the network session identifier is unique to the network access device and uniquely identifies a network session for the subject of the client device that has authenticated with the network access device; query a session directory database to obtain information associated with the network session identifier; receive from the session directory database the information associated with the network session identifier from the session directory; generate an encrypted security assertion of an identity of a user associated with the network session, using the information associated with the network session identifier, wherein the encrypted security assertion is signed using a certificate shared by the identity provider device and the server; and send the encrypted security assertion to the client device. - View Dependent Claims (15)
-
-
16. An apparatus comprising:
-
a network interface unit configured to enable communications over a network; a switch unit coupled to the network interface unit; a memory; and a processor coupled to the switch unit and the memory and configured to; receive a request from a client device to establish a network session to access a server; send identity information of the client device to a session directory database that is configured to store identity information of a plurality of client devices; receive a request from the client device to access an identity provider device that provides identity assertion services to the client device, wherein the identity assertion services include identity and context information associated with a subject of the client device; obtain from the session directory database a unique network session identifier that identifies a network session and identifies the subject of the client device that has authenticated with the network access device to access the network session; insert the network session identifier into the request from the client device to access the identity provider device such that the network session identifier is available only to the identity provider device and the network session identifier is not revealed to the subject of the client device; and forward the request with the inserted network session identifier to the identity provider device to cause the identity provider device to generate an encrypted security assertion of an identity of a user associated with the network session, where the encrypted security assertion is signed using a certificate shared by the identity provider device and the server, and the identity provider device forwards the encrypted security assertion to the client device for insertion into a request from the client device to access the server. - View Dependent Claims (17)
-
-
18. An apparatus comprising:
-
a network interface unit configured to enable communications over a network; a memory; and a processor coupled to the network interface unit and the memory and configured to; receive a request from a network access device, originating from a client device seeking to access a server; extract a network session identifier from the request, wherein the network session identifier is unique to the network access device and uniquely identifies a network session for the subject of the client device that has authenticated with the network access device; query a session directory database to obtain information associated with the network session identifier; receive from the session directory database the information associated with the network session identifier from the session directory; generate an encrypted security assertion of an identity of a user associated with the network session, using the information associated with the network session identifier wherein the encrypted security assertion is signed using a certificate shared by the identity provider device and the server; and send the encrypted security assertion to the client device. - View Dependent Claims (19)
-
Specification