Method to Protect Software Against Unwanted Use with a "Renaming" Principle
First Claim
1. A method to protect software comprising:
- storing a first portion of the software on a first unit, the first unit comprises a memory and a processor;
storing a second portion of the software on a second unit, the second unit comprises a secure processor and a secure memory, where the second portion of the software is secret and the first and second portions of the software form a single program; and
executing the program, during which the first portion of the software executes an instruction directed to the second portion of the software comprising at least one function, wherein the instruction comprises an identifier of a function in the second portion of the software, and wherein the memory of the second unit stores a reference table in which the identifier of the function in the instruction is correlated to an actual identifier of the function in the second portion of the software.
0 Assignments
0 Petitions
Accused Products
Abstract
The invention concerns a process to protect a vulnerable software working on a data processing system against its unauthorized usage using a processing and memorizing unit. The process comprises defining: 1) a set of dependent functions whose dependent functions are liable to be executed in a processing and memorizing unit 2) a set of triggering commands, said triggering commands being liable to be executed in the data processing system and to trigger the execution in a processing and memorizing unit, of the dependent functions 3) for each triggering command, an order 4) a method of renaming of the orders 5) restoring means designed to be implemented in a processing and memorizing unit during a usage phase, and enabling to restore the dependent function to execute, from the renamed order.
-
Citations
19 Claims
-
1. A method to protect software comprising:
-
storing a first portion of the software on a first unit, the first unit comprises a memory and a processor;
storing a second portion of the software on a second unit, the second unit comprises a secure processor and a secure memory, where the second portion of the software is secret and the first and second portions of the software form a single program; and
executing the program, during which the first portion of the software executes an instruction directed to the second portion of the software comprising at least one function, wherein the instruction comprises an identifier of a function in the second portion of the software, and wherein the memory of the second unit stores a reference table in which the identifier of the function in the instruction is correlated to an actual identifier of the function in the second portion of the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 15, 16)
-
-
11. A system to protect software comprising:
-
a first unit which stores a first portion of a software and which comprises a memory and a processor; and
a second unit which stores a second portion of the software and which comprises a secure processor and a secure memory, where the second portion of the software is secret and the first and second portions of the software form a single program, wherein the first unit executes the program utilizing the second unit such that during the execution of the program, the first portion of the software executes an instruction directed to the second portion of the software comprising at least one function, wherein the instruction comprises an identifier of a function in the second portion of the software, and wherein the memory of the second unit stores a reference table in which the identifier of the function in the instruction is correlated to an actual identifier of the function in the second portion of the software. - View Dependent Claims (12, 14, 17, 18, 19)
-
Specification