IP Library › Granted Patent US 7,849,315
Granted Patent B2
US 7,849,315 · App. 11/438,998 · Granted Dec 7, 2010

Method for managing operability of on-chip debug capability

Assignee: General Dynamics C4 Systems, Inc.
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 7,849,315
App. No.
11/438,998
Granted
Dec 7, 2010
Kind
B2
Abstract

A method for managing operability of an on-chip debug capability ( 24 ) in a product ( 26 ) configured to execute software ( 30 ) includes storing ( 74, 76 ) a debug public key ( 40 ) and an operational public key ( 44 ) in product memory ( 54 ). The software ( 30 ) with either a debug signature ( 82 ) or an operational signature ( 88 ) is saved ( 84 ) in the memory ( 56 ). When enablement indication is received, the debug signature ( 82 ) is validated ( 102 ) using the debug public key ( 40 ). The debug capability ( 24 ) is enabled upon validation of the signature ( 82 ) and the software ( 30 ) is allowed to execute. When disablement indication is received, the operational signature ( 88 ) is verified ( 112 ) using the operational public key ( 44 ). The on-chip debug capability ( 24 ) is disabled upon verification of the signature ( 88 ) and the software ( 30 ) is allowed to execute.

Claims (40)

1. A method for managing operability of an on-chip debug capability in a product configured to execute software comprising:

storing a first public component of a first trust anchor and a second public component of a second trust anchor in a memory of said product;

appending a signature to said software;

saving said software with said appended signature in said memory;

detecting an enablement indicator for said on-chip debug capability at said product;

validating, in response to said detecting operation, said signature appended to said software using said public component of said trust anchor;

enabling said on-chip debug capability upon validation of said signature;

determining a disablement indicator for said on-chip debug capability;

verifying, in response to said determining operation, said signature appended to said software using said second public component of said second trust anchor; and

disabling said on-chip debug capability upon verification of said signature.

2. A method as claimed in claim 1 wherein said appending operation comprises signing said software using a private component of one of said first trust anchor and said second trust anchor.

3. A method as claimed in claim 1 further comprising allowing execution of said software in response to said disabling operation.

4. A method as claimed in claim 1 further comprising preventing execution of said software upon non-verification of said signature using said second public component.

5. A method for managing operability of an on-chip debug capability in a product configured to execute software comprising:

storing a first public component of a first trust anchor and a second public component of a second trust anchor in memory of said product;

appending a signature to said software;

saving said software with said appended signature in said memory;

receiving one of an enablement indicator and a disablement indicator for said on-chip debug capability at said product;

when said enablement indicator is received, validating said signature using said first public component of said first trust anchor and enabling said on-chip debug capability upon validation of said signature; and

when said disablement indicator is received, verifying said signature using said second public component of said second trust anchor and disabling said on-chip debug capability upon verification of said signature.

6. A method as claimed in claim 5 wherein said appending operation comprises signing said software using a private component of one of said first trust anchor and said second trust anchor.

7. A method as claimed in claim 5 further comprising:

determining, in response to said validating operation, that said signature is invalid; and

disabling said on-chip debug capability upon invalidation of said signature.

8. A method as claimed in claim 5 further comprising:

determining, in response said validating operation that said signature is invalid; and

preventing execution of said software upon invalidation of said signature.

9. A method as claimed in claim 5 further comprising:

determining, in response to said verifying operation that said signature is non-verified; and

preventing execution of said software upon non-verification of said signature.

10. A method as claimed in claim 5 wherein said receiving operation occurs during a power-up attempt, and said method further comprises:

remembering, at said product, a state of said on-chip debug capability from a previous power-up attempt, said state being one of an enablement state and a disablement state of said on-chip debug capability;

ascertaining, in response to said receiving operation, a change in said state to the other of said enablement and disablement states; and

automatically erasing predetermined memory locations in said product in response to said ascertaining operation.

11. A system within a product for managing operability of an on-chip debug capability in said product, said product being configured to execute software, and said system comprising:

non-changeable memory for storing a first public component of a first trust anchor and a second public component of a second trust anchor;

changeable memory for storing said software having an appended signature, said signature being derived using a private component of one of said first and second trust anchors; and

a processor in communication with each of said non-changeable memory and said changeable memory, said processor receiving one of an enablement indicator and a disablement indicator for said on-chip debug capability, and when said enablement indicator is received, said processor validates said signature using said first public component of said first trust anchor and enables said on-chip debug capability upon validation of said signature, and when said disablement indicator is received, said processor verifies said signature using said second public component of said second trust anchor and disables said on-chip debug capability upon verification of said signature.

12. A system as claimed in claim 11 wherein said processor disables said on-chip debug capability upon invalidation of said signature.

13. A system as claimed in claim 11 wherein said processor prevents execution of said software upon non-verification of said signature.

Assignments (3)
CONFIRMATORY LICENSE Recorded Sep 7, 2006
From: GENERAL DYNAMICS C4 SYSTEMS, INC.
To: ARMY, UNITED STATES GOVERMENT AS REPRESENTED BY THE SECRETARY
Reel/Frame 018234/0715 →
CONFIRMATORY LICENSE Recorded Sep 7, 2006
From: GENERAL DYNAMICS C4 SYSTEMS, INC.
To: ARMY, UNITED STATES GOVERNMENT AS REPRESENTED BY THE SECRETARY OF THE
Reel/Frame 018234/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2006
From: HARDY, DOUGLAS A.; SYDNOR, FRANCIS G.; OH, WILLIAM K.
To: GENERAL DYNAMICS C4 SYSTEMS, INC.
Reel/Frame 017916/0607 →
Continuity (1)
Related Publication 20070271461A1 · Nov 22, 2007