IP Library Granted Patent US 10,931,455
Granted Patent B2
US 10,931,455 · App. 15/277,112 · Granted Feb 23, 2021

Secure image pipeline

Inventors: Reza R. Derakhshani (Shawnee, KS); Joel Teply (Shawnee, KS); Zikomo Fields (Lake Lotawana, MO); Casey Hughlett (Edmond, OK)
Assignee: EyeVerify Inc.
H04L9/3236G06F21/16G06T1/0028G09C5/00G06T2201/0051
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 10,931,455
App. No.
15/277,112
Granted
Feb 23, 2021
Kind
B2
Abstract

Computer-implemented methods and systems for image security in computer vision applications are described. A shared secret is stored at an image sensor module and a trusted element. The shared secret includes a device-specific secret value and a definition of a plurality of pixel locations. An image is received at the image sensor module, which generates a watermark based on the secret value and applies the watermark to the image, based on the pixel locations, to create a watermarked image. The watermarked image is received at the trusted element, which validates the watermarked image based on the watermark.

Claims (53)

1. A computer-implemented method comprising:

storing a shared secret at both of an image sensor module in a computing device and a trusted element in the computing device, the shared secret comprising a device-specific secret value and a definition of a plurality of pixel locations;

receiving an image at the image sensor module;

generating, by the image sensor module, a watermark based on the secret value;

applying, by the image sensor module, the watermark to the image to create a watermarked image, the applying being based on the pixel locations, wherein the applying comprises replacing a plurality of bit values of a pixel at each pixel location with a plurality of bit values of the watermark;

performing, at an untrusted element, operations on the watermarked image to generate image processing results;

receiving the watermarked image at the trusted element;

validating, by the trusted element, the watermarked image based on the watermark; and

performing, at the trusted element, an audit of sections of the processing results to determine whether the trusted element can reproduce a previous validation of the watermarked image, wherein performing the audit comprises:

following validation of the watermarked image, specifying, by the trusted element, a tile in the watermarked image;

generating audit results by repeating the operations performed by the untrusted element on the tile in the watermarked image, the operations comprising image pre-processing and feature extraction; and

ensuring that the audit results are consistent with the processing results.

2. The method of claim 1 , wherein generating the watermark comprises calculating a hash value of a global value and the device-specific secret value, wherein the global value comprises a dynamic variable accessible to both the image sensor module and the trusted element.

3. The method of claim 2 , wherein the global value comprises at least one of a time and a date.

4. The method of claim 1 , wherein the validating comprises:

extracting the watermark from the watermarked images based on the pixel locations;

calculating a hash value of a global value and a device-specific secret value; and

comparing the hash value with the watermark.

5. A system comprising:

at least one memory for storing computer-executable instructions;

at least one processing unit for executing the instructions stored on the memory, wherein execution of the instructions programs the processing unit to perform operations comprising:

storing a shared secret at both of an image sensor module in a computing device and a trusted element in the computing device, the shared secret comprising a device-specific secret value and a definition of a plurality of pixel locations;

receiving an image at the image sensor module;

generating, by the image sensor module, a watermark based on the secret value;

applying, by the image sensor module, the watermark to the image to create a watermarked image, the applying being based on the pixel locations, wherein the applying comprises replacing a plurality of bit values of a pixel at each pixel location with a plurality of bit values of the watermark;

performing, at an untrusted element, operations on the watermarked image to generate image processing results;

receiving the watermarked image at the trusted element;

validating, by the trusted element, the watermarked image based on the watermark; and

performing, at the trusted element, an audit of sections of the processing results to determine whether the trusted element can reproduce a previous validation of the watermarked image, wherein performing the audit comprises:

following validation of the watermarked image, specifying, by the trusted element, a tile in the watermarked image;

generating audit results by repeating the operations performed by the untrusted element on the tile in the watermarked image, the operations comprising image pre-processing and feature extraction; and

ensuring that the audit results are consistent with the processing results.

6. The system of claim 5 , wherein generating the watermark comprises calculating a hash value of a global value and the device-specific secret value, wherein the global value comprises a dynamic variable accessible to both the image sensor module and the trusted element.

7. The system of claim 6 , wherein the global value comprises at least one of a time and a date.

8. The system of claim 5 , wherein the validating comprises:

extracting the watermark from the watermarked images based on the pixel locations;

calculating a hash value of a global value and a device-specific secret value; and

comparing the hash value with the watermark.

9. The method of claim 1 , wherein the trusted element comprises at least one of a secure hardware element and software executing in a secure space.

10. The method of claim 1 , wherein the plurality of pixel locations comprises a predefined set of pixel locations.

11. The method of claim 1 , wherein the pixel locations are selected based on a value known to the image sensor module and the trusted element.

12. The method of claim 1 , further comprising performing, by the image sensor module, one or more alterations on the image prior to the applying of the watermark.

13. The method of claim 1 , further comprising performing, by the image sensor module, one or more alterations on the image following the applying of the watermark; and

wherein the validating comprises compensating for transformed values at the pixel locations resulting from the one or more alterations performed on the image.

14. The system of claim 5 , wherein the trusted element comprises at least one of a secure hardware element and software executing in a secure space.

15. The system of claim 5 , wherein the plurality of pixel locations comprises a predefined set of pixel locations.

16. The system of claim 5 , wherein the pixel locations are selected based on a value known to the image sensor module and the trusted element.

17. The system of claim 5 , wherein the operations further comprise performing, by the image sensor module, one or more alterations on the image prior to the applying of the watermark.

18. The system of claim 5 , wherein the operations further comprise

performing, by the image sensor module, one or more alterations on the image following the applying of the watermark; and

wherein the validating comprises compensating for transformed values at the pixel locations resulting from the one or more alterations performed on the image.

19. The method of claim 1 , wherein the plurality of bit values of a pixel comprise four least significant bits of raw pixel values.

20. The system of claim 5 , wherein the plurality of bit values of a pixel comprise four least significant bits of raw pixel values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2022
From: EYEVERIFY INC.
To: JUMIO CORPORATION
Reel/Frame 061004/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: DERAKHSHANI, REZA R.; TEPLY, JOEL; FIELDS, ZIKOMO; HUGHLETT, CASEY
To: EYEVERIFY INC.
Reel/Frame 053039/0215 →
Continuity (2)
Provisional Application 62233727 · Sep 28, 2015
Related Publication 20180089789A1 · Mar 29, 2018
Cited By (1)
US 12,596,772