Method and system for the secured distribution of multimedia titles
First Claim
Patent Images
1. A method in a data processing system for detecting unauthorized programs within the data processing system, the method comprising:
- creating a validation structure for validating a program including program data, wherein the structure includes data derived from data selected from a portion portions of the program data including sections other than a lead-in section of the program data, which is used to determine whether the program is an unauthorized program;
imbedding the validation structure in the program; and
responsive to an initiation of the program, determining whether the program is an authorized program using the validation structure.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for detecting authorized programs within a data processing system. The present invention creates a validation structure for validating a program. The validation structure is embedded in the program and in response to an initiation of the program, a determination is made as to whether the program is an authorized program. The determination is made using the validation structure.
-
Citations
38 Claims
-
1. A method in a data processing system for detecting unauthorized programs within the data processing system, the method comprising:
-
creating a validation structure for validating a program including program data, wherein the structure includes data derived from data selected from a portion portions of the program data including sections other than a lead-in section of the program data, which is used to determine whether the program is an unauthorized program;
imbedding the validation structure in the program; and
responsive to an initiation of the program, determining whether the program is an authorized program using the validation structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
randomly selecting portions of the validation structure; - and
determining whether the program is an unauthorized program using the randomly selected portions of the validation structure.
-
-
5. The method of claim 1, wherein the creating step comprises randomly selecting data from within the program.
-
6. The method of claim 5, wherein the creating step comprises:
-
randomly selecting a plurality of sections from within the program;
creating a cryptographic hash value for each selected section from the plurality of randomly selected sections within the program; and
storing the cryptographic hash value and a location value for each selected section as a data record within a validation structure, wherein the location is a location of the selected section within the program.
-
-
7. The method of claim 6, wherein the creating step further comprises:
-
creating a signature for the validation structure, wherein the signature is a cryptographic hash value calculated on the validation structure; and
associating the signature with the validation structure.
-
-
8. The method of claim 7, wherein the associating step comprises placing the signature within the validation structure.
-
9. The method of claim 1, wherein the determining step comprises:
-
randomly selecting a number of data records from within the validation structure;
for each randomly data selected record, creating a cryptographic hash value on the section in located indicated by the location value for the randomly selected data record; and
comparing the created cryptographic hash value with the hash value within the randomly selected data record.
-
-
10. The method of claim 9, wherein the determining step further comprises:
-
creating a cryptographic hash value for the validation structure; and
comparing the created cryptographic hash value with the signature.
-
-
11. A data processing system for detecting unauthorized programs within the data processing system, the data processing system comprising:
-
creation means for creating a validation structure for validating a program including program data, wherein the structure includes data derived from data selected from a portion portions of the program data including sections other than a lead-in section of the program data, wherein the structure may be used to determine whether the program is an unauthorized program;
imbedding means for imbedding the validation structure in the program; and
determination means, responsive to an initiation of the program, for determining whether the program is an unauthorized program. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
random selection means for randomly selecting portion of the validation structure; - and
determination means for determining whether the program is an unauthorized program using the randomly selected portions of the validation structure.
-
-
15. The data processing system of claim 11, wherein the creation means comprises:
-
second random selection means for randomly selecting a plurality of sections from within the program;
second creation means for creating a cryptographic hash value for each selected section from the plurality of randomly selected sections within the program; and
storage means for storing the cryptographic hash value and a location value for each selected section as a data record within a validation structure, wherein the location is a location of the selected section within the program.
-
-
16. The data processing system of claim 14, wherein the creation means further comprises:
-
third creation means for creating a signature for the validation structure, system is calculated on the cryptographic hash value; and
association means for associating the signature with the validation structure.
-
-
17. The data processing system of claim 16, wherein the association means comprises placement means for placing the signature within the validation structure.
-
18. The data processing system of claim 16, wherein the determination means comprises:
-
random selection means for randomly selecting a number of data records from within the validation structure;
creations means for creating a cryptographic hash value on the section in located indicated by the location value for the randomly selected data record for each randomly data selected record; and
comparison means for comparing the created cryptographic hash value with the hash value within the randomly selected data record.
-
-
19. The data processing system of claim 18, wherein the determination means further comprises:
-
creation means for creating a cryptographic hash value for the validation structure; and
validation means for the created cryptographic hash value with the signature.
-
-
20. A method in a data processing system for creating a validation structure for use in validating a program, the method comprising:
-
selecting a plurality of sections including sections other than a lead-in section from within the program, each section within the plurality of sections containing program data;
creating a cryptographic hash value for each selected section from the program data within the plurality of selected sections within the program; and
storing the cryptographic hash value and a location for each selected section as a data record within a validation structure, wherein the location is a location of the selected section within the program. - View Dependent Claims (21, 22, 23)
creating a signature for the validation structure, and associating the signature with the validation structure.
-
-
23. The method of claim 22, wherein the associating step comprises placing the signature within the validation structure.
-
24. A data processing system for creating a validation structure for use in validating a program, the data processing system comprising:
-
random selection means for randomly selecting a plurality of sections including sections other than a lead-in section from within the program, each selected section within the plurality of randomly selected sections containing program data;
creation means for creating a cryptographic hash value for program data within each selected section from within the plurality of randomly selected sections within the program; and
storage means for storing the cryptographic hash value and a location value for each selected section as a data record within a validation structure, wherein the location is a location of the selected section within the program. - View Dependent Claims (25, 26)
second creation means for creating a signature for the validation structure, and association means for associating the signature with the validation structure.
-
-
26. The data processing system of claim 25, wherein the association means comprises placement means for placing the signature within the validation structure.
-
27. A method in a data processing system for validating a program, wherein the program includes a validation structure having a plurality of data records, wherein each data record within the plurality of data records includes a cryptographic hash value for program data within a section selected from sections including sections other than a lead-in section of the program and a location value, wherein the location value indicates a location of the selected section, the method comprising:
-
randomly selecting a number of data records from within the validation structure;
creating a cryptographic hash value on program data within the section in the location indicated by the location value for the randomly selected data record for each randomly selected data record; and
comparing the created cryptographic hash value with the hash value within the randomly selected data record. - View Dependent Claims (28)
creating a cryptographic hash value for the validation structure; and
validating the created cryptographic hash value with the signature.
-
-
29. A data processing system for validating a program, wherein the program includes a validation structure having a plurality of data records, wherein each data record within the plurality of data records includes a cryptographic hash value for program data within a section selected from sections including sections other than a lead-in section of the program and a location value, wherein the location value indicates a location of the selected section, the data processing system comprising:
-
random selection means for randomly selecting a number of data records from within the validation structure;
creation means for creating a cryptographic hash value on program data within the section in the location indicated by the location value for the randomly selected data record for each randomly selected data record; and
comparison means for comparing the created cryptographic hash value with the hash value within the randomly selected data record. - View Dependent Claims (30)
creation means for creating a cryptographic hash value for the validation structure; and
signature validation means for validating the created cryptographic hash value with the signature.
-
-
31. A storage device readable by a data processing system and encoding data processing system executable instructions comprising:
-
selections means for selecting a plurality of sections including sections other than a lead-in section from within a program containing program data;
creation means for creating a cryptographic hash value for program data within each selected section from the plurality of selected sections within the program; and
storage means for storing the cryptographic hash value and a location value for each selected section as a data record within a validation structure, wherein the location is a location of the selected section within the program, wherein the means are activated when the storage device is connected to and accessed by a data processing system. - View Dependent Claims (32, 33, 34)
-
-
35. A storage device readable by a data processing system and encoding data processing system executable instructions for validating a program, wherein the program includes a validation structure having a plurality of data records, wherein each data record within the plurality of data records includes a cryptographic hash value for program data within a section selected from sections including sections other than a lead-in section of the program and a location value, wherein the location value indicates a location of the section, the storage device comprising:
-
creation means for creating a cryptographic hash value on program data within the section in the location indicated by the location value for the randomly selected data record for each randomly selected data record; and
comparison means for comparing the created cryptographic hash value with the hash value within the randomly selected data record, wherein the means are activated when the storage device is connected to and accessed by a data processing system. - View Dependent Claims (36, 37, 38)
-
Specification