High assurance certifiable cryptographic system
AssigneeRockwell Collins, Inc.
InventorJames A. Marek
Life of this patent
Estimating the term…
Abstract
Segregated cores or virtual processors within a processor establish at least two separate encryption paths via software virtualization. Guest operating systems and encryption applications operate on input data with an enforced level of synchronicity. Output is compared to determine if each encryption path arrives at the same encrypted output. If the outputs are identical, the encrypted data is passed on; if not, an error report is generated. No individual vulnerability may produce a single point of failure to produce erroneously encrypted or unencrypted output.
Claims20
A computer apparatus comprising:
- at least one processor, comprising a first set of one or more processing cores and a second set of one or more processing cores, in data communication with a memory storing processor executable code;
- a hypervisor in data communication with the processor;
- wherein the processor executable code configures the at least one processor to:
- instantiate separate guest operating systems on each of the first set of processing cores and the second set of processing cores;
- execute separate encryption applications within each of the separate guest operating systems;
- monitor execution of each separate encryption application for a threshold level of synchronicity via the hypervisor;
- compare a first encrypted output from the first set of processing cores to a second encrypted output from the second set of processing cores;
- and
- output the encrypted output when the encrypted output from the first set of processing cores and the second set of processing cores are identical.
A method for encrypting data comprising:
- instantiating separate guest operating systems on each of a first set of processing cores and a second set of processing cores;
- executing separate encryption applications within each of the separate guest operating systems;
- monitoring execution of each separate encryption application for a threshold level of synchronicity;
- comparing a first encrypted output from the first set of processing cores to a second encrypted output from the second set of processing cores;
- and
- outputting the encrypted output when the encrypted output from the first set of processing cores and the second set of processing cores are identical.
A cryptography system comprising:
- at least one processor configured to:
- instantiate a virtualized soft core processor;
- instantiate a first guest operating system on the at least one processor;
- instantiate a second guest operating system on the virtualized soft core processor;
- execute a first encryption application on the first guest operating system;
- execute a second encryption application on the second guest operating system;
- monitor execution steps of the first encryption application compared to the second encryption application;
- compare a first encrypted output from the first encryption application to a second encrypted output from the second encryption application;
- output an encrypted output when the first encrypted output and the second encrypted output are identical.
Dependencies are inferred from the claim text.