Methods and systems for encoding and protecting data using digital signature and watermarking techniques
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for protecting and managing electronic data signals that are registered in accordance with a predefined encoding scheme, while allowing access to unregistered data signals. In one embodiment a relatively hard-to-remove, easy-to-detect, strong watermark is inserted in a data signal. The data signal is divided into a sequence of blocks, and a digital signature for each block is embedded in the signal via a watermark. The data signal is then stored and distributed on, e.g., a compact disc, a DVD, or the like. When a user attempts to access or use a portion of the data signal, the signal is checked for the presence of a watermark containing the digital signature for the desired portion of the signal. If the watermark is found, the digital signature is extracted and used to verify the authenticity of the desired portion of the signal. If the signature-containing watermark is not found, the signal is checked for the presence of the strong watermark. If the strong watermark is found, further use of the signal is inhibited, as the presence of the strong watermark, in combination with the absence or corruption of the signature-containing watermark, provides evidence that the signal has been improperly modified. If, on the other hand, the strong mark is not found, further use of the data signal can be allowed, as the absence of the strong mark indicates that the data signal was never registered with the signature-containing watermark.
-
Citations
82 Claims
-
1-46. -46. (cancelled).
-
47. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
encoding a digital file, the encoding including;
inserting a first watermark into the file;
inserting a plurality of signature-containing watermarks into the file, each signature-containing watermark containing the digital signature of at least a portion of the file; and
decoding at least a portion of the encoded file, the decoding including;
searching at least a portion of the encoded file for a first signature-containing watermark;
if the first signature-containing watermark is found, retrieving a first digital signature from the first signature-containing watermark, and using the first digital signature to verify the authenticity of a portion of the encoded file to which the first digital signature corresponds;
if the first signature-containing watermark is not found, searching the encoded file for the first watermark;
if the first watermark is found, inhibiting at least one use of at least a portion of the file;
if the first watermark is not found, permitting at least one use of at least a portion of the file;
whereby the plurality of signature-containing watermarks are operable to facilitate detection of modifications to the encoded file, and the first watermark is operable to facilitate detection of removal of one or more of the signature-containing watermarks from the encoded file. - View Dependent Claims (48, 49, 50, 51, 52)
-
-
53. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
inserting a first hidden code into a digital file;
generating a plurality of modification-detection codes, each modification-detection code corresponding, at least in part, to at least one file segment; and
inserting the plurality of modification-detection codes into the file, wherein the plurality of modification-detection codes can be used to detect modifications to the file segments to which they correspond, and wherein the first hidden code can be used to detect removal of one or more modification-detection codes from the file. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61)
-
-
62. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
inserting a first watermark into a first portion of a file of electronic data, the first watermark containing a payload that includes a digital signature for a second portion of the file; and
inserting a second watermark into a third portion of the file, the second watermark containing a payload that includes a digital signature for the first portion of the file. - View Dependent Claims (63)
-
-
64. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
obtaining an authentication file associated with electronic data, the authentication file containing a plurality of hash values and a plurality of hints;
using a hint to search a predefined portion of the data for a first portion of the data that potentially corresponds to a first one of the plurality of hash values;
hashing the first portion of the data to obtain a hash of the first portion of data;
comparing the hash of the first portion of the data with the first one of the plurality of hash values;
if the hash of the first portion of the data is not equal to the first one of the plurality of hash values, using the hint to locate a second portion of the data that potentially corresponds to the first one of the plurality of hash values;
hashing the second portion of the data to obtain a hash of the second portion of data; and
comparing the hash of the second portion of the data with the first one of the plurality of hash values.
-
-
65. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
encoding an electronic file by applying a first content protection technique and a second content protection technique, whereby the encoded file includes at least a first detectable characteristic and a second detectable characteristic, the first detectable characteristic indicating the application of the first content protection technique and the second detectable characteristic indicating the application of the second content protection technique;
storing the encoded file on a computer readable storage medium;
loading at least a portion of the encoded file into system memory of a decoding device;
checking the encoded file for the presence of the second detectable characteristic; and
if the second detectable characteristic is not found, checking the encoded file for the presence of the first detectable characteristic and inhibiting at least one use of at least a portion of the encoded file if the first detectable characteristic is found. - View Dependent Claims (66, 67, 68, 69, 70)
-
-
71. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
generating a first watermarked segment by inserting a first watermark into a first segment of data;
compressing the first watermarked segment using a predefined compression algorithm;
decompressing the compressed first watermarked segment;
generating a first signature by encrypting a hash of at least a portion of the decompressed first watermarked segment;
generating a second watermarked segment by inserting a second watermark into a second segment of the data, wherein the second watermark includes the first signature;
compressing the second watermarked segment using the predefined compression algorithm; and
transmitting the compressed first watermarked segment and the compressed second watermarked segment to a computer readable storage medium. - View Dependent Claims (72, 73, 74, 75)
-
-
76. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
(a) receiving a request to use a file of electronic data in a predefined manner;
(b) searching the file for a signature-containing watermark;
(c) if the signature-containing watermark is found, extracting a digital signature from the signature-containing watermark;
(i) performing an authenticity check on at least a portion of the file using the digital signature;
(ii) granting the request to use the file in the predefined manner if the authenticity check is successful;
(d) if the signature-containing watermark is not found, searching the file for a predefined watermark; and
(e) if the predefined watermark is found, denying the request to use the file in the predefined manner. - View Dependent Claims (77)
-
-
78. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
receiving a request to use a file of electronic data in a predefined manner;
retrieving at least one digital signature and at least one check value associated with the file;
verifying the authenticity of the at least one check value using the digital signature;
verifying the authenticity of at least a portion of the file using the at least one check value; and
granting the request to use the file in the predefined manner. - View Dependent Claims (79)
-
-
80. A computer program embodied on a computer readable medium, the computer program comprising instructions that, when executed by a processor, are operable to cause a computer system to perform actions comprising:
-
(a) creating an authentication file associated with a file of electronic data;
(b) receiving a request at a first consumer system to use the file of electronic data in a predefined manner;
(c) searching for the authentication file;
(d) if the authentication file is found, using the authentication file to verify the authenticity of at least a portion of the file of electronic data;
(e) if the authentication file is not found, searching the file of electronic data for a predefined watermark; and
(f) granting the request to use the file of electronic data in the predefined manner. - View Dependent Claims (81, 82)
-
Specification