IP Library Granted Patent US 11,552,802
Granted Patent B2
US 11,552,802 · App. 16/849,275 · Granted Jan 10, 2023

Stateless mutual authentication between services

Inventors: Kaushal Bansal (Pleasanton, CA); Tejas Badadare (San Francisco, CA); Jonathan Dean Smith (Katy, TX)
Assignee: Salesforce, Inc.
H04L9/3247H04L63/0442H04L63/0823H04L67/02
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 11,552,802
App. No.
16/849,275
Granted
Jan 10, 2023
Kind
B2
Abstract

A server computing system generates a universally unique identifier (UUID) associated with a first application, the UUID to be encrypted using a private key associated with the first application to generate a first digital signature. The server computing system generates a first session key associated with the first application, the first digital signature to be encrypted using the first session key to generate a first encrypted digital signature. The server computing system encrypts the first session key using a public key associated with a second application to generate a first encrypted session key, wherein the first application and the second application are deployed with the PaaS associated with the server computing system. The server computing system transmits the UUID, the first encrypted digital signature, and the first encrypted session key to the second application using hypertext transfer protocol (HTTP) to enable the second application to authenticate the first application.

Claims (47)

1. A computer-implemented method for performing stateless mutual authentication in a trusted network space, the method comprising:

generating, by a server computing system in association with a first application assigned a public key and a private key unrelated to a certificate authority (CA), a universally unique identifier (UUID), the UUID to be encrypted using the private key assigned to the first application to generate a first digital signature;

generating, by the server computing system, a first session key associated with the first application, the first digital signature to be encrypted using the first session key to generate a first encrypted digital signature;

encrypting, by the server computing system in association with a second application assigned a public key and a private key unrelated to the CA, the first session key using the public key assigned to the second application to generate a first encrypted session key, the public key being unrelated to the CA, the first application and the second application being:

deployed with a Platform as a Service (PaaS) associated with the server computing system in the trusted network space, and

configured to exchange public keys; and

transmitting, by the server computing system, the UUID, the first encrypted digital signature, and the first encrypted session key to the second application in a header of a message generated by the first application to enable the second application to authenticate the first application without using a certificate associated with the CA.

2. The method of claim 1 , further comprising:

decrypting, by the server computing system, the first encrypted session key using the private key assigned to the second application to generate a second session key; and

decrypting, by the server computing system, the first encrypted digital signature using the second session key to generate a second digital signature.

3. The method of claim 2 , further comprising:

generating a Boolean value based on the second digital signature, the public key assigned to the first application and the UUID; and

verifying a result of the stateless mutual authentication based on the Boolean value.

4. The method of claim 3 , wherein the first application is authenticated by the second application based on the Boolean value verified as successful.

5. The method of claim 4 , wherein the PaaS is associated with the trusted network space where Secure Sockets Layer/Transport Layer Security (SSL/TLS) termination is at a router, and wherein authentication of the first application by the second application is not based on an authentication mechanism supplied by the PaaS.

6. A system for performing stateless mutual authentication in a trusted network space associated with a Platform as a Service (PaaS) comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors of a server computing system to:

generate, in association with a first application assigned a public key and a private key unrelated to a certificate authority (CA), a universally unique identifier (UUID), the UUID to be encrypted using the private key assigned to the first application to generate a first digital signature;

generate a first session key associated with the first application, the first digital signature to be encrypted using the first session key to generate a first encrypted digital signature;

encrypt, in association with a second application assigned a public key and a private key unrelated to the CA, the first session key using the public key assigned to the second application to generate a first encrypted session key, the public key being unrelated to the CA, the first application and the second application being:

deployed with a PaaS associated with the server computing system in the trusted network space, and

configured to exchange public keys; and

transmit the UUID, the first encrypted digital signature, and the first encrypted session key to the second application in a header of a message generated by the first application to enable the second application to authenticate the first application without using a certificate associated with the CA.

7. The system of claim 6 , further comprising instructions, which when executed, cause the one or more processors to:

decrypt the first encrypted session key using the private key assigned to the second application to generate a second session key; and

decrypt the first encrypted digital signature using the second session key to generate a second digital signature.

8. The system of claim 7 , further comprising instructions, which when executed, cause the one or more processors to:

generate a Boolean value based on the second digital signature, the public key assigned to the first application and the UUID; and

verify a result of the stateless mutual authentication based on the Boolean value.

9. The system of claim 8 , wherein the first application is authenticated by the second application based on the Boolean value verified as successful.

10. The system of claim 9 , wherein the PaaS is associated with the trusted network space where Secure Sockets Layer/Transport Layer Security (SSL/TLS) termination is at a router, and wherein authentication of the first application by the second application is not based on an authentication mechanism supplied by the PaaS.

11. A computer program product for performing stateless mutual authentication in a trusted network space associated with a Platform as a Service (PaaS), the computer program product comprising computer-readable program code stored on a non-transitory computer-readable medium, the program code comprising instructions to:

generate, in association with a first application assigned a public key and a private key unrelated to a certificate authority (CA), a universally unique identifier (UUID), the UUID to be encrypted using the private key assigned to the first application to generate a first digital signature;

generate, by a server computing system, a first session key associated with the first application, the first digital signature to be encrypted using the first session key to generate a first encrypted digital signature;

encrypt, in association with a second application assigned a public key and a private key unrelated to the CA, the first session key using the public key assigned to the second application to generate a first encrypted session key, the public key being unrelated to the CA, the first application and the second application being:

deployed with a PaaS associated with the server computing system in the trusted network space, and

configured to exchange public keys; and

transmit the UUID, the first encrypted digital signature, and the first encrypted session key to the second application in a header of a message generated by the first application to enable the second application to authenticate the first application without using a certificate associated with the CA.

12. The computer program product of claim 11 , the program code further comprising instructions to:

decrypt the first encrypted session key using the private key assigned to the second application to generate a second session key; and

decrypt the first encrypted digital signature using the second session key to generate a second digital signature.

13. The computer program product of claim 12 , the program code further comprising instructions to:

generate a Boolean value based on the second digital signature, the public key assigned to the first application and the UUID; and

verify a result of the stateless mutual authentication based on the Boolean value.

14. The computer program product of claim 13 , wherein the first application is authenticated by the second application based on the Boolean value verified as successful.

15. The computer program product of claim 14 , wherein the PaaS is associated with the trusted network space where Secure Sockets Layer/Transport Layer Security (SSL/TLS) termination is at a router, and wherein authentication of the first application by the second application is not based on an authentication mechanism supplied by the PaaS.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2020
From: BANSAL, KAUSHAL; BADADARE, TEJAS; SMITH, JONATHAN DEAN
To: SALESFORCE.COM, INC.
Reel/Frame 052405/0226 →
Continuity (1)
Related Publication 20210328807A1 · Oct 21, 2021
Cited By (4)
US 12,192,210 US 12,401,626 US 12,438,702 US 12,665,926