Processor-implemented method for ensuring software integrity
US8683224B2 · kind B2 · utility
Assignee
Inventors
Key dates
| Filing date | Jun 30, 2010 |
| Grant date | Mar 25, 2014 |
| Priority date | — |
| Expiry date | Mar 22, 2032 |
Classification
- Technology area (CPC G)Physics
- CPC primaryG06F21/54
- WIPO fieldComputer technology
- WIPO sectorElectrical engineering
Abstract
The present invention provides a solution to the problem of guaranteeing the integrity of software programs by encrypting all or part of each instruction of a program using a key based on all or part of one or a plurality of previous instructions, thus resulting in a different encryption key per instruction. The invention is applicable to software programs whose structures are not necessarily tree-like in nature and is also applicable when the program includes loops, jumps, calls or breaks etc. The invention allows for an exception to be flagged when an encrypted instruction is wrongly decrypted. There is no need for the first instruction to be in clear, since the instruction key may be appropriately initialized as required. The invention can be realized in software or entirely in hardware thereby eliminating the possibility of a third party intercepting a decrypted instruction or a decryption key.
Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.