IP Library › Granted Patent US 11,836,209
Granted Patent B2
US 11,836,209 · App. 17/419,604 · Granted Dec 5, 2023

Tamper-proof interaction data

Inventors: Gang Wang (Jersey City, NJ); Alex Daniel Jacobson (Mountain View, CA)
Assignee: Google LLC
G06F16/9577G06F3/048G06F3/0481G06F16/958G06F16/9566G06F16/9574
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,836,209
App. No.
17/419,604
Granted
Dec 5, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for validating interactions with false rendered elements. In one aspect, a method includes receiving a rendering notification and a declaration of a rendered element defined in an active window on a client device, detecting interaction with the rendered element at the client device, determining whether the interaction occurred at a declared location of the rendered element within the active window, and processing the interaction including: in response to determining that the interaction occurred: capturing a screenshot of the active window on the client device; verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element, and generating an interaction attestation, thereby validating the interaction. In response to determining that the interaction did not occur, refraining from generating the interaction attestation.

Claims (57)

1. A method performed by a data processing apparatus, the method comprising:

receiving a rendering notification of a rendered element defined in an active window on a client device;

receiving a declaration of the rendered element defined in the active window on the client device;

detecting interaction with the rendered element at the client device;

determining, based on the received declaration, whether the interaction occurred at a declared location of the rendered element within the active window; and

processing the interaction based on the determination of whether the interaction occurred at the declared location, including:

in response to determining that the interaction occurred at the declared location of the rendered element:

capturing a screenshot of the active window on the client device;

verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element; and

generating an interaction attestation for the interaction with the rendered element, thereby validating the interaction; and

in response to determining that the interaction did not occur at the declared location of the rendered element, refraining from generating the interaction attestation for the interaction with the rendered element.

2. The method of claim 1 , wherein the rendering notification comprises one or more of i) a location of the rendered element in the active window, ii) a stable identifier (ID) and uniform resource identifier (URI) of the rendered element and iii) a site or domain that rendered the rendered element.

3. The method of claim 1 , wherein receiving the declaration of the rendered element comprises receiving a verified appearance of the rendered element.

4. The method of claim 3 , wherein the verified appearance includes a unique stable identifier (ID) and/or stable uniform resource identifier (URI) and a verified shape.

5. The method of claim 1 , wherein verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element comprises utilizing an image matching algorithm.

6. The method of claim 1 , wherein detecting the interaction comprises receiving a selection signal specifying an XY coordinate of a user click within the active window.

7. The method of claim 1 , further comprising aggregating interaction attestations for a plurality of interactions with a plurality of instantiations of the rendered element.

8. The method of claim 1 , wherein the interaction attestation comprises one or more of i) a stable identifier (ID) and/or uniform resource identifier (URI) of the declared appearance, ii) a timestamp of the interaction, iii) a device integrity token, iv) a digital signature by the client device, v) XY coordinates of the interaction, and vi) a client device public key.

9. The method of claim 8 , wherein the stable ID and/or URI of the declared appearance includes a user intent of the interaction.

10. The method of claim 9 , wherein the user intent corresponds to an action conveyed by the visual appearance of the rendered element.

11. The method of claim 9 , further comprising:

in response to the interaction attestation including a user intent, modifying a report of the interaction based on the user intent.

12. The method of claim 9 , further comprising:

in response to determining that the interaction is different to the user intent, determining that the rendered element is a false rendered element and triggering a false interaction response.

13. The method of claim 12 , further comprising:

in response to triggering the false interaction response, intercepting a pathway of the client device to a landing page of the false rendered element.

14. The method of claim 1 , further comprising:

in response to determining that the interaction did not occur at the declared location of the rendered element, triggering a false interaction response.

15. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations comprising:

receiving a rendering notification of a rendered element defined in an active window on a client device;

receiving a declaration of the rendered element defined in the active window on the client device;

detecting interaction with the rendered element at the client device;

determining, based on the received declaration, whether the interaction occurred at a declared location of the rendered element within the active window; and

processing the interaction based on the determination of whether the interaction occurred at the declared location, including:

in response to determining that the interaction occurred at the declared location of the rendered element:

capturing a screenshot of the active window on the client device;

verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element; and

generating an interaction attestation for the interaction with the rendered element, thereby validating the interaction; and

in response to determining that the interaction did not occur at the declared location of the rendered element, refraining from generating the interaction attestation for the interaction with the rendered element.

16. A system comprising:

a client device;

one or more computers configured to interact with the client device; and

a memory device storing instructions that, upon execution by the one or more computers, cause the one or more computer to perform operations comprising:

receiving a rendering notification of a rendered element defined in an active window on a client device;

receiving a declaration of the rendered element defined in the active window on the client device;

detecting interaction with the rendered element at the client device;

determining, based on the received declaration, whether the interaction occurred at a declared location of the rendered element within the active window; and

processing the interaction based on the determination of whether the interaction occurred at the declared location, including:

in response to determining that the interaction occurred at the declared location of the rendered element:

capturing a screenshot of the active window on the client device;

verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element; and

generating an interaction attestation for the interaction with the rendered element, thereby validating the interaction; and

in response to determining that the interaction did not occur at the declared location of the rendered element, refraining from generating the interaction attestation for the interaction with the rendered element.

17. The computer storage medium of claim 15 , wherein the rendering notification comprises one or more of i) a location of the rendered element in the active window, ii) a stable identifier (ID) and uniform resources identifier (URI) of the rendered element and iii) a site or domain that rendered the rendered element.

18. The computer storage medium of claim 15 , wherein receiving the declaration of the rendered element comprises receiving a verified appearance of the rendered element.

19. The computer storage medium of claim 18 , wherein the verified appearance includes a unique stable identifier (ID) and/or stable uniform resource identifier (URI) and a verified shape.

20. The computer storage medium of claim 15 , wherein verifying a visual appearance of the rendered element in the screenshot with a declared appearance of the rendered element comprises utilizing an image matching algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: WANG, GANG; JACOBSON, ALEX DANIEL
To: GOOGLE LLC
Reel/Frame 056790/0716 →
Continuity (1)
Related Publication 20230073437A1 · Mar 9, 2023