System and methods for executing encrypted code
AssigneeTruly Protect Oy
InventorsMichael Kiperberg, Amit Resh, Nezer Zaidenberg
Life of this patent
Estimating the term…
Abstract
The present disclosure relates systems and methods for executing an encrypted code section in a shieldable CPU memory cache. Functional characteristics of the software product of a vendor, such as gaming or video, may be partially encrypted to allow for protected and functional operability and avoid hacking and malicious usage of non-licensed user. The encrypted instructions may be written to the CPU memory cache and decrypted only once the CPU memory cache is switched into a shielded state. The decrypted code instructions may be executed from a designated cache-line of said CPU memory cache still in the shielded state.
Claims20
A method for executing an encrypted code section in a CPU memory cache, said encrypted code section comprising a plurality of encrypted code instructions, the method comprising:
- writing said encrypted code section to said CPU memory cache;
- changing said CPU memory cache into a shielded state characterized by preemption and a CPU interruption being disabled;
- decrypting said encrypted code section;
- storing decrypted code instructions of said encrypted code section in said CPU memory cache;
- and
- executing said decrypted code instructions from a designated cache-line of said CPU memory cache in the shielded state.
A system for executing an encrypted code section in a CPU memory cache, said encrypted code section comprising a plurality of encrypted code instructions, the system comprising:
- a CPU comprising a shieldable CPU cache component;
- and
- a main memory connected to said CPU via a system bus;
- wherein said CPU performs functions to write said encrypted code section to said shieldable CPU memory cache and to set said shieldable CPU memory cache to a shielded state characterized by preemption and a CPU interruption being disabled;
- and wherein said CPU further performs functions to decrypt said encrypted code section and to store decrypted code instructions such that said decrypted code instructions are executed from a designated cache-line of said CPU memory cache in the shielded state.
Dependencies are inferred from the claim text.