Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of creating a tamper-resistant software program on a non-transitory computer-readable medium, the method comprising: including a plurality of self-checking code sequences in the source code of the program, each self-checking code sequence being configured to calculate a function of a portion of the program; including in the program one or more code sequences configured to trigger a tamper response mechanism when an improper modification of the program is detected by at least one of the plurality of self-checking code sequences; and writing the program onto a non-transitory computer readable medium.
2. The method of claim 1 , wherein at least some of the plurality of self-checking code sequences are assigned to overlapping portions of the program in a relatively random fashion.
3. The method of claim 1 , wherein at least some of the plurality of self-checking code sequences are assigned to overlapping portions of the program such that a graph representing the assignment of said self-checking code sequences to overlapping portions of the program is strongly connected.
4. The method claim 1 , wherein at least some of the plurality of self-checking code sequences are assigned to overlapping portions of the program such that the integrity of at least one self-checking code sequence is checked, at least in part, by at least one other self-checking code sequence.
5. The method of claim 1 , wherein the function that at least one self-checking code sequence is operable to calculate comprises a hash function.
6. The method of claim 5 , wherein the hash function is invertible.
7. The method of claim 5 , wherein the hash function is relatively lightweight.
8. A self-checking program stored on a non-transitory computer-readable medium, the self-checking program comprising: a plurality of self-checking code sequences, each self-checking code sequence being configured to calculate a function of a portion of the program; and one or more code sequences configured to trigger a tamper response mechanism when an improper modification of the program is detected by at least one of the plurality of self-checking code sequences.
9. The self-checking program of claim 8 , wherein at least some of the plurality of self-checking code sequences are assigned to overlapping portions of the program in a relatively random fashion.
10. The self-checking program of claim 8 , wherein at least some of the plurality of self-checking code sequences are assigned to overlapping portions of the program such that a graph representing the assignment of said self-checking code sequences to overlapping portions of the program is strongly connected.
11. The self-checking program of claim 8 , wherein the function that at least one self-checking code sequence is operable to calculate comprises a hash function.
12. The self-checking program of claim 11 , wherein the hash function is invertible.
13. The self-checking program of claim 11 , wherein the hash function is relatively lightweight.
14. The self-checking program of claim 8 , wherein at least one self-checking code sequence is operable to check, at least in part, the integrity of at least one other self-checking code sequence.
Unknown
April 29, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.