Cheap signatures for synchronous broadcast communication
First Claim
1. A method for signing frame transmissions from a broadcast server to a client device, comprising:
- retrieving a data block that is scheduled for transmission in the next frame;
selecting a secret key (Sn) that is associated with the client device for a number (n) of data blocks;
computing a set of hash keys using the secret key (Sn) and a count that is associated with time;
selecting a hash key (Si) that is associated with the data block, wherein the hash key corresponds to one of the set of hash keys;
computing an HMAC value for the next frame using the selected hash key (Si);
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.
-
Citations
20 Claims
-
1. A method for signing frame transmissions from a broadcast server to a client device, comprising:
-
retrieving a data block that is scheduled for transmission in the next frame;
selecting a secret key (Sn) that is associated with the client device for a number (n) of data blocks;
computing a set of hash keys using the secret key (Sn) and a count that is associated with time;
selecting a hash key (Si) that is associated with the data block, wherein the hash key corresponds to one of the set of hash keys;
computing an HMAC value for the next frame using the selected hash key (Si);
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 RSA signed datum from a frame;
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 HMAC value from the frame;
verifying the other hash key (Si);
verifying the HMAC value with the other hash key (Si);
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;
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 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