IP Library Granted Patent US 12,368,713
Granted Patent B2
US 12,368,713 · App. 17/473,549 · Granted Jul 22, 2025

Mitigating multiple authentications for a geo-distributed security service using an authentication cache

Inventors: Suraj Kumar Jaiswal (Santa Clara, CA); Krishna Murthy Pokuri (Sunnyvale, CA); Manish Pathak (Milpitas, CA); Aditya Srinivasa Ivaturi (Santa Clara, CA)
Assignee: Palo Alto Networks, Inc.
H04L63/0892H04L9/3213H04L63/0807
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 12,368,713
App. No.
17/473,549
Granted
Jul 22, 2025
Kind
B2
Abstract

Mitigating multiple authentications for a geo-distributed security service is disclosed. A request to access a web service from a client device is received. The request is redirected to a geo-distributed authentication service including a distributed cache for storing a user's authentication authorization. An authorization token included in a distributed authentication cache cookie and uniform resource locator (URL) for the web service to facilitate secure access to the web service from the client device are returned.

Claims (71)

1. A system, comprising:

a processor configured to:

receive a request to access a web service from a client device, comprising to:

send the request to a security processing node (SPN) of a plurality of SPNs for authenticating a user;

redirect, using the SPN, the request to a geo-distributed authentication service including a distributed cache for storing a user's authentication authorization, wherein the distributed cache includes using a geo-replicated database, wherein the geo-replicated database includes a plurality of databases, wherein the plurality of databases includes a first database and a second database, wherein the first database and the second database both cache and distribute authenticated identity state information, wherein the first database is located at a first location across a globe, wherein the second database is located at a second location across the globe, and wherein the redirecting of the request to the geo-distributed authentication service comprises to:

determine, via the distributed cache, whether the geo-distributed authentication service includes a distributed authentication cache cookie, wherein the distributed authentication cache cookie includes an expiration timestamp, wherein the determining comprises to:

determine that a current time is later than a validity time of the expiration timestamp; and

in the event that the current time is later than the validity time of the expiration timestamp, determine that the geo-distributed authentication service does not include the distributed authentication cache cookie; and

in the event that the geo-distributed authentication service does not include the distributed authentication cache cookie:

establish identity with an independent identity provider, wherein the identity is not established in the event that the distributed authentication cache cookie is included;

store authenticated state information for the user in the distributed cache; and

share the authenticated state information using an authorization token, wherein the authorization token includes three or more of the following: the original URL, a current timestamp, a time value of validity, firewall instance id, tenant-id, and/or firewall session-id; and

return the authorization token included in the distributed authentication cache cookie and uniform resource locator (URL) for the web service to facilitate secure access to the web service from the client device, comprising to:

receive a signed and encrypted token via a browser redirect;

upon receiving the signed and encrypted token:

decrypt and validate the signed and encrypted token;

send another redirect to the original URL;

set a site cookie for a domain with user information; and

validate the site cookie; and

in the event that the site cookie is valid, allow the user to access the web service via the original URL; and

a memory coupled to the processor and configured to provide the processor with instructions.

2. The system of claim 1 , wherein the processor is further configured to:

receive another request to access another web service from the client device;

check for the distributed authentication cache cookie associated with a user's authentication state; and

in response to a determination that the distributed authentication cache cookie associated with the user's authentication state exists and is valid, allow the other request to go to a URL for the other web service.

3. A method, comprising:

receiving a request to access a web service from a client device, comprising:

sending the request to a security processing node (SPN) of a plurality of SPNs for authenticating a user;

redirecting, using the SPN, the request to a geo-distributed authentication service including a distributed cache for storing a user's authentication authorization, wherein the distributed cache includes using a geo-replicated database, wherein the geo-replicated database includes a plurality of databases, wherein the plurality of databases includes a first database and a second database, wherein the first database and the second database both cache and distribute authenticated identity state information, wherein the first database is located at a first location across a globe, wherein the second database is located at a second location across the globe, and wherein the redirecting of the request to the geo-distributed authentication service comprises:

determining, via the distributed cache, whether the geo-distributed authentication service includes a distributed authentication cache cookie, wherein the distributed authentication cache cookie includes an expiration timestamp, wherein the determining comprises:

determining that a current time is later than a validity time of the expiration timestamp; and

in the event that the current time is later than the validity time of the expiration timestamp, determining that the geo-distributed authentication service does not include the distributed authentication cache cookie; and

in the event that the geo-distributed authentication service does not include the distributed authentication cache cookie:

establishing identity with an independent identity provider, wherein the identity is not established in the event that the distributed authentication cache cookie is included;

storing authenticated state information for the user in the distributed cache; and

sharing the authenticated state information using an authorization token, wherein the authorization token includes three or more of the following: the original URL, a current timestamp, a time value of validity, firewall instance id, tenant-id, and/or firewall session-id; and

returning the authorization token included in the distributed authentication cache cookie and uniform resource locator (URL) for the web service to facilitate secure access to the web service from the client device, comprising:

receiving a signed and encrypted token via a browser redirect;

upon receiving the signed and encrypted token:

decrypting and validating the signed and encrypted token;

sending another redirect to the original URL; and

setting a site cookie for a domain with user information;

validating the site cookie; and

in the event that the site cookie is valid, allowing the user to access the web service via the original URL.

4. The method of claim 3 , further comprising:

receiving another request to access another web service from the client device;

checking for the distributed authentication cache cookie associated with a user's authentication state; and

in response to a determination that the distributed authentication cache cookie associated with the user's authentication state exists and is valid, allowing the other request to go to a URL for the other web service.

5. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a request to access a web service from a client device, comprising:

sending the request to a security processing node (SPN) of a plurality of SPNs for authenticating a user;

redirecting, using the SPN, the request to a geo-distributed authentication service including a distributed cache for storing a user's authentication authorization, wherein the distributed cache includes using a geo-replicated database, wherein the geo-replicated database includes a plurality of databases, wherein the plurality of databases includes a first database and a second database, wherein the first database and the second database both cache and distribute authenticated identity state information, wherein the first database is located at a first location across a globe, wherein the second database is located at a second location across the globe, and wherein the redirecting of the request to the geo-distributed authentication service comprises:

determining, via the distributed cache, whether the geo-distributed authentication service includes a distributed authentication cache cookie, wherein the distributed authentication cache cookie includes an expiration timestamp, wherein the determining comprises:

determining that a current time is later than a validity time of the expiration timestamp; and

in the event that the current time is later than the validity time of the expiration timestamp, determining that the geo-distributed authentication service does not include the distributed authentication cache cookie; and

in the event that the geo-distributed authentication service does not include the distributed authentication cache cookie:

establishing identity with an independent identity provider, wherein the identity is not established in the event that the distributed authentication cache cookie is included;

storing authenticated state information for the user in the distributed cache; and

sharing the authenticated state information using an authorization token, wherein the authorization token includes three or more of the following: the original URL, a current timestamp, a time value of validity, firewall instance id, tenant-id, and/or firewall session-id; and

returning the authorization token included in the distributed authentication cache cookie and uniform resource locator (URL) for the web service to facilitate secure access to the web service from the client device, comprising:

receiving a signed and encrypted token via a browser redirect;

upon receiving the signed and encrypted token:

decrypting and validating the signed and encrypted token;

sending another redirect to the original URL; and

setting a site cookie for a domain with user information;

validating the site cookie; and

in the event that the site cookie is valid, allowing the user to access the web service via the original URL.

6. The computer program product of claim 5 , further comprising computer instructions for:

receiving another request to access another web service from the client device;

checking for the distributed authentication cache cookie associated with a user's authentication state; and

in response to a determination that the distributed authentication cache cookie associated with the user's authentication state exists and is valid, allowing the other request to go to a URL for the other web service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
From: JAISWAL, SURAJ KUMAR; POKURI, KRISHNA MURTHY; PATHAK, MANISH; IVATURI, ADITYA SRINIVASA
To: PALO ALTO NETWORKS, INC.
Reel/Frame 059411/0580 →
Continuity (2)
Provisional Application 63176024 · Apr 16, 2021
Related Publication 20220337590A1 · Oct 20, 2022
References Cited (19)
US 20050138362A1 · Kelly · 2005 [cited by examiner]
US 20060123472A1 · Schmidt · 2006 [cited by examiner]
US 20090300740A1 · Verma · 2009 [cited by examiner]
US 20120054846A1 · Lightsey · 2012 [cited by examiner]
US 20130283362A1 · Kress · 2013 [cited by examiner]
US 20140040993A1 · Lorenzo · 2014 [cited by examiner]
US 20150134956A1 · Stachura · 2015 [cited by examiner]
US 20170346807A1 · Blasi · 2017 [cited by examiner]
US 20190103968A1 · Srinivasan · 2019 [cited by examiner]
US 20190197060A1 · Casadio · 2019 [cited by examiner]
US 20200007531A1 · Koottayi · 2020 [cited by examiner]
US 20200106766A1 · Suraparaju · 2020 [cited by examiner]
US 20200250664A1 · Kumar · 2020 [cited by examiner]
US 20200296112A1 · Namboodiri · 2020 [cited by examiner]
US 20200351248A1 · Bonci · 2020 [cited by examiner]
US 20210288794A1 · O'Neill · 2021 [cited by examiner]
US 20210320911A1 · AlDarazi · 2021 [cited by examiner]
Juels, A.; Jakobsson, M.; Jagatic, T.N.; “Cache cookies for browser authentication,” IEEE Symposium on Security and Privacy (S&P'06), Berkeley/Oakland, CA, USA, 2006, 5 pages. [cited by examiner]
Joseph, Justin; Bhadauria, Saumya; “Cookie Based Protocol to Defend Malicious Browser Extensions,” International Carnahan Conference on Security Technology (ICCST), Chennai, India, 2019, 6 pages. [cited by examiner]