IP Library Granted Patent US 10,819,709
Granted Patent B1
US 10,819,709 · App. 15/714,734 · Granted Oct 27, 2020

Authorizing delegated capabilities to applications in a secure end-to-end communications system

Inventors: David M'Raihi (San Carlos, CA); Aaron Scales (Palo Alto, CA); Bruce Skingle (Palo Alto, CA); Glenn Anderson (San Jose, CA); Benjamin Liu (Fremont, CA); Paul Teyssier (Palo Alto, CA); Daniel Nathanson (Millbrae, CA)
Assignee: SYMPHONY COMMUNICATION SERVICES HOLDINGS LLC
H04L63/0884H04L9/321H04L9/3213H04L63/0807H04L67/141H04L63/062H04L63/126
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 10,819,709
App. No.
15/714,734
Granted
Oct 27, 2020
Kind
B1
Abstract

An organization that wishes its messages to be secure (the “communicating organization”) uses services of a secure communications infrastructure to securely exchange communications among its users. The secure communications infrastructure allows granting to third-party applications the permission to act on behalf of the users when using the secure communications infrastructure. This delegation may be accomplished at a very granular level, specifying the particular applications that are authorized to act on behalf of a user, the particular operations that those applications are authorized to perform, and/or in which contexts the applications may perform the operations. An agent component acts as an intermediary between third-party applications and the core of the secure communications infrastructure. This permits the third-party application to take actions on behalf of the user, while also preventing the third-party applications from obtaining the security-specific data that could lead to a breach of security.

Claims (59)

1. A computer-implemented method for enabling a third-party application to act on behalf of a user of an organization when using cryptographic facilities of a secure communications infrastructure, the computer-implemented method comprising:

receiving, from an administrator of the organization, registration of a third-party application to act on behalf of a user of the organization;

authenticating the third-party application for an application session using information received during the registration;

responsive to the authenticating, providing the third-party application with a session token;

receiving, from the third-party application:

a request for initiation of an application-user session during which the third-party application is permitted to act on behalf of the user, and

the session token;

authenticating the third-party application for the application-user session using the session token;

responsive to authenticating the third-party application for the application-user session, providing the third-party application with an application-user session token;

receiving, from the third-party application:

a request to provide a message comprising an encrypted form of data of the third-party application to a recipient user on behalf of the user, and

the application-user session token;

verifying, using the application-user session token, that the third-party application has been registered to provide the encrypted form of the data on behalf of the user;

responsive to the verifying, obtaining a cryptographic conversation key of the user;

without providing the cryptographic conversation key of the user to the third-party application, encrypting the data of the third-party application using the cryptographic conversation key of the user; and

requesting the secure communications infrastructure to send a message comprising the encrypted data of the third-party application to the recipient user on behalf of the user.

2. The computer-implemented method of claim 1 , wherein the registration comprises indications of which operations, from a set of possible operations of the secure communications infrastructure, the third-party application is permitted to perform on behalf of the user.

3. The computer-implemented method of claim 2 , further comprising using the indications to verify that the third-party application has been registered to provide the encrypted form of the data on behalf of the user.

4. The computer-implemented method of claim 1 , further comprising verifying a digital certificate of an agent component and providing an agent session token in response to successful verification.

5. The computer-implemented method of claim 1 , wherein the information received during registration using which the third-party application is authenticated is a client digital certificate of the third-party application.

6. The computer-implemented method of claim 1 , further comprising certifying that the encrypted data is from the third-party application on behalf of the user.

7. A computer-implemented method of using a secure communications infrastructure, the computer-implemented method comprising:

receiving, from an organization, registration of a third-party application to act on behalf of a user of the organization;

authenticating the third-party application for an application session using information received during the registration;

responsive to the authenticating, providing the third-party application with a session token;

receiving, from the third-party application, a request for an application-user session in which the third-party application is permitted to act on behalf of the user;

authenticating the third-party application for the application-user session using the session token;

receiving, from the third-party application, a request to perform a cryptographic operation on behalf of the user;

verifying, using an application-user session token, that the third-party application is permitted to perform the cryptographic operation on behalf of the user,

wherein the application-user session token is provided to the third-party application in response to authenticating the third-party application for the application-user session;

responsive to the verifying, obtaining a cryptographic key of the user; and

without providing the cryptographic key of the user to the third-party application, performing the cryptographic operation on behalf of the user.

8. The computer-implemented method of claim 7 , wherein the registration comprises indications of which operations, from a set of possible operations of the secure communications infrastructure, the third-party application is permitted to perform on behalf of the user.

9. The computer-implemented method of claim 8 , wherein the verifying is performed using the indications.

10. The computer-implemented method of claim 7 , further comprising:

responsive to the authenticating the third-party application for the application-user session, sending the application-user session token to the third-party application;

wherein the verifying is based on the application-user session token.

11. The computer-implemented method of claim 7 , wherein the cryptographic operation encrypts data of the third-party application, the computer-implemented method further comprising requesting the secure communications infrastructure to send a message comprising the encrypted data of the third-party application to a recipient user on behalf of the user.

12. The computer-implemented method of claim 7 , further comprising verifying a digital certificate of an agent component and providing an agent session token in response to successful verification.

13. The computer-implemented method of claim 7 , wherein the information received during registration using which the third-party application is authenticated is a client digital certificate of the third-party application.

14. The computer-implemented method of claim 7 , further comprising certifying that the encrypted data is from the third-party application on behalf of the user.

15. A non-transitory computer-readable storage medium storing instructions that when executed by a computer processor perform actions comprising:

receiving, from an organization, registration of a third-party application to act on behalf of a user of the organization;

authenticating the third-party application for an application session using information received during the registration;

responsive to the authenticating, providing the third-party application with a session token;

receiving, from the third-party application, a request for an application-user session in which the third-party application is permitted to act on behalf of the user;

authenticating the third-party application for the application-user session using the session token;

receiving, from the third-party application, a request to perform a cryptographic operation on behalf of the user;

verifying, using an application-user session token, that the third-party application is permitted to perform the cryptographic operation on behalf of the user,

wherein the application-user session token is provided to the third-party application in response to authenticating the third-party application for the application-user session;

responsive to the verifying, obtaining a cryptographic key of the user; and

without providing the cryptographic key of the user to the third-party application, performing the cryptographic operation on behalf of the user.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the registration comprises indications of which operations, from a set of possible operations of a secure communications infrastructure, the third-party application is permitted to perform on behalf of the user.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the verifying is performed using the indications.

18. The non-transitory computer-readable storage medium of claim 15 , the actions further comprising:

responsive to the authenticating the third-party application for the application-user session, sending the application-user session token to the third-party application;

wherein the verifying is based on the application-user session token.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the cryptographic operation encrypts data of the third-party application, the actions further comprising requesting a secure communications infrastructure to send a message comprising the encrypted data of the third-party application to a recipient user on behalf of the user.

20. The non-transitory computer-readable storage medium of claim 15 , the actions further comprising certifying that the encrypted data is from the third-party application on behalf of the user.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 18, 2025
From: HPS INVESTMENT PARTNERS, LLC, AS GRANTEE
To: SYMPHONY COMMUNICATION SERVICES, LLC; CLOUD9 TECHNOLOGIES LLC
Reel/Frame 073264/0835 →
SECURITY INTEREST Recorded Sep 29, 2025
From: SYMPHONY COMMUNICATION SERVICES HOLDINGS, LLC; SYMPHONY COMMUNICATION SERVICES, LLC; CLOUD9 TECHNOLOGIES LLC; PERZO INC.; STREETLINX INC.; AMENITY ANALYTICS, INC.
To: MUFG BANK, LTD.
Reel/Frame 072408/0921 →
SECURITY INTEREST Recorded Jun 24, 2021
From: CLOUD9 TECHNOLOGIES LLC; SYMPHONY COMMUNICATION SERVICES HOLDINGS, LLC
To: HPS INVESTMENT PARTNERS, LLC
Reel/Frame 056652/0359 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2018
From: M'RAIHI, DAVID; SCALES, AARON; SKINGLE, BRUCE; ANDERSON, GLENN; LIU, BENJAMIN; TEYSSIER, PAUL; NATHANSON, DANIEL
To: SYMPHONY COMMUNICATION SERVICES HOLDINGS, LLC
Reel/Frame 047363/0115 →
Continuity (1)
Provisional Application 62399987 · Sep 26, 2016
Cited By (3)
US 12,355,747 US 12,362,947 US 12,676,844