SYSTEM AND METHOD FOR AN AUTONOMOUS SOFTWARE PROTECTION DEVICE
First Claim
1. A software protection device for carrying out computations in a protected environment, the device comprising:
- a decryption functionality unit capable of decrypting protected files;
a program execution environment for executing computer program code;
whereby at least a partly encrypted program may be decrypted by said decryption unit and executed by said program execution environment within said software protection device thereby allowing protection of code contents and executing program environment from outside of said software protection device.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method is introduced for protecting software from being altered, duplicated, inspected or used in an unauthorized manner. An autonomous software protection device is presented, containing encryption and decryption unit along with an independent execution environment such as a Java Virtual Machine to carry out computations in a protected environment. The software protection device carries out protected code and may make use of protected data to carry out protected computations. Unsecured memory may be used securely by software protection device through an internal virtual memory mechanism managed by the independent execution environment. The software protection device may serve an external computing device for making computations that are protected from software and data alteration and inspection while preventing duplication and usage not as intended by the software and data owner.
19 Citations
29 Claims
-
1. A software protection device for carrying out computations in a protected environment, the device comprising:
-
a decryption functionality unit capable of decrypting protected files; a program execution environment for executing computer program code; whereby at least a partly encrypted program may be decrypted by said decryption unit and executed by said program execution environment within said software protection device thereby allowing protection of code contents and executing program environment from outside of said software protection device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for executing a protected program in a protected manner using a software protection device the method comprising:
-
a. sending one or more at least part of at least partially encrypted programs to said software protection device; b. decrypting said at least one part of one of said at least partially encrypted programs within said software protection device into at least one partially decrypted program part; c. executing said at least one partially decrypted program part within said software protection device; - View Dependent Claims (9, 10, 11)
-
-
12. A secure software protection core capable of limiting access to restricted data for carrying out computations in a protected environment, the software protection core comprising:
-
a processing unit; internal volatile memory; internal non-volatile memory; means of protecting access to at least part of said internal non-volatile memory; a program execution environment for executing computer program code using said processing unit; an internal decryption capability; whereby at least partially encrypted program may be decrypted using said internal decryption capability using keys stored in said internal non-volatile memory protected by said means of protecting access to at least part of non-volatile memory to be executed by said program execution environment using said internal volatile memory. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A software protection device for carrying out computations in a protected environment, the device comprising:
-
An authentication functionality unit capable of authenticating files; a program execution environment for executing computer program code; whereby at least a partly authenticated program may be authorized by said authentication unit and executed by said program execution environment within said software protection device thereby allowing protection from alteration of code contents and executing program environment from outside of said software protection device. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method for executing a protected program in a protected manner using a software protection device the method comprising:
-
a. sending one or more at least part of at least partially authorized programs to said software protection device; b. authorizing said at least one part of one of said at least partially authorized programs within said software protection device. c. executing said at least one partially authorized program part within said software protection device; - View Dependent Claims (26, 27, 28, 29)
-
Specification