Methods and systems for securing data processing devices
View Patent ↗Methods and systems for improving the security of devices to prevent unauthorized access to designs and software code are described.
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.
2. The method of claim 1 , wherein said identifier is an Internet Protocol address.
3. The method of claim 1 , wherein said encrypted program in non-volatile memory is said program controlling an inertial movement function.
4. The method of claim 1 , wherein said encrypted program in non-volatile memory is said program controlling a tremor reduction function.
5. The method of claim 1 , wherein said encrypted program in non-volatile memory is said program describing a tremor classification system.
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.
7. The device of claim 6 , wherein said identifier is an Internet Protocol address.
8. The device of claim 6 , wherein said encrypted program in non-volatile memory is said program controlling an inertial movement function.
9. The device of claim 6 , wherein said encrypted program in non-volatile memory is said program controlling a tremor reduction function.
10. The device of claim 6 , wherein said encrypted program in non-volatile memory is said program describing a tremor classification system.
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.
12. The computer-readable medium of claim 11 , wherein said identifier is an Internet Protocol address.
13. The computer-readable medium of claim 11 , wherein said encrypted program in non-volatile memory is said program controlling an inertial movement function.
14. The computer-readable medium of claim 11 , wherein said encrypted program in non-volatile memory is said program controlling a tremor reduction function.
15. The computer-readable medium of claim 11 , wherein said encrypted program in non-volatile memory is said program describing a tremor classification system.