IP Library › Granted Patent US 12,238,392
Granted Patent B2
US 12,238,392 · App. 17/676,058 · Granted Feb 25, 2025

Computing system with device attestation feature

Inventors: Willard Lennox Simmons (Boston, MA); Atanas Hristov Banov (Menlo Park, CA); Douglas Corey Reher (Mountain View, CA)
Assignee: Roku, Inc.
H04N21/8358H04L9/0822H04L9/3236H04N21/812
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 12,238,392
App. No.
17/676,058
Granted
Feb 25, 2025
Kind
B2
Abstract

In one aspect, an example method includes (i) encountering, by a media player of a media presentation system, a trigger to transmit a network communication to a computing device; (ii) generating, by the media player, an attestation watermark indicative of an authenticity of the media player using a cryptographic key; (iii) attaching, by the media player, the attestation watermark to the network communication; and (iv) based on encountering the trigger, transmitting, by the media player, the network communication having the attached attestation watermark to the computing device, the authenticity of the media player being verifiable by the computing device using the attestation watermark.

Claims (37)

1. A method comprising:

encountering, by a media player of a media presentation system, a trigger to transmit an advertisement request to a computing device associated with a media provider;

responsive to encountering the trigger to transmit the advertisement request and before a transmission of the advertisement request to the computing device, generating, by the media player, an attestation watermark indicative of an authenticity of the media player using a cryptographic key, wherein the cryptographic key is stored by the media player, and wherein generating the attestation watermark comprises: (i) generating a data object specifying a claim related to the media player, wherein the specified claim comprises a timestamp indicative of an expiration time of the attestation watermark; and (ii) cryptographically signing the data object using the cryptographic key, and wherein the specified claim comprises a device identifier of the media player;

attaching, by the media player, the attestation watermark to the advertisement request; and

based on encountering the trigger, transmitting, by the media player, the advertisement request having the attached attestation watermark to the computing device, wherein the authenticity of the media player is verifiable by the computing device using the attestation watermark.

2. The method of claim 1 , wherein the specified claim comprises a timestamp indicative of a creation time of the attestation watermark.

3. The method of claim 1 , wherein generating the attestation watermark comprises generating a JavaScript Object Notation (JSON) Web Token (JWT) including the specified claim using the cryptographic key.

4. The method of claim 3 , wherein a signature of the JWT is verifiable by the computing device using a public key.

5. The method of claim 4 , wherein:

the public key is hosted on a server, and

the JWT identifies the public key.

6. The method of claim 1 , wherein the computing device associated with the media provider is a media server.

7. The method of claim 1 , wherein

the computing device associated with the media provider is a computing device of an advertisement publisher.

8. The method of claim 1 , wherein generating the attestation watermark comprises:

sending, by the media player, an attestation request to a server that stores the cryptographic key; and

receiving, by the media player from the server, the attestation watermark.

9. A non-transitory computer-readable medium having stored thereon program instructions that upon execution by a processor, cause performance of a set of acts comprising:

encountering a trigger to transmit an advertisement request from a media player of a media presentation system to a computing device associated with a media provider;

responsive to encountering the trigger to transmit the advertisement request and before a transmission of the advertisement request to the computing device, generating an attestation watermark indicative of an authenticity of the media player using a cryptographic key, wherein the cryptographic key is stored by the media player, and wherein generating the attestation watermark comprises: (i) generating a data object specifying a claim related to the media player, wherein the specified claim comprises a timestamp indicative of an expiration time of the attestation watermark; and (ii) cryptographically signing the data object using the cryptographic key, and wherein the specified claim comprises a device identifier of the media player;

attaching the attestation watermark to the advertisement request; and

based on encountering the trigger, transmitting the advertisement request having the attached attestation watermark to the computing device, wherein the authenticity of the media player is verifiable by the computing device using the attestation watermark.

10. A media player configured for performing a set of acts comprising:

encountering a trigger to transmit an advertisement request to a computing device associated with a media provider;

responsive to encountering the trigger to transmit the advertisement request and before a transmission of the advertisement request to the computing device, generating an attestation watermark indicative of an authenticity of the media player using a cryptographic key, wherein the cryptographic key is stored by the media player, and wherein generating the attestation watermark comprises: (i) generating a data object specifying a claim related to the media player, wherein the specified claim comprises a timestamp indicative of an expiration time of the attestation watermark; and (ii) cryptographically signing the data object using the cryptographic key, and wherein the specified claim comprises a device identifier of the media player;

attaching the attestation watermark to the advertisement request; and

based on encountering the trigger, transmitting the advertisement request having the attached attestation watermark to the computing device, wherein the authenticity of the media player is verifiable by the computing device using the attestation watermark.

11. The media player of claim 10 , wherein generating the attestation watermark comprises generating a JavaScript Object Notation (JSON) Web Token including the specified claim using the cryptographic key.

12. The media player of claim 11 , wherein a signature of the JWT is verifiable by the computing device using a public key.

13. The media player of claim 12 , wherein:

the public key is hosted on a server, and

the JWT identifies the public key.

14. The media player of claim 10 , wherein the computing device associated with the media provider is a media server.

15. The media player of claim 10 , wherein the computing device associated with the media provider is a computing device of an advertisement publisher.

16. The media player of claim 10 , wherein generating the attestation watermark comprises:

sending, by the media player, an attestation request to a server that stores the cryptographic key; and

receiving, by the media player from the server, the attestation watermark.

Assignments (2)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2022
From: SIMMONS, WILLARD LENNOX; BANOV, ATANAS HRISTOV; REHER, DOUGLAS COREY
To: ROKU, INC.
Reel/Frame 061561/0054 →
Continuity (2)
Provisional Application 63267363 · Jan 31, 2022
Related Publication 20230247268A1 · Aug 3, 2023
References Cited (9)
US 20170032413A1 · McCartney · 2017 [cited by examiner]
US 20180375664A1 · Maxwell · 2018 [cited by examiner]
US 20190312734A1 · Wentz · 2019 [cited by examiner]
US 20200145728A1 · Przemyslaw · 2020 [cited by applicant]
US 20210021407A1 · Weerasinghe · 2021 [cited by examiner]
US 20220417034A1 · Wang · 2022 [cited by examiner]
WO 2015013412A1 · 2015 [cited by applicant]
WO 2022010548A1 · 2022 [cited by applicant]
“SafetyNet Attestation API,” Android Developers, last updated Nov. 22, 2021, available at https://developer.android.com/training/safetynet/attestation. [cited by applicant]
Cited By (1)
US 12,657,264