IP Library Granted Patent US 12,174,979
Granted Patent B2
US 12,174,979 · App. 17/727,012 · Granted Dec 24, 2024

System and method for managing cryptographic keys for cryptographically sealing media files on connected media-capture devices to enhance end-user privacy and enable offline capture

Inventors: Sherif Hanna (Carlsbad, CA); Thomas Zeng (San Diego, CA); Chi Shing Chan (San Diego, CA); Matthew Robben (Loveland, OH)
Assignee: TruePic Inc.
G06F21/62H04L9/0643H04L9/3073H04L9/3247H04L9/3268H04L9/3297
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,174,979
App. No.
17/727,012
Filed
Apr 22, 2022
Granted
Dec 24, 2024
Kind
B2
Art Unit
2497
USPC
726/26
Abstract

In general, one aspect disclosed features a media-capture device, comprising: one or more sensors; a hardware processor; and a non-transitory machine-readable storage medium encoded with instructions executable by the hardware processor to perform a method comprising: initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors; receiving the one or more sensor data samples; encoding the one or more sensor data samples; generating a to-be-signed data structure comprising at least one of: the one or more encoded sensor data samples, or one or more cryptographic hashes of the one or more encoded sensor data samples; generating a cryptographic hash of the to-be-signed data structure; determining whether a time-stamping server is reachable over a network connection by the media capture device; and configuring a second data structure based on the determination of whether the time-stamping server is reachable.

Claims (178)

1. A media-capture device, comprising:

one or more sensors;

a hardware processor; and

a non-transitory machine-readable storage medium encoded with instructions executable by the hardware processor to perform a method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

responsive to determining the time-stamping server is reachable:

transmitting a time-stamping request to the time-stamping server, wherein the time-stamping request includes the cryptographic hash of the to-be-signed data structure;

receiving a signed time-stamp from the time-stamping server; and

generating a digital signature data structure over the to-be-signed data structure using the private key of a short-validity cryptographic key pair and including the received signed time-stamp in the digital signature data structure;

responsive to determining the time-stamping server is reachable, and prior to transmitting the time-stamping request to the time-stamping server:

determining whether a certificate for a short-validity cryptographic key pair is valid; and

responsive to determining the certificate of the short-validity cryptographic key pair is invalid:

generating a new short-validity cryptographic key pair comprising a new short-validity public key and a new short-validity private key with short-validity key attributes,

generating a certificate signing request for the new short-validity public key,

signing the certificate signing request with the new short-validity private key, and

transmitting the signed certificate signing request to a registration authority server at the designated logical service endpoint for short-validity key pairs; and

configuring a second data structure based on the determination of whether the time-stamping server is reachable and to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the digital signature data structure,

wherein, responsive to receiving the signed certificate signing request:

the registration authority server validates eligibility of the media-capture device to receive a certificate, and

validates that the certificate signing request for the new short-validity public key meets required attributes for short-validity key pairs; and

wherein, responsive to a successful validation of both device eligibility and short-validity key attributes, the registration authority server relays the signed certificate signing request for the new short-validity public key to a certification authority server;

wherein, responsive to receiving the related signed certificate signing request for the short-validity public key, the certification authority server issues a signed certificate for the new short-validity public key and relays the signed certificate to the registration authority server;

wherein, responsive to receiving the signed certificate for the new short-validity public key, the registration authority server relays the signed certificate for the new short-validity public key to the media-capture device; and responsive to receiving the signed certificate for the new short-validity public key, storing the signed certificate for the new short-validity public key.

2. The media-capture device of claim 1 , the method further comprising:

transmitting a trusted-time request to the time-stamping server;

receiving a trusted-time value from the time-stamping server; and

initiating a local clock of the media-capture device using the trusted-time value;

wherein determining whether the certificate of the short-validity cryptographic key pair is valid comprises: comparing a validity window of the certificate of the short-validity cryptographic key pair against the local clock.

3. The media-capture device of claim 2 , the method further comprising:

authenticating with the time-stamping server using long-term authentication credentials prior to transmitting the trusted-time request to the time-stamping server.

4. A media-capture device, comprising:

one or more sensors;

a hardware processor; and

a non-transitory machine-readable storage medium encoded with instructions executable by the hardware processor to perform a method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

responsive to determining the time-stamping server is not reachable:

generating a further digital signature data structure over the to-be-signed data structure using the private key of a long-validity cryptographic key pair, without including a signed time-stamp; and

configuring the second data structure to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the further digital signature data structure that does not include a signed time-stamp.

5. The media-capture device of claim 1 , the method further comprising:

storing the second data structure in a file system of the media-capture device.

6. A media-capture device, comprising:

one or more sensors;

a hardware processor; and

a non-transitory machine-readable storage medium encoded with instructions executable by the hardware processor to perform a method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

configuring a second data structure based on the determination of whether the time-stamping server is reachable;

determining whether the media-capture device has been initialized; and

responsive to determining the media-capture device has not been initialized, authenticating with a registration authority server using first-time authentication credentials;

responsive to successful authentication using the first-time authentication credentials by the registration authority server, transmitting a request for long-term authentication credentials to the registration authority server;

responsive to receiving long-term authentication credentials from the registration authority server, storing the long-term authentication credentials for use in subsequent connection attempts to the registration authority server;

generating a new long-validity cryptographic key pair, comprising a new public key and a new private key with long-validity key attributes by:

generating a certificate signing request for the new long-validity public key,

signing the certificate signing request with the new long-validity private key, and

transmitting the signed certificate signing request to a registration authority server at the designated logical service endpoint for long-validity key pairs,

wherein, responsive to receiving the signed certificate signing request, the registration authority server validates eligibility of the media-capture device to receive a certificate, and validates that the certificate signing request for the new long-validity public key meets required attributes for long-validity key pairs; and

responsive to a successful validation of both device eligibility and long-validity key attributes, the registration authority server relays the signed certificate signing request for the new long-validity public key to a certification authority server;

wherein, responsive to receiving the related signed certificate signing request for the new long-validity public key, the certification authority server issues a signed certificate for the new long-validity public key and relays the signed certificate to the registration authority server;

wherein, responsive to receiving the signed certificate for the new long-validity public key, the registration authority server relays the signed certificate for the new long-validity public key to the media-capture device; and

responsive to receiving the signed certificate for the new long-validity public key:

storing the signed certificate for the new long-validity public key, and

generating a short-validity cryptographic key pair, comprising a new public key and a new private key with short-validity key attributes,

generating a certificate signing request for the new short-validity public key,

signing the certificate signing request with the new short-validity private key, and

transmitting the signed certificate signing request to a registration authority server at the designated logical service endpoint for short-validity key pairs,

wherein, responsive to receiving the signed certificate signing request, the registration authority server validates the eligibility of the media-capture device to receive a certificate and validates that the certificate signing request for the new short-validity public key meets the required attributes for short-validity key pairs; and

responsive to a successful validation of both device eligibility and short-validity key attributes, the registration authority server relays the signed certificate signing request for the new short-validity public key to a certification authority server;

wherein, responsive to receiving the related signed certificate signing request for the new short-validity public key, the certification authority server issues a signed certificate for the new short-validity public key and relays the signed certificate to the registration authority server;

wherein, responsive to receiving the signed certificate for the new short-validity public key, the registration authority server relays the signed certificate for the new short-validity public key to the media-capture device; and

responsive to receiving the signed certificate for the new short-validity public key, storing the signed certificate for the new short-validity public key.

7. A non-transitory machine-readable storage medium encoded with instructions executable by a hardware processor of a computing component, the machine-readable storage medium comprising instructions to cause the hardware processor to perform a method for a media-capture device having one or more sensors, the method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

responsive to determining the time-stamping server is reachable:

transmitting a time-stamping request to the time-stamping server, wherein the time-stamping request includes the cryptographic hash of the to-be-signed data structure;

receiving a signed time-stamp from the time-stamping server; and

generating a digital signature data structure over the to-be-signed data structure using the private key of a short-validity cryptographic key pair and including the received signed time-stamp in the digital signature data structure;

responsive to determining the time-stamping server is reachable, and prior to transmitting the time-stamping request to the time-stamping server:

determining whether a certificate for a short-validity cryptographic key pair is valid; and

responsive to determining the certificate of the short-validity cryptographic key pair is invalid:

generating a new short-validity cryptographic key pair, and

transmitting a certificate-signing request to a certification authority server, the certificate-signing request including short-validity parameters of the new short-validity cryptographic key pair, wherein the certification authority server signs the certificate-signing request with a private key of the new short-validity cryptographic key pair; and

configuring a second data structure based on the determination of whether the time-stamping server is reachable and to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the digital signature data structure.

8. The non-transitory machine-readable storage medium of claim 7 , the method further comprising:

transmitting a trusted-time request to the time-stamping server;

receiving a trusted-time value from the time-stamping server; and

initiating a local clock of the media-capture device using the trusted-time value;

wherein determining whether the certificate of the short-validity cryptographic key pair is valid comprises: comparing a validity window of the certificate of the short-validity cryptographic key pair against the local clock.

9. The non-transitory machine-readable storage medium of claim 8 , the method further comprising:

authenticating with the time-stamping server using long-term authentication credentials prior to transmitting the trusted-time request to the time-stamping server.

10. The non-transitory machine-readable storage medium of claim 7 , the method further comprising:

responsive to determining the time-stamping server is not reachable:

generating a further digital signature over the to-be-signed data structure using a private key of a long-validity cryptographic key pair; and

configuring the second data structure to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the further digital signature.

11. The non-transitory machine-readable storage medium of claim 7 , the method further comprising:

storing the second data structure in a file system of the media-capture device.

12. A non-transitory machine-readable storage medium encoded with instructions executable by a hardware processor of a computing component, the machine-readable storage medium comprising instructions to cause the hardware processor to perform a method for a media-capture device having one or more sensors, the method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

determining whether the media capture device has been initialized;

responsive to determining the media-capture device has not been initialized, generating a long-validity cryptographic key pair, generating a short-validity cryptographic key pair, and transmitting a request for long-term authentication credentials to a registration authority server; and

configuring a second data structure based on the determination of whether the time-stamping server is reachable.

13. A computer-implemented method for a media-capture device having one or more sensors, the method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

responsive to determining the time-stamping server is reachable:

transmitting a time-stamping request to the time-stamping server, wherein the time-stamping request comprises the cryptographic hash of the to-be-signed data structure;

receiving a signed time-stamp from the time-stamping server; and

generating a digital signature over the to-be-signed data structure and the signed time-stamp using a private key of a short-validity cryptographic key pair;

responsive to determining the time-stamping server is reachable, and prior to transmitting the time-stamping request to a time-stamping server:

determining whether a certificate of the short-validity cryptographic key pair is valid; and

responsive to determining the certificate of the short-validity cryptographic key pair is invalid:

generating a new short-validity cryptographic key pair, and

transmitting a certificate-signing request to a certification authority server, the certificate-signing request including short-validity parameters of the new short-validity cryptographic key pair, wherein the certification authority server signs the certificate-signing request with a private key of the new short-validity cryptographic key pair; and

configuring a second data structure based on the determination of whether the time-stamping server is reachable and to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the digital signature.

14. The computer-implemented method of claim 13 , further comprising:

transmitting a trusted-time request to the time-stamping server;

receiving a trusted-time value from the time-stamping server; and

initiating a local clock of the media-capture device using the trusted-time value;

wherein determining whether the certificate of the short-validity cryptographic key pair is valid comprises: comparing a validity window of the certificate of the short-validity cryptographic key pair against the local clock.

15. The computer-implemented method of claim 14 , further comprising:

authenticating with the time-stamping server using long-term authentication credentials prior to transmitting the trusted-time request to the time-stamping server.

16. The computer-implemented method of claim 13 , further comprising:

responsive to determining the time-stamping server is not reachable:

generating a further digital signature over the to-be-signed data structure using a private key of a long-validity cryptographic key pair; and

configuring the second data structure to include the one or more sensor encoded or unencoded data samples, the to-be-signed data structure, and the further digital signature.

17. The computer-implemented method of claim 13 , further comprising:

storing the second data structure in a file system of the media-capture device.

18. A computer-implemented method for a media-capture device having one or more sensors, the method comprising:

initiating acquisition of one or more sensor data samples representing analog phenomena captured by the one or more sensors;

receiving the one or more sensor data samples;

responsive to receiving the one or more sensor data samples, encoding the one or more sensor data samples;

generating a to-be-signed data structure comprising at least one of:

the one or more encoded sensor data samples, or

one or more cryptographic hashes of the one or more encoded sensor data samples;

generating a cryptographic hash of the to-be-signed data structure;

determining whether a time-stamping server is reachable over a network connection by the media capture device;

determining whether the media-capture device has been initialized;

responsive to determining the media-capture device has not been initialized, generating a long-validity cryptographic key pair, generating a short-validity cryptographic key pair, and transmitting a request for long-term authentication credentials to a registration authority server; and

configuring a second data structure based on the determination of whether the time-stamping server is reachable.

Assignments (2)
SECURITY INTEREST Recorded Jul 11, 2024
From: TRUEPIC INC.
To: WTI FUND X, INC.; WTI FUND XI, INC.
Reel/Frame 067970/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2022
From: HANNA, SHERIF; ZENG, THOMAS; CHAN, CHI SHING; ROBBEN, MATTHEW
To: TRUEPIC INC.
Reel/Frame 059680/0588 →
Continuity (2)
Provisional Application 63180212 · Apr 27, 2021
Related Publication 20220343005A1 · Oct 27, 2022
Cited By (2)
US 12,368,605 US 12,671,595