Security for network coding file distribution
First Claim
1. A method, comprising:
- calculating an expected hash of an encoded block corresponding to a file by applying a hash function to a security parameter and a coefficient vector used to encode the encoded block;
applying the hash function to the encoded block to determine the hash; and
verifying validity of the encoded block based on a comparison of the hash and the expected hash.
2 Assignments
0 Petitions
Accused Products
Abstract
A content distribution mechanism that relies on cooperative desktop PCs to distribute content is disclosed. The mechanism distributes content in a robust manner by allowing at least one intermediate network node (i.e., between a source and client) to generate and send packets that contain a linear combination of the portions of content available at the node. Such linear combinations may be created by the source and client using at least a portion of the original content file in either encoded or unencoded form. After the client has received enough linearly independent combinations of packets, the original content may be reconstructed. Further, security for network coding file distribution may be employed to maintain the efficiency and security of the content distribution mechanism. A security server may generate security information using a hashing algorithm including the property of producing security information for each block which survives the process of creating encoded blocks. The security server may generate a unique set of security information for each node participating in the content distribution which each node may then use to verify that the blocks being examined are valid and were created from a linear combination of the original blocks of the file.
-
Citations
20 Claims
-
1. A method, comprising:
-
calculating an expected hash of an encoded block corresponding to a file by applying a hash function to a security parameter and a coefficient vector used to encode the encoded block;
applying the hash function to the encoded block to determine the hash; and
verifying validity of the encoded block based on a comparison of the hash and the expected hash. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. At least one computer-readable medium having one or more executable instructions that, when read, cause one or more processors to:
-
store an encoded block corresponding to a file in a boundary denoted as insecure;
calculate a hash of the encoded block;
calculate an expected hash of the encoded block using a security parameter and a coefficient vector used to encode the encoded block;
compare the hash and the expected hash; and
move the encoded block to a boundary denoted as secure when results of the one or more instructions to compare indicate that the hash and the expected hash are equal. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system, comprising:
-
means for storing security parameters related to original blocks of a file;
means for storing one or more encoded blocks corresponding to the file;
means for creating a newly encoded block corresponding to the file from the one or more encoded blocks, the means for creating the newly encoded block further comprising means for choosing a new set of coefficients;
means for calculating a hash of (?) the newly encoded block;
means for calculating an expected hash of the newly encoded block using the security parameters and the new set of coefficients; and
means for validating the encoded blocks based on a comparison of the hash and the expected hash. - View Dependent Claims (18, 19, 20)
-
Specification