Per unit time message authentication code
AssigneeSilicon Laboratories Inc.
InventorJoshua J. Norem
Life of this patent
Estimating the term…
Abstract
A system for securely transmitting data between two devices is disclosed. Each device comprises an interface, an encryption module, a decryption module and a message authentication code (MAC) generator. The encryption and decryption modules may utilize a stream cipher, while the MAC generator utilizes a hashing algorithm. A MAC is transmitted after a predetermined amount of time, regardless of the amount of activity on the interface. The device receiving the MAC compares it to the MAC that it generated to ensure that they match. This guarantees that a breach of integrity can be detected in a reasonable amount of time and addressed accordingly. This system may utilize an interface having bidirectional data signals or unidirectional data signals.
Claims17
A system for securely transmitting data between a first device and a second device, comprising:
- the first device, comprising:
- an interface to transmit and receive data from the second device;
- a first encryption module to encrypt outgoing data before it is transmitted over the interface;
- a first decryption module to decrypt data received from the second device and create incoming data;
- and
- a first message authentication code (MAC) generator, wherein the first MAC generator comprises a hashing algorithm that utilizes the outgoing data transmitted by the first device and the incoming data received by the first device over the interface during a predetermined time period to compute a first MAC;
- wherein the outgoing data and the incoming data are arranged sequentially in a data buffer, and when the data buffer reaches a predetermined length, the first MAC generator computes a hash;
- wherein the first device transmits the first MAC to the second device based on expiration of a timer;
- and
- the second device, comprising:
- the interface to transmit and receive data from the first device;
- a second encryption module to encrypt transmit data before it is transmitted over the interface;
- a second decryption module to decrypt data received from the second device and create received data;
- a second message authentication code (MAC) generator, wherein the second MAC generator comprises the hashing algorithm that utilizes the data transmitted by the second device and the received data;
- and
- a verifier to compare the first MAC received from the first device to a second MAC generated by the second MAC generator.
A method of securely transmitting and receiving data on an interface, comprising:
- encrypting, by a first encryption module at a first device, outgoing data before it is transmitted over the interface;
- decrypting, by a first decryption module at the first device, data received from a second device and creating incoming data;
- and
- computing, by a first message authentication code (MAC) generator at the first device, a first message authentication code (MAC) using a hashing algorithm that utilizes the outgoing data transmitted by the first device and the incoming data received by the first device over the interface during a predetermined time period;
- wherein the outgoing data and the incoming data are arranged sequentially in a data buffer, and when the data buffer reaches a predetermined length, the first MAC generator computes a hash;
- transmitting the MAC from the first device to the second device when a timer expires;
- encrypting, by a second encryption module at the second device, transmit data before it is transmitted over the interface;
- decrypting, by a second decryption module at the second device, data received from the second device and creating received data;
- computing, by a second message authentication code (MAC) generator at the second device, a second message authentication code (MAC) using a hashing algorithm that utilizes the data transmitted by the second device and the received data;
- and
- comparing the first MAC received from the first device to the second MAC generated by the second MAC generator.
Dependencies are inferred from the claim text.