US6178509B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Tamper resistant methods and apparatus
Assignee: Intel Corp
•
Filing: 1997-09-05
•
Granted: 2001-01-23
•
Expires: 2017-09-05
Abstract
Abstract In one apparatus, a number of obfuscated programming instructions is provided to perform integrity verification on a number of other plain text programming instructions. In another apparatus, a number of obfuscated programming instructions is provided to self-verify an invocation of the obfuscated programming instructions is not originated from an intruder.
Inventors
- 👤 Joseph M. Nardone
- 👤 Richard T. Mangold
- 👤 Jody L. Pfotenhauer
- 👤 Keith L. Shippy
- 👤 David W. Aucsmith
- 👤 Richard L. Maliszewski
- 👤 Gary L. Graunke
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-25 08:07
CPC Classifications
H; H04; H04L; H04L9/00; G; G11; G11B; G11B20/00; G11B20/00086; G06; G06F; G06F12/00; G06F12/14; G06F12/1408; G06F21/00; G06F21/10; G06F21/12; G06F21/14; G06F21/50; G06F21/52; G06F21/57; G06F21/70; G06F21/78; G06F21/79; G06F2221/00; G06F2221/21; G06F2221/2107; G06F2221/2135; G06F2221/2151
Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
68 words
An apparatus comprising: a storage medium having stored therein a plurality of plain text cells of programming instructions, and a plurality of obfuscated cells of programming instructions to perform integrity verification on the plain text cells of programming instructions, wherein said obfuscated cells of programming instructions are mutated through an inter-cell dependent mutation process; and an execution unit coupled to the storage medium for executing the programming instructions.
Claim 2
Independent Claim
68 words
An apparatus comprising: a storage medium having stored therein a plurality of plain text cells of programming instructions, and a plurality of obfuscated cells of programming instructions to perform integrity verification on the plain text cells of programming instructions, wherein said obfuscated cells of programming instructions are mutated through an inter-cell dependent mutation process; and an execution unit coupled to the storage medium for executing the programming instructions.
Claim 3
Dependent Claim
31 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions perform said integrity verification on the plain text programming instructions during start-up time.
Claim 4
Dependent Claim
35 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions perform said integrity verification on the plain text programming instructions incrementally through multiple iterations during run time.
Claim 5
Dependent Claim
59 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions include obfuscated programming instructions to compare a signature of the plain text cells of programming instructions with a dynamically generated signature for the plain text cells of programming instructions to verify the integrity of the plain text cells of programming instructions.
Claim 6
Dependent Claim
36 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions include obfuscated cells of programming instructions to retrieve a signature of the plain text cells of programming instructions.
Claim 7
Dependent Claim
37 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions include obfuscated cells of programming instructions to dynamically generate a signature for the plain text cells of programming instructions.
Claim 8
Dependent Claim
42 words
The apparatus as set forth in claim 1 , wherein the plurality of obfuscated cells of programming instructions include obfuscated cells of programming instructions to self-verify that an invocation of the obfuscated cells of programming instructions is not originated from an intruder.
Claim 9
Dependent Claim
45 words
The apparatus as set forth in claim 7 , wherein the plurality of cells of obfuscated programming instructions include obfuscated cells of programming instructions to obtain a return address associated with the invocation and determine if the return address is within a known address space.
Claim 10
Independent Claim
72 words
A method comprising: a) executing a plurality of obfuscated cells of programming instructions to retrieve a signature of a plurality of plain text cells of programming instructions, wherein said obfuscated cells of programming instructions are mutated through an inter-cell dependent mutation process; and b) executing the plurality of obfuscated cells of programming instructions to compare the signature with a dynamically generated signature of the plurality of plain text cells of programming instructions.
Claim 11
Independent Claim
72 words
A method comprising: a) executing a plurality of obfuscated cells of programming instructions to retrieve a signature of a plurality of plain text cells of programming instructions, wherein said obfuscated cells of programming instructions are mutated through an inter-cell dependent mutation process; and b) executing the plurality of obfuscated cells of programming instructions to compare the signature with a dynamically generated signature of the plurality of plain text cells of programming instructions.
Claim 12
Dependent Claim
38 words
The method of claim 9 , wherein the method further comprises (c) executing the plurality of obfuscated cells of programming instructions to dynamically generate the dynamically generated signature of the plurality of plain text cells of programming instructions.
Claim 13
Dependent Claim
41 words
The method of claim 9 , wherein the method further comprises (c) executing the plurality of obfuscated cells of programming instructions through multiple iterations to incrementally generate the dynamically generated signature of the plurality of plain text cells of programming instructions.
Claim 14
Dependent Claim
14 words
The method of claim 9 , wherein the method is performed during start-up time.
Claim 15
Dependent Claim
42 words
The method of claim 9 , wherein the method is performed during run time, with the dynamically generated signature of the plain text cells of programming instructions being incrementally generated through multiple iterations of the plurality of obfuscated cells of programming instructions.
Claim 16
Dependent Claim
63 words
The method as set forth in claim 9 , wherein the method further comprises (c) executing the plurality of obfuscated cells of programming instructions to self-verify that an invocation of the plurality of obfuscated cells of programming instructions did not originate from an intruder, and (a) and (b) are performed only if (c) verified that the invocation did not originate from an intruder.
Claim 17
Dependent Claim
37 words
The method of claim 14 , wherein (c) comprises the plurality of obfuscated cells of programming instructions obtaining a return address associated with the invocation, and determining if the return address is within a known address space.
Claim 18
Independent Claim
45 words
An apparatus comprising: a storage medium having stored therein a plurality of obfuscated programming instructions designed to self-verify an invocation of the obfuscated programming instructions is not originated from an intruder; and an execution unit coupled to the storage medium for executing the programming instructions.
Claim 19
Independent Claim
45 words
An apparatus comprising: a storage medium having stored therein a plurality of obfuscated programming instructions designed to self-verify an invocation of the obfuscated programming instructions is not originated from an intruder; and an execution unit coupled to the storage medium for executing the programming instructions.
Claim 20
Dependent Claim
42 words
The apparatus as set forth in claim 16 , wherein the plurality of obfuscated programming instructions include obfuscated programming instructions designed to obtain a return address associated with the invocation and determine if the return address is within a known address space.
Claim 21
Independent Claim
51 words
A method comprising: a) invoking a plurality of obfuscated programming instructions; b) self-verifying by the plurality of obfuscated programming instructions that the invocation did not originate from an intruder; and c) executing the plurality of obfuscated programming instructions if step (b) verified that the invocation did not originate from an intruder.
Claim 22
Independent Claim
51 words
A method comprising: a) invoking a plurality of obfuscated programming instructions; b) self-verifying by the plurality of obfuscated programming instructions that the invocation did not originate from an intruder; and c) executing the plurality of obfuscated programming instructions if step (b) verified that the invocation did not originate from an intruder.
Claim 23
Dependent Claim
35 words
The method of claim 18 , wherein (b) comprises the plurality of obfuscated programming instructions obtaining a return address associated with the invocation, and determining if the return address is within a known address space.
References Cited (Backward Citations)
US4262329A
Cited
US4723284A
Cited
US4926480A
Cited
US4847902A
Cited
US4634807A
Cited
US4866665A
Cited
US5224160A
Cited
US4786790A
Cited
US4947430A
Cited
US5347579A
Cited
US5136643A
Cited
US5081675A
Cited
US5267312A
Cited
US5265164A
Cited
US5421006A
Cited
US5343527A
Cited
US5469507A
Cited
US5483649A
Cited
US5684875A
Cited
US5535276A
Cited
US5668874A
Cited
US5559960A
Cited
US5652793A
Cited
US6006328A
Cited
US5638446A
Cited
US5768382A
Cited
US5822431A
Cited
US5966306A
Cited
US6049609A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2004-01-23 | 2004-07-24 | 2005-01-23 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2008-01-23 | 2008-07-24 | 2009-01-23 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2012-01-23 | 2012-07-24 | 2013-01-23 | $7700.00 | Window Closed / Lapsed |