IP Library › Granted Patent US 9,037,895
Granted Patent B2
US 9,037,895 · App. 13/273,016 · Granted May 19, 2015

System and methods for silencing hardware backdoors

Inventors: Lakshminarasimhan Sethumadhavan (New York, NY); Adam Waksman (Pleasantville, NY)
Assignee: The Trustees of Columbia University in the City of New York
G06F21/76
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 9,037,895
App. No.
13/273,016
Granted
May 19, 2015
Kind
B2
Abstract

Methods for preventing activation of hardware backdoors installed in a digital circuit, the digital circuit comprising one or more hardware units to be protected. A timer is repeatedly initiated for a period less than a validation epoch, and the hardware units are reset upon expiration of the timer to prevent activation of a time-based backdoor. Data being sent to the hardware unit is encrypted in an encryption element to render it unrecognizable to a single-shot cheat code hardware backdoor present in the hardware unit. The instructions being sent to the hardware unit are reordered randomly or pseudo-randomly, with determined sequential restraints, using an reordering element, to render an activation instruction sequence embedded in the instructions unrecognizable to a sequence cheat code hardware backdoor present in the hardware unit.

Claims (29)

1. A method for preventing activation of hardware backdoors installed in a digital circuit, the digital circuit comprising one or more hardware units to be protected and a clock which produces a clock signal, the method comprising:

initiating a timer set for a period less than or equal to a determined validation time period of the digital circuit;

performing a reset operation on the hardware units upon expiration of the timer by turning off power to the hardware units for at least one cycle of the clock signal to interrupt operation of the hardware units;

continually repeating the initiating of the timer for further reset operations while the digital circuit is in operation.

2. The method of claim 1 , further comprising:

storing, before performing the reset operation, a current value of at least one placeholder in a memory; and

restoring, after performing the reset operation, the at least one placeholder using the value stored in the memory.

3. The method of claim 2 , wherein the at least one placeholder comprises an instruction pointer register.

4. The method of claim 1 , wherein the determined validation time period of the digital circuit corresponds to a time period during which validation testing of the digital circuit was performed without detecting activation of a time-triggered hardware backdoor.

5. The method of claim 1 , further comprising:

storing, in a buffer, interrupts sent to the hardware units, including the interrupts sent during the reset operations; and

outputting the interrupts to the hardware units from the buffer based on acknowledgments received from the hardware units, so that interrupts received during the reset operations are not lost.

6. The method of claim 1 , further comprising applying the clock signal to a power supply input of at least one of the hardware units until a determined burn-out threshold is reached to destroy non-volatile memory in the at least one hardware unit.

7. The method of claim 1 , wherein the digital circuit comprises one or more of: a microprocessor, a digital signal processor, a memory controller, a micro-controller, a network controller, a display controller, a graphic core, a bus interfaces, a cryptographic unit, a decoder, an encoder, a content addressable memory (CAM), or a memory block.

8. A system for preventing activation of hardware backdoors installed in a digital circuit, the digital circuit comprising one or more hardware units to be protected and a clock which produces a clock signal, the system comprising:

at least one circuit element connected to the one or more hardware units of the digital circuit, wherein the at least one circuit element is configured to perform:

initiating a timer set for a period less than or equal to a determined validation time period of the digital circuit;

performing a reset operation on the hardware units upon expiration of the timer by turning off power to the hardware units for at least one cycle of the clock signal to interrupt operation of the hardware units; and

continually repeating the initiating of the timer for further reset operations while the digital circuit is in operation.

9. The system of claim 8 , wherein the at least one circuit element is further configured to perform:

storing, before performing the reset operation, a current value of at least one placeholder in a memory; and

restoring, after performing the reset operation, the at least one placeholder using the value stored in the memory.

10. The system of claim 9 , wherein the at least one placeholder comprises an instruction pointer register.

11. The method of claim 8 , wherein the at least one circuit element is verified not to contain hardware backdoors before being incorporated into the digital circuit.

12. The system of claim 8 , wherein the determined validation time period of the digital circuit corresponds to a time period during which validation testing of the digital circuit was performed without detecting activation of a time-triggered hardware backdoor.

13. The system of claim 8 , further comprising:

a buffer configured to store interrupts sent to the hardware units, including the interrupts sent during the reset operations,

wherein the buffer is further configured to output the interrupts to the hardware units based on acknowledgments received from the hardware units, so that interrupts received during the reset operations are not lost.

14. The system of claim 8 , wherein the digital circuit comprises one or more of: a microprocessor, a digital signal processor, a memory controller, a micro-controller, a network controller, a display controller, a graphic core, a bus interfaces, a cryptographic unit, a decoder, an encoder, a content addressable memory (CAM), or a memory block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: SETHUMADHAVAN, LAKSHMINARASIMHAN; WAKSMAN, ADAM
To: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Reel/Frame 027614/0511 →
Continuity (3)
Provisional Application 61392877 · Oct 13, 2010
Provisional Application 61442638 · Feb 14, 2011
Related Publication 20120124393A1 · May 17, 2012