Method to Protect Software Against Unwanted Use with a "Temporal Dissociation" Principle
First Claim
1. A method to protect software comprising:
- storing a first portion of the software on a first unit, the first unit comprising a memory and a processor;
storing a second portion of the software on a second unit, the second unit comprising 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 forming a single program; and
executing the single formed program by utilizing the first and second portions of the software, wherein the secret second portion of the software comprises at least two computing operations, and wherein portions of the at least two computing operations are interleaved with each other for transmission from the second unit to the first unit and vise versa.
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 creating a protected software by choosing in the source of the vulnerable software at least one algorithmic processing and by producing the source of the protected software so that during the execution of the protected software appear several distinct steps, namely 1) the placing of at least one operand at the processing and memorizing unit'"'"'s disposal 2) the carrying out by the processing and memorizing unit, of the algorithmic processing'"'"'s functionality on at least said operand 3) and possibly, the placing at the data processing system'"'"'s disposal of at least one result by the processing and memorizing unit.
-
Citations
17 Claims
-
1. A method to protect software comprising:
-
storing a first portion of the software on a first unit, the first unit comprising a memory and a processor;
storing a second portion of the software on a second unit, the second unit comprising 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 forming a single program; and
executing the single formed program by utilizing the first and second portions of the software, wherein the secret second portion of the software comprises at least two computing operations, and wherein portions of the at least two computing operations are interleaved with each other for transmission from the second unit to the first unit and vise versa. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system to protect software comprising:
-
a first unit comprising a memory and a processor and which stories a first portion of the software; and
a second unit comprising a secure processor and a secure memory and which stores a second portion of the software, wherein the second portion of the software is secret, wherein the first and second portions of the software form a single program, wherein the processor executes the single formed program utilizing the second unit, wherein the secret second portion of the software comprises at least two computing operations, and wherein portions of the at least two computing operations are interleaved with each other for transmission from the second unit to the first unit and vise versa. - View Dependent Claims (14, 15, 16)
-
-
17. A method to protect software comprising:
-
storing a first portion of the software on a first unit, wherein the first unit comprises a memory and a processor;
storing a second portion of the software comprising a first and second computing operations on a second unit, the second unit comprising a secure processor and a secure memory, where the second portion of the software is secret, and where the first and second portions of the software form a single program; and
executing the program, wherein, operations performed during the execution comprise;
transmitting from the first portion of the software first input for the first computing operation and second input for the second computing operation to the second unit, said first and second computing operations are executed in the second unit, transmitting by the second unit results from the first and second computing operations to the first unit, and wherein operations related to the first computing operation are interleaved with operations related to the second computing operations.
-
Specification