IP Library Granted Patent US 8,843,750
Granted Patent B1
US 8,843,750 · App. 13/016,394 · Granted Sep 23, 2014

Monitoring content transmitted through secured communication channels

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,843,750
App. No.
13/016,394
Granted
Sep 23, 2014
Kind
B1
Abstract

Embodiments of the present disclosure include methods (and corresponding systems and computer program products) for monitoring secured communication channels based on certificate authority impersonation. One aspect is a method comprising: intercepting a certificate transmitted by the remote server to the software application, the certificate comprising a public key; generating a first public key and a first private key pair for the intercepted certificate; replacing the public key in the intercepted certificate with the first public key; transmitting a modified intercepted certificate including the first public key to the software application in place of the intercepted certificate; and monitoring the security communication channel between the software application and the remote server, wherein the security communication channel is established based at least in part on the modified intercepted certificate.

Claims (79)

1. A computer implemented method for monitoring a secured communication channel between a software application included in a computer system and a remote server, the method comprising:

identifying, by a computer system, a certificate authority (CA) certificate stored in a local storage accessible by the computer system, the CA certificate including an original public key;

generating, by the computer system, a key pair that includes first public key and a first private key;

modifying, by the computer system, the CA certificate by replacing the original public key with the first public key;

intercepting, by the computer system, an intercepted certificate transmitted by a the remote server to the a software application, the intercepted certificate comprising an intercepted public key;

generating, by the computer system, a second public key for the intercepted certificate;

modifying, by the computer system, the intercepted certificate by replacing the intercepted public key in the intercepted certificate with the second public key;

signing, by the computer system, the modified intercepted certificate using the first private key of the key pair;

transmitting, by the computer system, the modified intercepted certificate including the second public key to the software application;

intercepting, by the computer system, a symmetric session key transmitted by the software application to the remote server;

decrypting, by the computer system, the symmetric session key using a second private key associated with the second public key;

re-encrypting, by the computer system, the symmetric session key using the intercepted public key included in the intercepted certificate;

transmitting, by the computer system, the re-encrypted symmetric session key to the remote server; and

monitoring, by the computer system, the security communication channel between the software application and the remote server using the symmetric session key.

2. The method of claim 1 , further comprising:

validating the intercepted certificate using the original public key.

3. The method of claim 1 , further comprising:

generating a third public key and a third private key pair for a second CA certificate; and

replacing a digital signature in the second CA certificate with a modified digital signature generated based at least in part on the third private key and the first public key.

4. The method of claim 1 , further comprising:

decrypting messages received from the software application and the remote server using the symmetric session key; and

examining the decrypted messages according to a security policy.

5. The method of claim 1 , further comprising:

responsive to a message in the security communication channel not in compliance with a security policy, performing a security action comprising one of: (1) dropping the message without transmitting the message to an intended destination and (2) terminating the security communication channel.

6. The method of claim 5 , wherein dropping the message comprises transmitting a message in compliance with the security policy to the intended destination in place of the message not in compliance with the security policy.

7. A computer system for monitoring a secured communication channel between a software application and a remote server, the system comprising:

a processor for executing computer program code; and

a non-transitory computer-readable storage medium storing executable computer program code for:

identifying a certificate authority (CA) certificate stored in a local storage accessible by the computer system, the CA certificate including an original public key;

generating a key pair that includes first public key and a first private key;

modifying the CA certificate by replacing the original public key with the first public key;

intercepting an intercepted certificate transmitted by a the remote server to the a software application, the intercepted certificate comprising an intercepted public key;

generating a second public key for the intercepted certificate;

modifying the intercepted certificate by replacing the intercepted public key in the intercepted certificate with the second public key;

signing the modified intercepted certificate using the first private key of the key pair;

transmitting the modified intercepted certificate including the second public key to the software application;

intercepting a symmetric session key transmitted by the software application to the remote server;

decrypting the symmetric session key using a second private key associated with the second public key;

re-encrypting the symmetric session key using the intercepted public key included in the intercepted certificate;

transmitting the re-encrypted symmetric session key to the remote server; and

monitoring the security communication channel between the software application and the remote server using the symmetric session key.

8. The computer system of claim 7 , wherein the non-transitory computer-readable storage medium further comprises executable computer program code for:

validating the intercepted certificate using the original public key.

9. The computer system of claim 7 , wherein the non-transitory computer-readable storage medium further comprises executable computer program code for:

generating a third public key and a third private key pair for a second CA certificate; and

replacing a digital signature in the second CA certificate with a modified digital signature generated based at least in part on the third private key and the first public key.

10. The computer system of claim 7 , wherein the non-transitory computer-readable storage medium further comprises executable computer program code for:

decrypting messages received from the software application and the remote server using the symmetric session key; and

examining the decrypted messages according to a security policy.

11. The computer system of claim 7 , wherein the non-transitory computer-readable storage medium further comprises executable computer program code for:

responsive to a message in the security communication channel not in compliance with a security policy, performing a security action comprising one of: (1) dropping the message without transmitting the message to an intended destination and (2) terminating the security communication channel.

12. The computer system of claim 11 , wherein the non-transitory computer-readable storage medium further comprises executable program code for:

dropping the message by transmitting a message in compliance with the security policy to the intended destination in place of the message not in compliance with the security policy.

13. A non-transitory computer-readable storage medium encoded with executable computer program code for monitoring a secured communication channel between a software application and a remote server, the computer program code comprising program code for:

identifying a certificate authority (CA) certificate stored in a local storage accessible by the computer system, the CA certificate including an original public key;

generating a key pair that includes first public key and a first private key;

modifying the CA certificate by replacing the original public key with the first public key;

intercepting an intercepted certificate transmitted by a remote server to a software application, the intercepted certificate comprising an intercepted public key;

generating a second public key for the intercepted certificate;

modifying the intercepted certificate by replacing the intercepted public key in the intercepted certificate with the second public key;

signing the modified intercepted certificate using the first private key of the key pair;

transmitting the modified intercepted certificate including the second public key to the software application;

intercepting a symmetric session key transmitted by the software application to the remote server;

decrypting the symmetric session key using a second private key associated with the second public key;

re-encrypting the symmetric session key using the intercepted public key included in the intercepted certificate;

transmitting the re-encrypted symmetric session key to the remote server; and

monitoring the security communication channel between the software application and the remote server using the symmetric session key.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the computer program code further comprises program code for:

validating the intercepted certificate using the original public key.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the computer program code further comprises program code for:

generating a third public key and a third private key pair for a second CA certificate; and

replacing a digital signature in the second CA certificate with a modified digital signature generated based at least in part on the third private key and the first public key.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the computer program code further comprises program code for:

decrypting messages received from the software application and the remote server using the symmetric session key; and

examining the decrypted messages according to a security policy.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the computer program code further comprises program code for:

responsive to a message in the security communication channel not in compliance with a security policy, performing a security action comprising one of: (1) dropping the message without transmitting the message to an intended destination and (2) terminating the security communication channel.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the computer program code further comprises program code for:

dropping the message by transmitting a message in compliance with the security policy to the intended destination in place of the message not in compliance with the security policy.

Assignments (4)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →