System and Method for Developing Computer Chips Containing Sensitive Information
First Claim
1. A system for creating a software program, wherein the software program includes sensitive information protected by a cryptographic boundary, the system comprising:
- a developer chip formed with a means for fixing its unique identification as a developer chip, wherein the software program, with its sensitive information, is downloaded onto the developer chip for developing and debugging the software on the developer chip; and
a release chip formed with a means for fixing its unique identification as a release chip and for preventing its use as a developer chip, wherein, after development and debugging of the software on the developer chip, the software program with its sensitive information is transferred to the release chip for use of the software.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for developing a software program containing sensitive information requires the use of a developer key (a unique public/private key pair) to download the software onto a uniquely identified developer chip. The software program can then be developed and debugged on the developer chip. After being developed and debugged, the software program is transferred to a uniquely identified release chip for subsequent use. Specifically, transfer of the software program requires use of a release key (also a public/private key pair) that is different from the developer key. The private key part of the developer key, as well as all developer chips (albeit a limited number) are protected by strict security procedures.
-
Citations
20 Claims
-
1. A system for creating a software program, wherein the software program includes sensitive information protected by a cryptographic boundary, the system comprising:
-
a developer chip formed with a means for fixing its unique identification as a developer chip, wherein the software program, with its sensitive information, is downloaded onto the developer chip for developing and debugging the software on the developer chip; and a release chip formed with a means for fixing its unique identification as a release chip and for preventing its use as a developer chip, wherein, after development and debugging of the software on the developer chip, the software program with its sensitive information is transferred to the release chip for use of the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for developing and debugging a software program wherein the software program includes sensitive information protected by a cryptographic boundary, the device comprising:
-
a developer key for downloading the software program, with its sensitive information, onto a developer chip, wherein the developer key signs code to develop and debug the software program and its sensitive information on the developer chip, and further wherein the developer chip has an electronic latch activated to identify it as a developer chip; and a release key for signing the developed and debugged software program, and its sensitive information, to download the software program to a release chip for use of the software program, wherein the release chip has an electronic latch irreversibly activated to prevent its use as a developer chip. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for creating a software program wherein the software program includes sensitive information protected by a cryptographic boundary, the method comprising the steps of:
-
identifying at least one developer chip and at least one release chip by activating an electronic latch to identify the developer chip, and by irreversibly activating an electronic latch to prevent use of the release chip as a developer chip; downloading the software program with its sensitive information onto the developer chip; employing debug code to develop and debug the software program and its sensitive information on the developer chip; removing the debug code from the software program, after the employing step; testing the software program on the developer chip, after the removing step; repeating the employing step, the removing step, and the testing step in sequence, if necessary; and transferring the developed and debugged software to the release chip for use of the software program. - View Dependent Claims (17, 18, 19, 20)
-
Specification