IP Library Granted Patent US 12,598,161
Granted Patent B2
US 12,598,161 · App. 17/588,054 · Granted Apr 7, 2026

Extending a trust boundary between cloud domains of the same entity

Inventors: Chaitanya Pemmaraju (Fremont, CA); Joshua Meier (El Dorado Hills, CA); Selim Ciraci (San Francisco, CA)
Assignee: Salesforce, Inc.
H04L63/029H04L63/0245H04L63/0272H04L63/0807H04L63/0823H04L63/166H04L63/168H04L63/20H04L63/0263
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,598,161
App. No.
17/588,054
Granted
Apr 7, 2026
Kind
B2
Abstract

A network protocol and architecture for extending trust between cloud domains of a same entity comprises adding, by egress logic executing on a first server, authentication information to a packet leaving a first cloud domain of the entity to indicate a source of the packet. The egress logic allows the packet to traverse to a target cloud domain of the entity. Ingress logic executing on a second server at the target cloud domain intercepts the packet and performs validation of the authentication information. Responsive to the authentication information passing validation, the ingress logic determines that the first cloud domain is trusted and allows the packet to proceed to a destination. Responsive to the authentication information failing validation, the ingress logic rejects the packet.

Claims (50)

1 . A computer-implemented method comprising:

intercepting, by one or more computing devices at a target cloud domain of an entity, a packet from a source cloud domain received from a public network, wherein the packet includes an implicit certificate having authentication information indicating the cloud domain source of the packet, the authentication information having been added to the packet by egress logic associated with the source cloud domain;

determining, by the one or more computing devices at the target cloud domain, whether the source cloud domain resides within the entity;

in response to determining that the source cloud domain resides within the entity, automatically trusting the packet and forwarding the packet to a destination; and

in response to determining that the source cloud domain resides outside the entity:

extracting, by the one or more computing devices at the target cloud domain, the authentication information from the intercepted packet;

validating, by the one or more computing devices at the target cloud domain, the intercepted packet based on the authentication information; and

allowing or rejecting, by the one or more computing devices at the target cloud domain, the packet to proceed to a destination responsive to a determination whether the source cloud domain is trusted.

2 . The method of claim 1 , further comprising implementing an identity-based policy by associating an identifier of the entity or the source cloud domain with the authentication information to identify the source of the packet.

3 . The method of claim 2 , further comprising enforcing the identity-based policy on a transfer of data packets from server to server within a cloud platform.

4 . The method of claim 1 , further comprising implementing the authentication information as an explicit token.

5 . The method of claim 4 , further comprising implementing the authentication information as a Transport Layer Security (TLS) session tunnel for the packet.

6 . The method of claim 5 , further comprising using, by the one or more computing devices, an Open Systems Interconnection (OSI) layer 7 tunnel to set up the TLS session tunnel and placing the authentication information in a Server Name Indication (SNI) header of the packet.

7 . The method of claim 6 , further comprising:

parsing, by the one or more computing devices, the SNI header to determine if the SNI header contains an identifier of a trusted entity, cloud domain or server; and

responsive to the SNI header containing the identifier, decapsulating the SNI header from the packet, by the one or more computing devices, and forwarding an inner packet to a destination service.

8 . The method of claim 4 , further comprising: implementing the authentication information by encapsulating the packet with a User Datagram Protocol (UDP) header and a JSON Web Token (JWT).

9 . The method of claim 8 , further comprising inserting, by the one or more computing devices, the JWT into a UDP tunnel packet at a layer 3 network level.

10 . The method of claim 9 , further comprising validating the JWT, by the one or more computing devices, to determine if the sender is trusted; and

responsive to the JWT being validated, stripping the UDP header and forwarding the packet to a destination service.

11 . A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, are configurable to cause said processor to perform operations comprising:

intercepting, by one or more computing devices at a target cloud domain of an entity, a packet from a source cloud domain received from a public network, wherein the packet includes an implicit certificate having authentication information indicating the source cloud domain of the packet, the authentication information having been added to the packet by egress logic associated with the source cloud domain;

determining, by the one or more computing devices at the target cloud domain, whether the source cloud domain resides within the entity;

in response to determining that the source cloud domain resides within the entity, automatically trusting the packet and forwarding the packet to a destination; and

in response to determining that the source cloud domain resides outside the entity:

extracting, by the one or more computing devices at the target cloud domain, the authentication information from the intercepted packet;

validating, by the one or more computing devices at the target cloud domain, the intercepted packet based on the authentication information; and

allowing or rejecting, by the one or more computing devices at the target cloud domain, the packet to proceed to a destination responsive to a determination whether the source cloud domain is trusted.

12 . The non-transitory machine-readable storage medium of claim 11 , further comprising implementing an identity-based policy by associating an identifier of the entity or the source cloud domain with the authentication information to identify the source of the packet.

13 . The non-transitory machine-readable storage medium of claim 12 , further comprising enforcing the identity-based policy on a transfer of data packets from server to server within a cloud platform.

14 . The non-transitory machine-readable storage medium of claim 11 , further comprising implementing the authentication information as an explicit token.

15 . The non-transitory machine-readable storage medium of claim 14 , further comprising implementing the authentication information as a Transport Layer Security (TLS) session tunnel for the packet.

16 . The non-transitory machine-readable storage medium of claim 15 , further comprising using, by the one or more computing devices, an Open Systems Interconnection (OSI) layer 7 tunnel to set up the TLS session tunnel and placing the authentication information in a Server Name Indication (SNI) header of the packet.

17 . The non-transitory machine-readable storage medium of claim 16 , further comprising:

parsing, by the one or more computing devices, the SNI header to determine if the SNI header contains an identifier of a trusted entity, cloud domain or server; and

responsive to the SNI header containing the identifier, decapsulating the SNI header from the packet, by the one or more computing devices, and forwarding an inner packet to a destination service.

18 . The non-transitory machine-readable storage medium of claim 14 , further comprising: implementing the authentication information by encapsulating the packet with a User Datagram Protocol (UDP) header and a JSON Web Token (JWT).

19 . The non-transitory machine-readable storage medium of claim 18 , further comprising inserting, by the one or more computing devices, the JWT into a UDP tunnel packet at a layer 3 network level.

20 . The non-transitory machine-readable storage medium of claim 19 , further comprising validating the token, by the one or more computing devices, to determine if the sender is trusted; and

responsive to the token being validated, stripping the UDP header and forwarding the packet to a destination service.

21 . An apparatus comprising:

a processor,

a non-transitory machine-readable storage medium that provides instructions that, if executed by the processor, are configurable to cause the apparatus to perform operations comprising,

intercepting, by one or more computing devices at a target cloud domain of an entity, a packet from a source cloud domain received from a public network, wherein the packet includes an implicit certificate having authentication information indicating the source cloud domain of the packet, the authentication information having been added to the packet by egress logic associated with the source cloud domain;

determining, by the one or more computing device at the target cloud domain, whether the source cloud domain resides within the entity;

in response to determining that the source cloud domain resides within the entity, automatically trusting the packet and forwarding the packet to a destination; and

in response to determining that the source cloud domain resides outside the entity:

extracting, by the one or more computing devices at the target cloud domain, the authentication information from the intercepted packet;

validating, by the one or more computing devices at the target cloud domain, the intercepted packet based on the authentication information; and

allowing or rejecting, by the one or more computing devices at the target cloud domain, the packet to proceed to a destination responsive to a determination whether the source cloud domain is trusted.

Assignments (2)
CHANGE OF NAME Recorded Nov 20, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069406/0699 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2022
From: PAMMARAJU, CHAITANYA; MEIER, JOSHUA; CIRACI, SELIM
To: SALESFORCE.COM, INC.
Reel/Frame 058840/0558 →
Continuity (1)
Related Publication 20230247006A1 · Aug 3, 2023
References Cited (190)
US 5577188A · Zhu · 1996 [cited by applicant]
US 5608872A · Schwartz et al. · 1997 [cited by applicant]
US 5649104A · Carleton et al. · 1997 [cited by applicant]
US 5715450A · Ambrose et al. · 1998 [cited by applicant]
US 5761419A · Schwartz et al. · 1998 [cited by applicant]
US 5819038A · Carleton et al. · 1998 [cited by applicant]
US 5821937A · Tonelli et al. · 1998 [cited by applicant]
US 5831610A · Tonelli et al. · 1998 [cited by applicant]
US 5873096A · Lim et al. · 1999 [cited by applicant]
US 5918159A · Fomukong et al. · 1999 [cited by applicant]
US 5963953A · Cram et al. · 1999 [cited by applicant]
US 5983227A · Nazem et al. · 1999 [cited by applicant]
US 6092083A · Brodersen et al. · 2000 [cited by applicant]
US 6161149A · Achacoso et al. · 2000 [cited by applicant]
US 6169534B1 · Raffel et al. · 2001 [cited by applicant]
US 6178425B1 · Brodersen et al. · 2001 [cited by applicant]
US 6189011B1 · Lim et al. · 2001 [cited by applicant]
US 6216133B1 · Masthoff · 2001 [cited by applicant]
US 6216135B1 · Brodersen et al. · 2001 [cited by applicant]
US 6233617B1 · Rothwein et al. · 2001 [cited by applicant]
US 6236978B1 · Tuzhilin · 2001 [cited by applicant]
US 6266669B1 · Brodersen et al. · 2001 [cited by applicant]
US 6288717B1 · Dunkle · 2001 [cited by applicant]
US 6295530B1 · Ritchie et al. · 2001 [cited by applicant]
US 6324568B1 · Diec et al. · 2001 [cited by applicant]
US 6324693B1 · Brodersen et al. · 2001 [cited by applicant]
US 6336137B1 · Lee et al. · 2002 [cited by applicant]
US D454139S · Feldcamp · 2002 [cited by applicant]
US 6367077B1 · Brodersen et al. · 2002 [cited by applicant]
US 6393605B1 · Loomans · 2002 [cited by applicant]
US 6405220B1 · Brodersen et al. · 2002 [cited by applicant]
US 6411949B1 · Schaffer · 2002 [cited by applicant]
US 6434550B1 · Warner et al. · 2002 [cited by applicant]
US 6446089B1 · Brodersen et al. · 2002 [cited by applicant]
US 6535909B1 · Rust · 2003 [cited by applicant]
US 6549908B1 · Loomans · 2003 [cited by applicant]
US 6553563B2 · Ambrose et al. · 2003 [cited by applicant]
US 6560461B1 · Fomukong et al. · 2003 [cited by applicant]
US 6574635B2 · Stauber et al. · 2003 [cited by applicant]
US 6577726B1 · Huang et al. · 2003 [cited by applicant]
US 6601087B1 · Zhu et al. · 2003 [cited by applicant]
US 6604117B2 · Lim et al. · 2003 [cited by applicant]
US 6604128B2 · Diec et al. · 2003 [cited by applicant]
US 6609150B2 · Lee et al. · 2003 [cited by applicant]
US 6621834B1 · Scherpbier et al. · 2003 [cited by applicant]
US 6654032B1 · Zhu et al. · 2003 [cited by applicant]
US 6665648B2 · Brodersen et al. · 2003 [cited by applicant]
US 6665655B1 · Warner et al. · 2003 [cited by applicant]
US 6684438B2 · Brodersen et al. · 2004 [cited by applicant]
US 6711565B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6724399B1 · Katchour et al. · 2004 [cited by applicant]
US 6728702B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6728960B1 · Loomans et al. · 2004 [cited by applicant]
US 6732095B1 · Warshavsky et al. · 2004 [cited by applicant]
US 6732100B1 · Brodersen et al. · 2004 [cited by applicant]
US 6732111B2 · Brodersen et al. · 2004 [cited by applicant]
US 6754681B2 · Brodersen et al. · 2004 [cited by applicant]
US 6763351B1 · Subramaniam et al. · 2004 [cited by applicant]
US 6763501B1 · Zhu et al. · 2004 [cited by applicant]
US 6768904B2 · Kim · 2004 [cited by applicant]
US 6772229B1 · Achacoso et al. · 2004 [cited by applicant]
US 6782383B2 · Subramaniam et al. · 2004 [cited by applicant]
US 6804330B1 · Jones et al. · 2004 [cited by applicant]
US 6826565B2 · Ritchie et al. · 2004 [cited by applicant]
US 6826582B1 · Chatterjee et al. · 2004 [cited by applicant]
US 6826745B2 · Coker · 2004 [cited by applicant]
US 6829655B1 · Huang et al. · 2004 [cited by applicant]
US 6842748B1 · Warner et al. · 2005 [cited by applicant]
US 6850895B2 · Brodersen et al. · 2005 [cited by applicant]
US 6850949B2 · Warner et al. · 2005 [cited by applicant]
US 6907566B1 · McElfresh et al. · 2005 [cited by applicant]
US 7062502B1 · Kesler · 2006 [cited by applicant]
US 7069231B1 · Cinarkaya · 2006 [cited by applicant]
US 7069497B1 · Desai · 2006 [cited by applicant]
US 7100111B2 · McElfresh et al. · 2006 [cited by applicant]
US 7181758B1 · Chan · 2007 [cited by applicant]
US 7269590B2 · Hull et al. · 2007 [cited by applicant]
US 7289976B2 · Kihneman et al. · 2007 [cited by applicant]
US 7340411B2 · Cook · 2008 [cited by applicant]
US 7356482B2 · Frankland et al. · 2008 [cited by applicant]
US 7373599B2 · McElfresh et al. · 2008 [cited by applicant]
US 7401094B1 · Kesler · 2008 [cited by applicant]
US 7406501B2 · Szeto et al. · 2008 [cited by applicant]
US 7412455B2 · Dillon · 2008 [cited by applicant]
US 7454509B2 · Boulter et al. · 2008 [cited by applicant]
US 7508789B2 · Chan · 2009 [cited by applicant]
US 7599935B2 · La Rotonda et al. · 2009 [cited by applicant]
US 7603331B2 · Tuzhilin et al. · 2009 [cited by applicant]
US 7603483B2 · Psounis et al. · 2009 [cited by applicant]
US 7620655B2 · Larsson et al. · 2009 [cited by applicant]
US 7644122B2 · Weyer et al. · 2010 [cited by applicant]
US 7668861B2 · Steven · 2010 [cited by applicant]
US 7698160B2 · Beaven et al. · 2010 [cited by applicant]
US 7730478B2 · Weissman · 2010 [cited by applicant]
US 7747648B1 · Kraft et al. · 2010 [cited by applicant]
US 7779039B2 · Weissman et al. · 2010 [cited by applicant]
US 7779475B2 · Jakobson et al. · 2010 [cited by applicant]
US 7827208B2 · Bosworth et al. · 2010 [cited by applicant]
US 7853881B1 · Aly Assal et al. · 2010 [cited by applicant]
US 7945653B2 · Zukerberg et al. · 2011 [cited by applicant]
US 8005896B2 · Cheah · 2011 [cited by applicant]
US 8014943B2 · Jakobson · 2011 [cited by applicant]
US 8015495B2 · Achacoso et al. · 2011 [cited by applicant]
US 8032297B2 · Jakobson · 2011 [cited by applicant]
US 8073850B1 · Hubbard et al. · 2011 [cited by applicant]
US 8082301B2 · Ahlgren et al. · 2011 [cited by applicant]
US 8095413B1 · Beaven · 2012 [cited by applicant]
US 8095531B2 · Weissman et al. · 2012 [cited by applicant]
US 8095594B2 · Beaven et al. · 2012 [cited by applicant]
US 8103611B2 · Tuzhilin et al. · 2012 [cited by applicant]
US 8150913B2 · Cheah · 2012 [cited by applicant]
US 8209308B2 · Rueben et al. · 2012 [cited by applicant]
US 8209333B2 · Hubbard et al. · 2012 [cited by applicant]
US 8275836B2 · Beaven et al. · 2012 [cited by applicant]
US 8457545B2 · Chan · 2013 [cited by applicant]
US 8484111B2 · Frankland et al. · 2013 [cited by applicant]
US 8490025B2 · Jakobson et al. · 2013 [cited by applicant]
US 8504945B2 · Jakobson et al. · 2013 [cited by applicant]
US 8510045B2 · Rueben et al. · 2013 [cited by applicant]
US 8510664B2 · Rueben et al. · 2013 [cited by applicant]
US 8566301B2 · Rueben et al. · 2013 [cited by applicant]
US 8646103B2 · Jakobson et al. · 2014 [cited by applicant]
US 10652281B1 · Moolenaar · 2020 [cited by examiner]
US 11108938B2 · Sugie · 2021 [cited by applicant]
US 11277303B1 · Meier · 2022 [cited by applicant]
US 20010044791A1 · Richter et al. · 2001 [cited by applicant]
US 20020072951A1 · Lee et al. · 2002 [cited by applicant]
US 20020082892A1 · Raffel et al. · 2002 [cited by applicant]
US 20020129352A1 · Brodersen et al. · 2002 [cited by applicant]
US 20020140731A1 · Subramaniam et al. · 2002 [cited by applicant]
US 20020143997A1 · Huang et al. · 2002 [cited by applicant]
US 20020162090A1 · Parnell et al. · 2002 [cited by applicant]
US 20020165742A1 · Robbins · 2002 [cited by applicant]
US 20030004971A1 · Gong · 2003 [cited by applicant]
US 20030018705A1 · Chen et al. · 2003 [cited by applicant]
US 20030018830A1 · Chen et al. · 2003 [cited by applicant]
US 20030066031A1 · Laane et al. · 2003 [cited by applicant]
US 20030066032A1 · Ramachandran et al. · 2003 [cited by applicant]
US 20030069936A1 · Warner et al. · 2003 [cited by applicant]
US 20030070000A1 · Coker et al. · 2003 [cited by applicant]
US 20030070004A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030070005A1 · Mukundan et al. · 2003 [cited by applicant]
US 20030074418A1 · Coker et al. · 2003 [cited by applicant]
US 20030120675A1 · Stauber et al. · 2003 [cited by applicant]
US 20030151633A1 · George et al. · 2003 [cited by applicant]
US 20030159136A1 · Huang et al. · 2003 [cited by applicant]
US 20030187921A1 · Diec et al. · 2003 [cited by applicant]
US 20030189600A1 · Gune et al. · 2003 [cited by applicant]
US 20030204427A1 · Gune et al. · 2003 [cited by applicant]
US 20030206192A1 · Chen et al. · 2003 [cited by applicant]
US 20030225730A1 · Warner et al. · 2003 [cited by applicant]
US 20040001092A1 · Rothwein et al. · 2004 [cited by applicant]
US 20040010489A1 · Rio et al. · 2004 [cited by applicant]
US 20040015981A1 · Coker et al. · 2004 [cited by applicant]
US 20040027388A1 · Berg et al. · 2004 [cited by applicant]
US 20040128001A1 · Levin et al. · 2004 [cited by applicant]
US 20040186860A1 · Lee et al. · 2004 [cited by applicant]
US 20040193510A1 · Catahan et al. · 2004 [cited by applicant]
US 20040199489A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199536A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040199543A1 · Braud et al. · 2004 [cited by applicant]
US 20040249854A1 · Barnes-Leon et al. · 2004 [cited by applicant]
US 20040260534A1 · Pak et al. · 2004 [cited by applicant]
US 20040260659A1 · Chan et al. · 2004 [cited by applicant]
US 20040268299A1 · Lei et al. · 2004 [cited by applicant]
US 20050050555A1 · Exley et al. · 2005 [cited by applicant]
US 20050091098A1 · Brodersen et al. · 2005 [cited by applicant]
US 20050188194A1 · Fascenda · 2005 [cited by examiner]
US 20070300290A1 · Shay · 2007 [cited by examiner]
US 20080249972A1 · Dillon · 2008 [cited by applicant]
US 20090063415A1 · Chatfield et al. · 2009 [cited by applicant]
US 20090100342A1 · Jakobson · 2009 [cited by applicant]
US 20090177744A1 · Marlow et al. · 2009 [cited by applicant]
US 20110218958A1 · Warshavsky · 2011 [cited by applicant]
US 20110247051A1 · Bulumulla · 2011 [cited by applicant]
US 20120042218A1 · Cinarkaya · 2012 [cited by applicant]
US 20120233137A1 · Jakobson et al. · 2012 [cited by applicant]
US 20120290407A1 · Hubbard et al. · 2012 [cited by applicant]
US 20130212497A1 · Zelenko et al. · 2013 [cited by applicant]
US 20130218948A1 · Jakobson · 2013 [cited by applicant]
US 20130218949A1 · Jakobson · 2013 [cited by applicant]
US 20130218966A1 · Jakobson · 2013 [cited by applicant]
US 20130247216A1 · Cinarkaya · 2013 [cited by applicant]
US 20140359537A1 · Jackobson et al. · 2014 [cited by applicant]
US 20150270975A1 · Buckley · 2015 [cited by examiner]
US 20160173338A1 · Wolting · 2016 [cited by examiner]
US 20200045015A1 · Nukala · 2020 [cited by examiner]
US 20210112034A1 · Sundararajan · 2021 [cited by examiner]
US 20210160237A1 · Rozner · 2021 [cited by examiner]
US 20210218712A1 · Zhao · 2021 [cited by examiner]