IP Library Granted Patent US 8,904,169
Granted Patent B2
US 8,904,169 · App. 12/560,384 · Granted Dec 2, 2014

Just in time trust establishment and propagation

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,904,169
App. No.
12/560,384
Granted
Dec 2, 2014
Kind
B2
Abstract

Trust relationships in an online service system are established at a domain level, and propagated to components of domains as they attempt cross domain communication. In attempting to communicate across domains, a first component in a first domain attempts to validate a certificate of a second component in a second domain. Where the attempt to validate the certificate indicates that a trust relationship does not exist between the first component and the second domain, the first component determines whether a domain level trust relationship exists between the two domains. The first component propagates the trust status between the first and second domains to itself. If there is an existing trust relationship between the first and second domains, the first component validates the certificate of the second component in response. The second component executes the same process to complete the connection.

Claims (56)

1. A computer implemented method for propagating trust relationships between components across multiple domains in at least one online service system, the method comprising the steps of:

establishing a trust relationship directly between a first master server of a first domain in an online service system and a second master server of a second domain in the online service system, wherein the trust relationship is established between public key infrastructures of different domains, and wherein the first master server manages components in the first domain and the second master server manages components in the second domain;

receiving a certificate, by a first computer system in the first domain in the online service system under management of the first master server, of a second computer system in the second domain in the online service system under management of the second master server;

attempting to validate the certificate, by the first computer system in the first domain;

determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the second computer system in the second domain;

responsive to determining that a trust relationship does not exist between the first computer system in the first domain and the second computer system in the second domain, determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain, based on an inquiry to a public key infrastructure system of the master server of the first domain;

propagating, by the first computer system, a trust status between the first domain and the second domain to the first computer system in the first domain; and

determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status;

wherein propagating, by the first computer system, the trust status between the first domain and the second domain to the first computer system in the first domain further comprises:

receiving, by the first computer system, trust relationships of a public key infrastructure system of the first domain; and

extending, by the first computer system, the received trust relationships of the public key infrastructure system of the first domain to the first computer system in the first domain.

2. The method of claim 1 wherein determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the second computer system in the second domain further comprises:

determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the public key infrastructure system of the master server of the second domain.

3. The method of claim 1 wherein determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

determining, by the first computer system, whether a trust relationship exists between a public key infrastructure system of the first domain and a public key infrastructure system of the second domain.

4. The method of claim 1 wherein determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

receiving, by the first computer system, trust relationships of a public key infrastructure system of the first domain; and

determining whether a trust relationship with the second domain is among the received trust relationships of the public key infrastructure system of the first domain.

5. The method of claim 1 wherein determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

querying, by the first computer system, a public key infrastructure system of the first domain as to whether it has a trust relationship with the second domain.

6. The method of claim 1 wherein propagating, by the first computer system, the trust status between the first domain and the second domain to the first computer system in the first domain further comprises:

receiving, by the first computer system, an indication from a public key infrastructure system of the first domain that the public key infrastructure system of the first domain has a trust relationship with the second domain; and

extending, by the first computer system, the trust relationship of the public key infrastructure system of the first domain with the second domain to the first computer system in the first domain.

7. The method of claim 1 wherein determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status further comprises:

responsive to extending a trust relationship of a public key infrastructure system of the first domain with the second domain to the first computer system in the first domain, validating, by the first computer in the first domain, the certificate of the second computer system in the second domain.

8. The method of claim 1 wherein determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status further comprises:

responsive to not detecting a trust relationship of a public key infrastructure system of the first domain with the second domain, not validating, by the first computer in the first domain, the certificate of the second computer system in the second domain.

9. The method of claim 1 wherein:

the first domain is of a first online service system and the second domain is of a second online service system.

10. At least one non-transitory computer readable storage medium storing a computer program product for propagating trust relationships between components across multiple domains in at least one online service system, the computer program product comprising:

program code for establishing a trust relationship directly between a first master server of a first domain in an online service system and a second master server of a second domain in the online service system, wherein the trust relationship is established between public key infrastructures of different domains, and wherein the first master server manages components in the first domain and the second master server manages components in the second domain;

program code for receiving a certificate, by a first computer system in the first domain in the online service system under management of the first master server, of a second computer system in the second domain in the online service system under management of the second master server;

program code for attempting to validate the certificate, by the first computer system in the first domain;

program code for determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the second computer system in the second domain;

program code for, responsive to determining that a trust relationship does not exist between the first master server of the first domain and the second master server of the second domain, based on an inquiry to a public key infrastructure system of the master server of the first domain;

program code for propagating, by the first computer system, a trust status between the first domain and the second domain to the first computer system in the first domain; and

program code for determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status;

wherein propagating, by the first computer system, the trust status between the first domain and the second domain to the first computer system in the first domain further comprises:

receiving, by the first computer system, trust relationships of a public key infrastructure system of the first domain; and

extending, by the first computer system, the received trust relationships of the public key infrastructure system of the first domain to the first computer system in the first domain.

11. The computer program product of claim 10 wherein the program code for determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the second computer system in the second domain further comprises:

program code for determining, by the first computer system, that a trust relationship does not exist between the first computer system in the first domain and the public key infrastructure system of the master server of the second domain.

12. The computer program product of claim 10 wherein the program code for determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

program code for determining, by the first computer system, whether a trust relationship exists between a public key infrastructure system of the first domain and a public key infrastructure system of the second domain.

13. The computer program product of claim 10 wherein the program code for determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

program code for receiving, by the first computer system, trust relationships of a public key infrastructure system of the first domain; and

program code for determining whether a trust relationship with the second domain is among the received trust relationships of the public key infrastructure system of the first domain.

14. The computer program product of claim 10 wherein the program code for determining, by the first computer system, whether a trust relationship exists between the first master server of the first domain and the second master server of the second domain further comprises:

program code for querying, by the first computer system, a public key infrastructure system of the first domain as to whether it has a trust relationship with the second domain.

15. The computer program product of claim 10 wherein the program code for propagating, by the first computer system, the trust status between the first domain and the second domain to the first computer system in the first domain further comprises:

program code for receiving, by the first computer system, an indication from a public key infrastructure system of the first domain that the public key infrastructure system of the first domain has a trust relationship with the second domain; and

program code for extending, by the first computer system, the trust relationship of the public key infrastructure system of the first domain with the second domain to the first computer system in the first domain.

16. The computer program product of claim 10 wherein the program code for determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status further comprises:

program code for, responsive to extending a trust relationship of a public key infrastructure system of the first domain with the second domain to the first computer system in the first domain, validating, by the first computer in the first domain, the certificate of the second computer system in the second domain.

17. The computer program product of claim 10 wherein the program code for determining, by the first computer system, whether to validate the certificate of the second computer system responsive to the propagated trust status further comprises:

program code for, responsive to not detecting a trust relationship of a public key infrastructure system of the first domain with the second domain, not validating, by the first computer in the first domain, the certificate of the second computer system in the second domain.

Assignments (14)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2009
From: CHRISTENSEN, AARON; BROWNING, WILLIAM; KHANNA, GUARAV; VADAPALLI, SREEKANTH; ANAND, JATHEEN
To: SYMANTEC CORPORATION
Reel/Frame 023528/0898 →