Rapid verification of executing processes
AssigneeSecurity Technology, LLC
InventorBjorn Markus Jakobsson
Life of this patent
Estimating the term…
Abstract
Rapid verification of executing processes includes receiving a seed from a verification unit. A checksum is generated at least in part by using a processor. The processor is coupled to a hierarchical memory, the hierarchical memory comprising an instruction cache, a data cache, and a shared memory accessible by both the instruction cache and the data cache. The shared memory is configured to store an executing program. A size of at least one of the instruction cache and the data cache is insufficient to store the entire executing program. The checksum is transmitted to the verification unit.
Claims23
A system, comprising:
- a memory;
- one or more processors coupled to the memory;
- and
- a verifier configured to:
- receive (1) a first checksum value generated by at least one processor of a target entity executing first checksum code, and (2) an identity value associated with the target entity, wherein the target entity is in communication with the verifier;
- compute, at least in part by the verifier executing second checksum code, a second checksum value;
- wherein the first checksum code and the second checksum code executed, respectively, by the target entity and the verifier each comprise an accumulator portion and a control portion, and wherein the accumulator portion comprises a non-linear accumulator that modifies a checksum state, and wherein the control portion performs an action based at least in part on the modified checksum state;
- perform a security determination based on:
- (1) a time elapsed between communication of a seed and communication of the first checksum value,
- (2) the identity value, and
- (3) a comparison between the first checksum value and the second checksum value;
- and
- subsequent to completion of a verification based at least in part on one or more digital signatures, perform a set of security actions based at least in part on the security determination, wherein the set of security actions comprises (1) enabling the at least one processor of the target entity to access a resource, and (2) causing the at least one processor of the target entity to obtain access to a cryptographic key.
A method, comprising:
- receiving, at a verifier, (1) a first checksum value generated by at least one processor of a target entity executing first checksum code, and (2) an identity value associated with the target entity, wherein the target entity is in communication with the verifier;
- computing, at least in part by the verifier executing second checksum code using one or more processors, a second checksum value;
- wherein the first checksum code and the second checksum code executed, respectively, by the target entity and the verifier each comprise an accumulator portion and a control portion, and wherein the accumulator portion comprises a non-linear accumulator that modifies a checksum state, and wherein the control portion performs an action based at least in part on the modified checksum state;
- performing a security determination based on:
- (1) a time elapsed between communication of a seed and communication of the first checksum value,
- (2) the identity value, and
- (3) a comparison between the first checksum value and the second checksum value;
- and
- subsequent to completion of a verification based at least in part on one or more digital signatures, performing a set of security actions based at least in part on the security determination, wherein the set of security actions comprises (1) enabling the at least one processor of the target entity to access a resource, and (2) causing the at least one processor of the target entity to obtain access to a cryptographic key.
A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- receiving, at a verifier, (1) a first checksum value generated by at least one processor of a target entity executing first checksum code, and (2) an identity value associated with the target entity, wherein the target entity is in communication with the verifier;
- computing, at least in part by the verifier executing second checksum code using one or more processors, a second checksum value;
- wherein the first checksum code and the second checksum code executed, respectively, by the target entity and the verifier each comprise an accumulator portion and a control portion, and wherein the accumulator portion comprises a non-linear accumulator that modifies a checksum state, and wherein the control portion performs an action based at least in part on the modified checksum state;
- performing a security determination based on:
- (1) a time elapsed between communication of a seed and communication of the first checksum value,
- (2) the identity value, and
- (3) a comparison between the first checksum value and the second checksum value;
- and
- subsequent to completion of a verification based at least in part on one or more digital signatures, performing a set of security actions based at least in part on the security determination, wherein the set of security actions comprises (1) enabling the at least one processor of the target entity to access a resource, and (2) causing the at least one processor of the target entity to obtain access to a cryptographic key.
Dependencies are inferred from the claim text.