Infinite Key Memory Transaction Unit
AssigneeCPU Technology, Inc.
InventorsEdward C. King, Paul J. Lemmon, Laszlo Hars
Life of this patent
Estimating the term…
Abstract
A system for providing high security for data stored in memories in computer systems is disclosed. A different encryption key is used for every memory location, and a write counter hides rewriting of the same data to a given location. As a result, the data for every read or write transaction between the microprocessor and the memory is encrypted differently for each transaction for each address, thereby providing a high level of security for the data stored.
Claims20
A method for providing security for data being transferred between units in a computer system comprising:
- dividing a memory into a series of addressable locations, each of the addressable locations having an address and storing encrypted data, versioning information and an authentication value, a unique encryption key and authentication key being used for each addresses;
- retrieving the encrypted data, version information and the authentication value stored at one of the addresses;
- decrypting the retrieved data and checking the authentication value to determine if the decrypted data are valid;
- and
- if the decrypted data are valid, writing new data to the address from which the data was retrieved using a new key for the encryption of the data, the new key being based at least on the address, the updated version information and on the number of writes made to that address.
A method for providing security for data being transferred between units in a computer system comprising:
- receiving an address from a requesting unit for information to be read from a memory;
- generating an encryption key using at least the address, and a random number;
- reading the data stored at the address;
- using the encryption key and the data, authenticating and decrypting the data;
- if the authentication fails, activating an anti-tamper mechanism;
- and
- if the authentication is successful sending decrypted data to the requesting unit.
In a computing system a method of encrypting data wherein for every location in memory a different encryption key is used, and for subsequent writes to a given location a different encryption key is used than was used in previous writes to that location.
Apparatus for providing security for storing and retrieving data comprising:
- a memory having a set of addressable locations, each of the addressable locations having an address;
- and
- a processor coupled to the memory for reading data from the memory and writing data to the memory, the processor being programmed to store, at the addressable locations in the memory (i) encrypted data, (ii) version information and (iii) an authentication value, wherein a unique encryption key and a unique authentication key are used for each addressable location in the memory each time that addressable location is accessed.
Dependencies are inferred from the claim text.