IP Library › Granted Patent US 11,496,291
Granted Patent B2
US 11,496,291 · App. 16/942,784 · Granted Nov 8, 2022

Validating received sensor data using computer cryptographic processing

Inventors: Al Chakra (Apex, NC); Bryce Frey (Tilden, NE); Komal Shrivastava (Milton, GA); Jonathan Erskine (Coral Springs, FL); Matthew Fletcher (Apex, NC)
Assignee: International Business Machines Corporation
H04L9/0643G06F16/1837H04L9/0637H04L9/3271H04L9/50
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,496,291
App. No.
16/942,784
Granted
Nov 8, 2022
Kind
B2
Abstract

Media capture and verification originally-captured media files, the nature of modifications made to captured media files, and the authenticity of various versions of files related to the captured media are discussed. A computer identifies capture device output that represents an aspect of a recorded event. The computer cryptographically processes the capture device output to produce a validatable master file which includes master media data from the capture device output, master metadata of said master media data, and master file blockchain data. The master file blockchain data includes a master file block history portion, a master file signature key portion, a master file change indication portion, and a master file signed data hash portion. The computer also modifies the master media data to produce reference file media data. reference files and distributable files. The computer verifies the authenticity of each of these files.

Claims (102)

1. A computer-implemented method comprising:

identifying, by a computer, a capture device output, said output representing an aspect of a recorded event;

cryptographically processing, by said computer, said capture device output to produce a validatable master file;

wherein said validatable master file includes master media data from said capture device output, master metadata of said master media data, and master file blockchain data; and

wherein said master file blockchain data includes a master file block history portion, a master file signature key portion, a master file change indication portion, and a master file signed data hash portion.

2. The computer-implemented method of claim 1 , wherein said cryptographically processing comprises:

dividing said media data, by said computer, into at least one data subset;

generating, by said computer, a hash of said at least one data subset;

generating, by said computer, metadata of said hash of said at least one data subset;

combining, by said computer, said hash and said metadata of said hash into at least one data packet; and

cryptographically signing, by said computer, said at least one data packet.

3. The computer-implemented method of claim 1 , further including:

modifying, by said computer, said master media data to produce reference file media data; and

preparing, by said computer, a reference file including said reference file media data, reference file metadata, and reference file blockchain data;

wherein said reference file blockchain data includes said master file blockchain data and blockchain incrementing information, wherein said blockchain incrementing information includes a hash of said master file blockchain data, reference file blockchain metadata, and a reference file signed data hash portion.

4. The computer-implemented method of claim 3 , wherein said reference file further includes instructions indicating replicable changes made, by said computer, between said modified media and said media data of said master file.

5. The computer-implemented method of claim 1 , further including:

receiving, by said computer, a challenged master file identified as a copy of said validatable master file;

receiving, by said computer, a request to validate said challenged master file; and executing, by said computer, a master file validation routine to assess validity of said challenged master file;

wherein said master file validation routine includes

hashing, by said computer, media data of said challenged master file to generate hashed challenged master file media data;

unsigning, by said computer, a signed media data hash portion of said challenged master file to generate unsigned challenged master file media data; and

determining, by said computer, whether said hashed challenged master file media data and said unsigned challenged master file media data match.

6. The computer-implemented method of claim 3 , further comprising:

receiving, by said computer, a reference file identified as a modified version of said master file;

receiving, by said computer, a request to determine whether said reference file is a modified version of said master file; and

executing, by said computer, a reference file verification routine; wherein said reference file verification routine includes

determining, by said computer, whether said hash of said master file blockchain data and a hash of blockchain data of said reference file match; and

applying, by said computer, changes indicated by said blockchain incrementing information to media data in said reference file to generate hashed reference file media data and unsigning a reference file blockchain data to generate unsigned reference file blockchain media data; and

determining, by said computer, whether said hashed reference file media data and said unsigned reference file blockchain media data match.

7. The computer-implemented method of claim 6 , further comprising:

receiving, by said computer, a reference file identified as an authentic modification of said master file;

receiving, by said computer, a distributable file;

receiving, by said computer, a request to determine whether said distributable file is an authentic modification of said reference file identified as an authentic modification of said master file; and

executing, by said computer, a distributable file verification routine;

wherein said distributable file verification routine includes determining whether a hash of distributable file blockchain data matches a hash of said reference file blockchain data and whether a hash of distributable file media data matches a corresponding unsigned hash of a representative media block.

8. A system which comprises:

a computer system comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:

identify a capture device output, said output representing an aspect of a recorded event; cryptographically process said capture device output to produce a validatable master file; wherein said validatable master file includes master media data from said capture device output, master metadata of said master media data, and master file blockchain data; and

wherein said master file blockchain data includes a master file block history portion, a master file signature key portion, a master file change indication portion, and a master file signed data hash portion.

9. The system of claim 8 , wherein said cryptographically processing includes further causing said computer to:

divide said media data into at least one data subset; generate a hash of said at least one data subset;

generate metadata of said hash of said at least one data subset;

combine said hash and said metadata of said hash into at least one data packet;

and cryptographically sign said at least one data packet.

10. The system of claim 8 , further causing said computer to:

modify said master media data to produce reference file media data;

prepare a reference file including said reference file media data, reference file metadata, and reference file blockchain data; and

wherein said reference file blockchain data includes said master file blockchain data and blockchain incrementing information,

wherein said blockchain incrementing information includes

a hash of said master file blockchain data, reference file blockchain metadata, and a reference file signed data hash portion.

11. The system of claim 10 , wherein said reference file further includes instructions indicating replicable changes made, by said computer, between said modified media and said media data of said master file.

12. The system of claim 8 , further causing said computer to:

receive a challenged master file identified as a copy of said validatable master file; receive a request to validate said challenged master file; and

execute a master file validation routine to assess validity of said challenged master file; wherein said master file validation routine further causes said computer hash media data of said challenged master file to generate hashed challenged master file media data;

unsign a signed media data hash portion of said challenged master file to generate unsigned challenged master file media data; and

determine whether said hashed challenged master file media data and said unsigned challenged master file media data match.

13. The system of claim 10 , further comprising:

receiving, by said computer, a reference file identified as a modified version of said master file;

receiving, by said computer, a request to determine whether said reference file is a modified version of said master file; and

executing, by said computer, a reference file verification routine;

wherein said reference file verification routine includes

determining, by said computer, whether said hash of said master file blockchain data and a hash of blockchain data of said reference file match; and

applying, by said computer, changes indicated by said blockchain incrementing information to media data in said reference file to generate hashed reference file media data and unsigning a reference file blockchain data to generate unsigned reference file blockchain media data; and

determining, by said computer, whether said hashed reference file media data and said unsigned reference file blockchain media data match.

14. The system of claim 13 , further comprising:

receiving, by said computer, a reference file identified as an authentic modification of said master file;

receiving, by said computer, a distributable file;

receiving, by said computer, a request to determine whether said distributable file is an authentic modification of said reference file identified as an authentic modification of said master file; and

executing, by said computer, a distributable file verification routine;

wherein said distributable file verification routine includes determining whether a hash of distributable file blockchain data matches a hash of said reference file blockchain data and whether a hash of distributable file media data matches a corresponding unsigned hash of a representative media block.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:

identify a capture device output, said output representing an aspect of a recorded event; cryptographically process said capture device output to produce a validatable master file; wherein said validatable master file includes master media data from said capture device output, master metadata of said master media data, and master file blockchain data; and wherein said master file blockchain data includes a master file block history portion, a master file signature key portion, a master file change indication portion, and a master file signed data hash portion.

16. The computer program product of claim 15 , wherein said cryptographically processing includes further causing said computer to:

divide said media data into at least one data subset; generate a hash of said at least one data subset;

generate metadata of said hash of said at least one data subset;

combine said hash and said metadata of said hash into at least one data packet; and cryptographically sign said at least one data packet.

17. The computer program product of claim 15 , further causing said computer to:

modify said master media data to produce reference file media data;

prepare a reference file including said reference file media data, reference file metadata, and reference file blockchain data; and

wherein said reference file blockchain data includes said master file blockchain data and blockchain incrementing information,

wherein said blockchain incrementing information includes

a hash of said master file blockchain data, reference file blockchain metadata, and a reference file signed data hash portion.

18. The computer program product of claim 15 , further causing said computer to:

receive a challenged master file identified as a copy of said validatable master file; receive a request to validate said challenged master file; and

execute a master file validation routine to assess validity of said challenged master file; wherein said master file validation routine further causes said computer

hash media data of said challenged master file to generate hashed challenged master file media data;

unsign a signed media data hash portion of said challenged master file to generate unsigned challenged master file media data; and

determine whether said hashed challenged master file media data and said unsigned challenged master file media data match.

19. The computer program product of claim 17 , further comprising:

receiving, by said computer, a reference file identified as a modified version of said master file;

receiving, by said computer, a request to determine whether said reference file is a modified version of said master file; and

executing, by said computer, a reference file verification routine; wherein said reference file verification routine includes

determining, by said computer, whether said hash of said master file blockchain data and a hash of blockchain data of said reference file match; and

applying, by said computer, changes indicated by said blockchain incrementing information to media data in said reference file to generate hashed reference file media data and unsigning a reference file blockchain data to generate unsigned reference file blockchain media data; and

determining, by said computer, whether said hashed reference file media data and said unsigned reference file blockchain media data match.

20. The computer program product of claim 19 , further comprising:

receiving, by said computer, a reference file identified as an authentic modification of said master file;

receiving, by said computer, a distributable file;

receiving, by said computer, a request to determine whether said distributable file is an authentic modification of said reference file identified as an authentic modification of said master file; and

executing, by said computer, a distributable file verification routine;

wherein said distributable file verification routine includes determining whether a hash of distributable file blockchain data matches a hash of said reference file blockchain data and whether a hash of distributable file media data matches a corresponding unsigned hash of a representative media block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: CHAKRA, AL; FREY, BRYCE; SHRIVASTAVA, KOMAL; ERSKINE, JONATHAN; FLETCHER, MATTHEW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053348/0732 →
Continuity (1)
Related Publication 20220038260A1 · Feb 3, 2022
Cited By (3)
US 12,259,995 US 12,358,642 US 12,632,583