IP Library Granted Patent US 10,642,664
Granted Patent B2
US 10,642,664 · App. 15/465,392 · Granted May 5, 2020

System and method for securing an inter-process communication via a named pipe

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,642,664
App. No.
15/465,392
Granted
May 5, 2020
Kind
B2
Abstract

An information handling system operating a local inter-process communication securing system may comprise a memory and a processor executing machine readable code instructions of the local inter-process communication securing system performing a verification process of a candidate client application to instruct the candidate client application and a server application for which the local inter-process communication securing system acts as an API to establish a first named pipe having an endpoint address randomly generated by the local inter-process communication securing system, to receive a candidate client identification and a randomly generated string of alpha-numeric characters from the server application, and to instruct the server application to establish a first communication session, via the first named pipe, with the candidate client application upon determining the candidate client identification matches an authenticated client identification and that the randomly generated string of alpha-numeric characters is associated with the authenticated client identification, as stored at the local inter-process communication securing system, to verify that the candidate client application is the authenticated client application. Additionally, the authenticated client application may similarly verify a server application by only entering into the first communication session with the server application after receiving verification from a PKI that the server application is associated with a verified PKI certificate having an authentic signature.

Claims (41)

1. An information handling system operating a local inter-process communication securing system comprising:

a memory;

a processor executing machine readable code instructions of the local inter-process communication securing system performing a verification process of a candidate client application to:

instruct the candidate client application and a server application for which the local inter-process communication securing system acts as an API to establish a first named pipe having an endpoint address randomly generated by the local inter-process communication securing system;

receive a candidate client identification and a first randomly generated string of alpha-numeric characters from the server application; and

instruct the server application to establish a first communication session, via the first named pipe, with the candidate client application upon determining the candidate client identification matches an authenticated client identification and that the first randomly generated string of alpha-numeric characters matches a second randomly generated string of alpha-numeric characters previously transmitted to an authenticated client application, as stored at the local inter-process communication securing system, to verify that the candidate client application is the authenticated client application.

2. The information handling system operating the local inter-process communication securing system of claim 1 further comprising the processor executing machine readable code instructions of the local inter-process communication securing system to instruct the server application to immediately disconnect the first named pipe upon determining the candidate client identification either does not match the authenticated client identification or that the first randomly generated string of alpha-numeric characters does not match the second randomly generated string of alpha-numeric characters, as stored at the local inter-process communication securing system.

3. The information handling system operating the local inter-process communication securing system of claim 1 further comprising the processor executing machine-readable executable code instructions of the local inter-process communication securing system to:

receive from the authenticated client application associated with a trusted public key infrastructure certificate via an inter-process communication channel, the authenticated client identification;

associate the authenticated client identification with the second randomly generated string of alpha-numeric characters previously received from the server application, and the randomly generated endpoint address of the first named pipe; and

transmit the randomly generated endpoint address to the server application and the authenticated client application and transmit the second randomly generated string of alpha-numeric characters to the authenticated client application.

4. The information handling system operating the local inter-process communication securing system of claim 1 further comprising the processor executing machine readable code instructions of the local inter-process communication securing system to repeat the verification process of the candidate client application upon receiving a request from the candidate client application for a second communication session with the server application.

5. The information handling system operating the local inter-process communication securing system of claim 3 wherein the inter-process communication channel is a socket connection.

6. The information handling system operating the local inter-process communication securing system of claim 1 wherein the authenticated client application only enters into the first communication session with the server application after receiving verification from a PKI that the server application is associated with a verified PKI certificate having an authentic signature.

7. The information handling system operating the local inter-process communication securing system of claim 1 wherein the candidate client application code instructions are executed in a restricted operating system environment.

8. An method of securing a local inter-process communication by performing a verification process of a candidate client application comprising:

instructing a candidate client application and a server application for which a local inter-process communication securing system acts as an API to establish a first named pipe having an endpoint address randomly generated by the local inter-process communication securing system;

receiving a candidate client identification and a first randomly generated string of alpha-numeric characters from the server application; and

instructing the server application to establish a first communication session, via the first named pipe, with the candidate client application upon determining the candidate client identification matches an authenticated client identification and that the first randomly generated string of alpha-numeric characters matches a second randomly generated string of alpha-numeric characters previously transmitted to an authenticated client application, as stored at the local inter-process communication securing system, to verify that the candidate client application is the authenticated client application.

9. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 8 further comprising instructing the server application to immediately disconnect the first named pipe upon determining the candidate client identification either does not match the authenticated client identification or that the first randomly generated string of alpha-numeric characters does not match a second randomly generated string of alpha-numeric characters previously transmitted to an authenticated client application, as stored at the local inter-process communication securing system.

10. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 8 further comprising:

receiving from the authenticated client application associated with a trusted public key infrastructure certificate via an inter-process communication channel, the authenticated client identification;

associating the authenticated client identification with the second randomly generated string of alpha-numeric characters previously received from the server application, and the randomly generated endpoint address of the first named pipe; and

transmitting the randomly generated endpoint address to the server application and the authenticated client application and transmit the second randomly generated string of alpha-numeric characters to the authenticated client application.

11. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 8 further comprising repeating the verification process of the candidate client application upon receiving a request from the candidate client application for a second communication session with the server application.

12. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 10 wherein the authenticated client application only enters into the first communication session with the server application after receiving verification from a PKI that the server application is associated with a verified PKI certificate having an authentic signature.

13. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 10 wherein the inter-process communication channel is a second named pipe.

14. The method of securing a local inter-process communication by performing a verification process of a candidate client application of claim 8 wherein the candidate client application code instructions are executed in a restricted operating system environment.

15. An information handling system operating a local inter-process communication securing system comprising:

a memory;

a processor executing machine readable code instructions of the local inter-process communication securing system performing a verification process of a candidate client application to:

receive from an authenticated client application associated with a trusted public key infrastructure certificate via an inter-process communication channel, an authenticated client identification;

associate the authenticated client identification with a first randomly generated string of alpha-numeric characters previously received from a server application for which the local inter-process communication securing system acts as an API, and a randomly generated endpoint address of a first named pipe;

transmit the randomly generated endpoint address to the server application and the authenticated client application and transmit the first randomly generated string of alpha-numeric characters to the authenticated client application;

receive a candidate client identification and a second randomly generated string of alpha-numeric characters from the server application; and

instruct the server application to establish a first communication session, via the first named pipe, with the candidate client application upon determining the candidate client identification matches the authenticated client identification and that the second randomly generated string of alpha-numeric characters matches the first randomly generated string of alpha-numeric characters, as stored at the local inter-process communication securing system, to verify that the candidate client application is the authenticated client application.

16. The information handling system operating the local inter-process communication securing system of claim 15 further comprising the processor executing machine readable code instructions of the local inter-process communication securing system to instruct the server application to immediately disconnect the first named pipe upon determining the candidate client identification either does not match the authenticated client identification or that the first randomly generated string of alpha-numeric characters does not match the second randomly generated string of alpha-numeric characters, as stored at the local inter-process communication securing system.

17. The information handling system operating the local inter-process communication securing system of claim 15 further comprising the processor executing machine readable code instructions of the local inter-process communication securing system to repeat the verification process of the candidate client application upon receiving a request from the candidate client application for a second communication session with the server application.

18. The information handling system operating the local inter-process communication securing system of claim 15 wherein the inter-process communication channel is a socket connection.

19. The information handling system operating the local inter-process communication securing system of claim 15 wherein the inter-process communication channel is a second named pipe.

20. The information handling system operating the local inter-process communication securing system of claim 15 wherein the candidate client application code instructions are executed in a restricted operating system environment.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: TAN, DANILO O.; ARORA, MOHIT
To: DELL PRODUCTS, LP
Reel/Frame 041669/0070 →