Software or other information integrity verification using variable block length and selection
AssigneeApple Inc.
InventorsJulien Lerouge, Pierre Betouin, Gianpaolo Fasoli, Augustin J. Farrugia
Life of this patent
Estimating the term…
Loading patent…
AssigneeApple Inc.
InventorsJulien Lerouge, Pierre Betouin, Gianpaolo Fasoli, Augustin J. Farrugia
Estimating the term…
An integrity verification process and associated apparatus to detect tampering or other alterations to computer code (software) or other computer files, and especially useful to detect tampering with code by hackers who might try to plant their own malicious code in the software. To make the verification process more robust versus hackers, each e.g., object code file to be protected is first selected using some sort of rule, then partitioned into variable length blocks or portions, the lengths varying in an unpredictable manner. Each portion has its checksum or hash value computed. An accompanying verification file is created which includes a vector for each portion including the portion's start address in memory, length, and the computed checksum or hash value. When the code is later to be run (executed) the verification file is conventionally read and each portion is verified by computing its checksum or hash value using the same algorithm as before, and comparing that to the value in the associated verification file vector. Lack of a match in the two values indicates tampering, so execution of the code can be halted.
A computer enabled method for providing integrity verification for a file, comprising the acts of:
A computer enabled method of verifying the integrity of a file having an associated verification file, the method comprising the acts of:
The method of claim 8, further comprising repeating the acts of claim 11 for a second portion of the file and its associated entry in the verification file, the second portion having a length different from that of the first portion.
Apparatus for providing the integrity of a file, comprising:
Apparatus for verifying integrity of a file, comprising:
Dependencies are inferred from the claim text.