IP Library Granted Patent US 9,621,543
Granted Patent B2
US 9,621,543 · App. 14/561,042 · Granted Apr 11, 2017

Intercepting encrypted network traffic for internet usage monitoring

Inventors: Jonathon Brett Rubin (Tampa, FL); Jan Besehanic (Tampa, FL); Robert Peter Borland (Palm Harbor, FL)
Assignee: The Nielsen Company (US), LLC
H04L63/0823
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 9,621,543
App. No.
14/561,042
Granted
Apr 11, 2017
Kind
B2
Abstract

Example methods disclosed herein include intercepting, with a meter executing on a computing device, a request sent by a client application to establish a secure communication session with a network server. Such disclosed example methods also include receiving, at the meter in response to forwarding the request to the network server, a first public key provided by the network server for encrypting a session key, and providing, from the meter to the client application, a second public key associated with the meter instead of the first public key provided by the network server in response to the request being intercepted. Such disclosed example methods further include using the first public key and a private key associated with the second public key to enable the meter to access an unencrypted version of the session key, and monitoring, with the meter, the network traffic using the unencrypted version of the session key.

Claims (67)

1. A method to monitor network traffic for a computing device, the method comprising:

intercepting, with a meter executing on the computing device, a request sent by a client application executing on the computing device to establish a secure communication session with a network server, the meter including a kernel extension executing in an operating system kernel of the computing device;

receiving, at the meter in response to forwarding the request to the network server, a first public key provided by the network server for encrypting a session key to be used to exchange network traffic via the secure communication session;

providing, from the meter to the client application, a second public key associated with the meter instead of the first public key provided by the network server in response to the request being intercepted by the meter;

using the first public key and a private key associated with the second public key to exchange, via the meter, the session key between the client application and the network server to enable the meter to access an unencrypted version of the session key; and

monitoring, with the meter, the network traffic exchanged between the client application and the network server via the secure communication session using the unencrypted version of the session key.

2. The method as defined in claim 1 , wherein using the first public key and the private key associated with the second public key to exchange the session key between the client application and the network server includes:

intercepting, with the meter, a first encrypted version of the session key sent by the client application for receipt by the network server, the first encrypted version of the session key being encrypted using the second public key; and

decrypting, with the meter, the first encrypted version of the session key using the private key associated with the second public key to obtain the unencrypted version of the session key.

3. The method as defined in claim 2 , further including:

encrypting, at the meter, the unencrypted version of the session key using the first public key to determine a second encrypted version of the session key; and

sending the second encrypted version of the session key to the network server.

4. The method as defined in claim 1 , wherein monitoring the network traffic includes:

intercepting, at the meter, first encrypted network traffic sent from the client application to the network server;

decrypting the first encrypted network traffic using the unencrypted version of the session key to obtain first unencrypted network traffic; and

reporting the first unencrypted network traffic to a metering server.

5. The method as defined in claim 4 , further including:

intercepting, at the meter, second encrypted network traffic sent from the network server to the client application;

decrypting the second encrypted network traffic using the unencrypted version of the session key to obtain second unencrypted network traffic; and

reporting the second unencrypted network traffic to the metering server.

6. The method as defined in claim 1 , wherein the second public key is included in a digital certificate installed on the computing device prior to the request being sent by the client.

7. A tangible computer readable medium comprising computer readable instructions which, when executed, cause a processor of a computing device to at least:

execute a kernel extension of a meter in an operating system kernel of the computing device, the meter, when executed by the processor, to at least:

intercept a request sent by a client application executing on the computing device to establish a secure communication session with a network server;

receive, in response to forwarding the request to the network server, a first public key provided by the network server for encrypting a session key to be used to exchange network traffic via the secure communication session;

provide, to the client application, a second public key associated with a meter instead of the first public key provided by the network server in response to the request being intercepted;

use the first public key and a private key associated with the second public key to exchange the session key between the client application and the network server to enable the meter to access an unencrypted version of the session key; and

monitor the network traffic exchanged between the client application and the network server via the secure communication session using the unencrypted version of the session key.

8. The tangible computer readable medium as defined in claim 7 , wherein to use the first public key and the private key associated with the second public key to exchange the session key between the client application and the network server, the instructions, when executed, further cause the processor to execute the meter to:

intercept a first encrypted version of the session key sent by the client application for receipt by the network server, the first encrypted version of the session key being encrypted using the second public key; and

decrypt the first encrypted version of the session key using the private key associated with the second public key to obtain the unencrypted version of the session key.

9. The tangible computer readable medium as defined in claim 8 , wherein the instructions, when executed, further cause the processor to execute the meter to:

encrypt the unencrypted version of the session key using the first public key to determine a second encrypted version of the session key; and

send the second encrypted version of the session key to the network server.

10. The tangible computer readable medium as defined in claim 7 , wherein to monitor the network traffic, the instructions, when executed, cause the processor to execute the meter to:

intercept first encrypted network traffic sent from the client application to the network server;

decrypt the first encrypted network traffic using the unencrypted version of the session key to obtain first unencrypted network traffic; and

report the first unencrypted network traffic to a metering server.

11. The tangible computer readable medium as defined in claim 10 , wherein the instructions, when executed, further cause the processor to execute the meter to:

intercept second encrypted network traffic sent from the network server to the client application;

decrypt the second encrypted network traffic using the unencrypted version of the session key to obtain second unencrypted network traffic; and

report the second unencrypted network traffic to the metering server.

12. The tangible computer readable medium as defined in claim 7 , wherein the second public key is included in a digital certificate installed on the computing device prior to the request being sent by the client.

13. A computing device comprising:

a meter having a kernel extension to execute in an operating system kernel of the computing device, the meter including:

a content request interceptor to intercept a request sent by a client application executing on the computing device to establish a secure communication session with a network server;

a certificate manager to:

receive, in response to forwarding the request to the network server, a first public key provided by the network server for encrypting a session key to be used to exchange network traffic via the secure communication session;

provide, to the client application, a second public key associated with the meter instead of the first public key provided by the network server in response to the request being intercepted;

a session key interceptor to use the first public key and a private key associated with the second public key to exchange the session key between the client application and the network server to enable the meter to access an unencrypted version of the session key; and

a traffic interceptor to intercept the network traffic exchanged between the client application and the network server via the secure communication session using the unencrypted version of the session key.

14. The computing device as defined in claim 13 , wherein the session key interceptor is further to:

intercept a first encrypted version of the session key sent by the client application for receipt by the network server, the first encrypted version of the session key being encrypted using the second public key; and

decrypt the first encrypted version of the session key using the private key associated with the second public key to obtain the unencrypted version of the session key.

15. The computing device as defined in claim 14 , wherein the session key interceptor is further to:

encrypt the unencrypted version of the session key using the first public key to determine a second encrypted version of the session key; and

send the second encrypted version of the session key to the network server.

16. The computing device as defined in claim 13 , wherein the traffic interceptor is further to:

intercept first encrypted network traffic sent from the client application to the network server; and

decrypt the first encrypted network traffic using the unencrypted version of the session key to obtain first unencrypted network traffic.

17. The computing device as defined in claim 16 , wherein the traffic interceptor is further to:

intercept second encrypted network traffic sent from the network server to the client application; and

decrypt the second encrypted network traffic using the unencrypted version of the session key to obtain second unencrypted network traffic.

18. The computing device as defined in claim 17 , wherein the meter further includes a usage reporter to:

report the first unencrypted network traffic to a metering server; and

report the second unencrypted network traffic to the metering server.

19. The computing device as defined in claim 13 , wherein the second public key is included in a digital certificate installed on the computing device prior to the request being sent by the client.

Assignments (9)
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
SUPPLEMENTAL IP SECURITY AGREEMENT Recorded Nov 30, 2015
From: THE NIELSEN COMPANY ((US), LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT FOR THE FIRST LIEN SECURED PARTIES
Reel/Frame 037172/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2015
From: RUBIN, JONATHON BRETT; BESEHANIC, JAN; BORLAND, ROBERT PETER
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 035280/0897 →
Continuity (2)
Continuation 13361651 · Jan 30, 2012
Related Publication 20150100780A1 · Apr 9, 2015