# US 12,010,106 B2 · Preventing fraud in aggregated network measurements

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,106 B2
- Document ID: US12010106B2
- Status: Granted
- Kind: B2
- Application number: 18/341,353
- Filed: 2023-06-26
- Published: 2023-12-28
- Granted: 2024-06-11
- Earliest claimed: 2020-01-19
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Gang Wang; Marcel M. Moti Yung
- Web page: https://patentgrep.com/patent/US12010106B2

## CPC

- H04L 63/0442: {wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for public-key encryption H04L9/30)}
- G06F 21/40: by quorum, i.e. whereby two or more security principals are required
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/0833: {involving conference or group key (network architectures or network communication protocols for key management in group communication in a packet data network H04L63/065)}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/3093: {involving Lattices or polynomial equations, e.g. NTRU scheme}
- H04L 9/3257: {using blind signatures}
- H04L 2209/42: Anonymization, e.g. involving pseudonyms
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including a method for preventing fraud. In some aspects, a method includes: receiving, from multiple client devices, a measurement data element that includes a respective group member key and a group identifier for a given conversion as a result of displaying a digital component. Each client device uses a threshold encryption scheme to generate, based at least on network data that includes one or more of impression data or conversion data for the conversion, a group key that defines a secret for encrypting the network data and generate, based on data related to the application, the respective group member key that includes a respective share of the secret. In response to determining that at least the threshold number of measurement data elements having the same group identifier have been received, the network data is decrypted using the group member keys in the received measurement data elements.

## Claims

### Claim 1

A computer-implemented method comprising:
obtaining network data that includes blindly signed impression data for a presentation of a digital component by an application of a client device, the obtaining comprising:
sending blinded impression data for the presentation of the digital component to a fraud detection system; and
receiving the blindly signed impression data from the fraud detection system, wherein the fraud detection system is configured to digitally sign the blinded impression data to generate the blindly signed impression data;
generating, based at least on the network data, a group key that defines a secret for encrypting the network data;
generating, based at least on data related to the application, a group member key comprising a share of the secret; and
sending the group member key to an aggregation system configured to decrypt the network data using respective group member keys received from multiple client devices.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein generating the group member key comprises generating the group member key using a polynomial-based threshold encryption scheme and the network data.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein generating the group member key comprises:
generating, based at least on the network data, the group key that defines the secret for encrypting the network data, wherein the group key comprises a polynomial function based on a seed that comprises at least the network data; and
select, as the group member key, a first point on the polynomial function based on data related to the application.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein generating the group member key comprises selecting a second point on the polynomial function as the secret.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the application selects the second point based on a nonce.

### Claim 6 (depends on 3)

The computer-implemented method of claim 3, wherein the data related to the application comprises a unique application identifier for an instance of the application running on the client device.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein generating the group member key comprises generating the group member key using a plane-based threshold encryption scheme and the network data.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising obtaining blindly signed conversion data corresponding to the presentation of the digital component, including:
sending blinded conversion data for the presentation of the digital component to a fraud detection system to generate the blindly signed conversion data; and
receiving the blindly signed conversion data from the fraud detection system, wherein the fraud detection system is configured to digitally sign the blinded conversion data to generate the blindly signed conversion data, wherein the network data includes the blindly signed conversion data.

### Claim 9

A system, comprising:
one or more processors; and
one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
obtaining network data that includes blindly signed impression data for a presentation of a digital component by an application of a client device, the obtaining comprising:
sending blinded impression data for the presentation of the digital component to a fraud detection system; and
receiving the blindly signed impression data from the fraud detection system, wherein the fraud detection system is configured to digitally sign the blinded impression data to generate the blindly signed impression data;
generating, based at least on the network data, a group key that defines a secret for encrypting the network data;
generating, based at least on data related to the application, a group member key comprising a share of the secret; and
sending the group member key to an aggregation system configured to decrypt the network data using respective group member keys received from multiple client devices.

### Claim 10 (depends on 9)

The system of claim 9, wherein generating the group member key comprises generating the group member key using a polynomial-based threshold encryption scheme and the network data.

### Claim 11 (depends on 9)

The system of claim 9, wherein generating the group member key comprises:
generating, based at least on the network data, the group key that defines the secret for encrypting the network data, wherein the group key comprises a polynomial function based on a seed that comprises at least the network data; and
select, as the group member key, a first point on the polynomial function based on data related to the application.

### Claim 12 (depends on 11)

The system of claim 11, wherein generating the group member key comprises selecting a second point on the polynomial function as the secret.

### Claim 13 (depends on 12)

The system of claim 12, wherein the application selects the second point based on a nonce.

### Claim 14 (depends on 11)

The system of claim 11, wherein the data related to the application comprises a unique application identifier for an instance of the application running on the client device.

### Claim 15 (depends on 9)

The system of claim 9, wherein generating the group member key comprises generating the group member key using a plane-based threshold encryption scheme and the network data.

### Claim 16 (depends on 9)

The system of claim 9, wherein the operations comprise obtaining blindly signed conversion data corresponding to the presentation of the digital component, including:
sending blinded conversion data for the presentation of the digital component to a fraud detection system to generate the blindly signed conversion data; and
receiving the blindly signed conversion data from the fraud detection system, wherein the fraud detection system is configured to digitally sign the blinded conversion data to generate the blindly signed conversion data, wherein the network data includes the blindly signed conversion data.

### Claim 17

One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
obtaining network data that includes blindly signed impression data for a presentation of a digital component by an application of a client device, the obtaining comprising:
sending blinded impression data for the presentation of the digital component to a fraud detection system; and
receiving the blindly signed impression data from the fraud detection system, wherein the fraud detection system is configured to digitally sign the blinded impression data to generate the blindly signed impression data;
generating, based at least on the network data, a group key that defines a secret for encrypting the network data;
generating, based at least on data related to the application, a group member key comprising a share of the secret; and
sending the group member key to an aggregation system configured to decrypt the network data using respective group member keys received from multiple client devices.

### Claim 18 (depends on 17)

The one or more non-transitory computer-readable media of claim 17, wherein generating the group member key comprises generating the group member key using a polynomial-based threshold encryption scheme and the network data.
