Cheap signatures for synchronous broadcast communication
First Claim
1. A method for signing frame transmissions from a broadcast server to a client device, comprising:
- obtaining a data block that is scheduled for transmission in a next frame;
wherein the next frame includes segment groups;
wherein each segment group includes a number (n) of data blocks;
wherein each data block includes a plurality of packets;
selecting a secret key (Sn) that is associated with the client device for a predetermined number of the data blocks in the frame;
generating a count that is associated with a time;
computing a set of hash keys using the secret key (Sn) and the count;
selecting a hash key (Si) that is associated with the data block, wherein the selected hash key corresponds to one of the set of hash keys;
computing a keyed-hash message authentication code (HMAC) value for the next frame using the hash key (S1);
periodically signing and transmitting a datum containing the hash key of an earlier or initial frame with a digital signature key (KS); and
assembling the next frame such that the data block and the HMAC value appear before the hash key in the frame transmission.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are configured for synchronous broadcast communications by applying signature keys using hashing functions. Each subsequent transmission in a sequence includes a signature key that can be verified by hashing to a preceding signature key from a previous portion of the sequence. The first transmission in the sequence is signed using a signature key that is known by the client device, typically verified using some other mechanism such as asymmetric key signatures. Each client device can utilize an internal counter for the current time or the block number in the transmission sequence to maintain synchronized transmissions in the even that a particular portion of the sequence is missed, and to validate signature keys. Since the signature keys can be validated when they are received but not predicted before they are received, the transmission is difficult to attack while synchronization is maintained.
59 Citations
20 Claims
-
1. A method for signing frame transmissions from a broadcast server to a client device, comprising:
-
obtaining a data block that is scheduled for transmission in a next frame;
wherein the next frame includes segment groups;
wherein each segment group includes a number (n) of data blocks;
wherein each data block includes a plurality of packets;selecting a secret key (Sn) that is associated with the client device for a predetermined number of the data blocks in the frame; generating a count that is associated with a time; computing a set of hash keys using the secret key (Sn) and the count; selecting a hash key (Si) that is associated with the data block, wherein the selected hash key corresponds to one of the set of hash keys; computing a keyed-hash message authentication code (HMAC) value for the next frame using the hash key (S1); periodically signing and transmitting a datum containing the hash key of an earlier or initial frame with a digital signature key (KS); and assembling the next frame such that the data block and the HMAC value appear before the hash key in the frame transmission. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for authenticating frame transmissions from a server to a client device, comprising:
-
retrieving an Rivest Shamir Adleman (RSA) signed datum from a frame;
wherein the frame includes segment groups;
wherein each segment group includes data block;
wherein each of the data blocks include packets;verifying an RSA signature associated with the RSA signed datum from the frame; storing a hash key (S0) that is associated with the frame when the RSA signature is verified; retrieving another hash key (Si) and an keyed-hash message authenticationcode (HMAC) value from the frame; verifying the other hash key (Si) that is obtained from a previous frame; verifying the HMAC value with the other hash key (Si); computing a hash key using a count and a secert key (Si) that is known by both the server and client device, wherein the count corresponds to a time stamp; discarding the frame when at least one of the other hash key (Si) and the HMAC value fail verification; and accepting the frame when the other hash key (Si) and the HMAC value are successfully verified. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A broadcast communication system for communicating frame transmissions from a server to a client device, comprising:
-
a scheduler that is arranged to provide data blocks to the server for transmission in a next frame;
wherein each of the data block includes a plurality of packets;a counter that is arranged to provide a count in the server; a hashing function in the server that is arranged to compute hash keys for the next frame using the count and a secret key; an HMAC function in the server that is arranged to provide an HMAC value in response to hash keys associated with the next frame; a broadcast processor in the server that is arranged to receive the hash keys, HMAC values, and the data blocks, and organize the next frame for transmission such that the data block and the HMAC value appear before the hash key in the frame transmission. - View Dependent Claims (18, 19)
-
-
20. A system for authenticating frame transmissions in a client device, comprising:
-
a broadcast receiver that is arranged to receive a transmitted frame, wherein the transmitted frame includes segment groups;
wherein each segment group includes data blocks;
wherein each of the data blocks include packets;
wherein the transmitted frame include an HMAC value and a data block, and ends with a hash key Si;a counter that is arranged to provide a count that has a time dependence; a hashing function that is arranged to compute hash keys for the transmitted frame using the count and a secret key; a verification function block that is arranged to verify the hash key (Si) with the computed hash keys, and also arranged to verify the HMAC value with the hash key (Si) and the previously stored hash keys; a means for discarding the frame when at least one of the hash key (Si) and the HMAC value fail verification; a means for accepting the frame when the hash key (Si) and the HMAC value are successfully verified; and a means for storing the hash key as a previously stored hash key when the frame is accepted such that subsequent frames utilize the stored hash key for verification.
-
Specification