Methods and systems for securing data processing devices
First Claim
Patent Images
1. A method for operating an input device comprising the steps of:
- storing an encrypted program in a non-volatile memory, wherein said encrypted program in non-volatile memory is one of a program controlling an inertial movement function, a program controlling a tremor reduction function, or a program describing a tremor classification system;
obtaining, by a first processor, a decryption key from a second processor, wherein said step of obtaining further comprises the steps of;
sending an identifier associated with said first processor to said second processor;
verifying, by said second processor, accessibility to said program for said first processor based on said identifier; and
selectively transmitting said decryption key to said first processor based on a result of said verifying step;
decrypting said program and storing said decrypted program in a volatile memory;
executing said program from said volatile memory;
re-encrypting said program and re-storing said program in said non-volatile memory; and
requiring a new decryption key for accessing said re-encrypted program.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for improving the security of devices to prevent unauthorized access to designs and software code are described.
20 Citations
15 Claims
-
1. A method for operating an input device comprising the steps of:
-
storing an encrypted program in a non-volatile memory, wherein said encrypted program in non-volatile memory is one of a program controlling an inertial movement function, a program controlling a tremor reduction function, or a program describing a tremor classification system; obtaining, by a first processor, a decryption key from a second processor, wherein said step of obtaining further comprises the steps of; sending an identifier associated with said first processor to said second processor; verifying, by said second processor, accessibility to said program for said first processor based on said identifier; and selectively transmitting said decryption key to said first processor based on a result of said verifying step; decrypting said program and storing said decrypted program in a volatile memory; executing said program from said volatile memory; re-encrypting said program and re-storing said program in said non-volatile memory; and requiring a new decryption key for accessing said re-encrypted program. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A device comprising:
-
an encrypted program stored in a non-volatile memory, wherein said encrypted program in non-volatile memory is one of a program controlling an inertial movement function, a program controlling a tremor reduction function, or a program describing a tremor classification system; a first processor obtaining a decryption key from a second processor, wherein said step of obtaining further comprises the steps of; sending an identifier associated with said first processor to said second processor; verifying, by said second processor, accessibility to said program for said first processor based on said identifier; and selectively transmitting said decryption key to said first processor based on a result of said verifying step; wherein said program is decrypted and stored in a volatile memory, said program is executed from said volatile memory, re-encrypted and restored in said non-volatile memory; and a new decryption key for accessing said re-encrypted program. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-readable medium containing instructions which, when executed on a computer, perform the steps of:
-
storing an encrypted program in a non-volatile memory, wherein said encrypted program in non-volatile memory is one of a program controlling an inertial movement function, a program controlling a tremor reduction function, or a program describing a tremor classification system; obtaining, by a first processor, a decryption key from a second processor, wherein said step of obtaining further comprises the steps of; sending an identifier associated with said first processor to said second processor; verifying, by said second processor, accessibility to said program for said first processor based on said identifier; and selectively transmitting said decryption key to said first processor based on a result of said verifying step; decrypting said program and storing said decrypted program in a volatile memory; executing said program from said volatile memory; re-encrypting said program and re-storing said program in said non-volatile memory; and requiring a new decryption key for accessing said re-encrypted program. - View Dependent Claims (12, 13, 14, 15)
-
Specification