← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag