US5745678A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for the secured distribution of multimedia titles
Assignee: International Business Machines Corp
•
Filing: 1997-08-18
•
Granted: 1998-04-28
•
Expires: 2017-08-18
Abstract
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.
Inventors
- 👤 Amir Herzberg
- 👤 Hugo Mario Krawczyk
- 👤 Shay Kutten
- 👤 An Van Le
- 👤 Stephen Michael Matyas
- 👤 Marcel Mordechay Yung
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 08:42
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/10; G06F2211/00; G06F2211/007; G06F2211/008
Claims Analysis
Total Claims: 46
Claim 1
Independent Claim
94 words
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 of the program data 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.
Claim 2
Independent Claim
94 words
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 of the program data 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.
Claim 3
Dependent Claim
22 words
The method of claim 1, further comprising preventing execution of the program in response to a determination that the program is unauthorized.
Claim 4
Dependent Claim
23 words
The method of claim 1, further comprising permitting limited execution of the program in response to a determination that the program is unauthorized.
Claim 5
Dependent Claim
36 words
The method of claim 1, where in the determining step comprises 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.
Claim 6
Dependent Claim
17 words
The method of claim 1, wherein the creating step comprises randomly selecting data from within the program.
Claim 7
Dependent Claim
74 words
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.
Claim 8
Dependent Claim
39 words
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.
Claim 9
Dependent Claim
17 words
The method of claim 7, wherein the associating step comprises placing the signature within the validation structure.
Claim 10
Dependent Claim
66 words
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.
Claim 11
Dependent Claim
30 words
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.
Claim 12
Dependent Claim
101 words
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 of the program data 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.
Claim 13
Dependent Claim
101 words
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 of the program data 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.
Claim 14
Dependent Claim
26 words
The data processing system of claim 11, further comprising means for preventing execution of the program in response to a determination that the program is unauthorized.
Claim 15
Dependent Claim
27 words
The data processing system of claim 11, further comprising means for permitting limited execution of the program in response to a determination that the program is unauthorized.
Claim 16
Dependent Claim
44 words
The data processing system of claim 11, wherein the determination means comprises random selection means for randomly selecting portions 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.
Claim 17
Dependent Claim
88 words
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.
Claim 18
Dependent Claim
43 words
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.
Claim 19
Dependent Claim
22 words
The data processing system of claim 16, wherein the association means comprises placement means for placing the signature within the validation structure.
Claim 20
Dependent Claim
78 words
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; creation 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.
Claim 21
Dependent Claim
37 words
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.
Claim 22
Independent Claim
101 words
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 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.
Claim 23
Independent Claim
101 words
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 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.
Claim 24
Dependent Claim
20 words
The method of claim 20, wherein the selecting step comprises randomly selecting a plurality of sections from within the program.
Claim 25
Dependent Claim
26 words
The method of claim 20, wherein the creating step further comprises: creating a signature for the validation structure, and associating the signature with the validation structure.
Claim 26
Dependent Claim
17 words
The method of claim 22, wherein the associating step comprises placing the signature within the validation structure.
Claim 27
Dependent Claim
116 words
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 other than a lead-in section from within the program, each selected section within the plurality of randomly selected sections containing program data; creations 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.
Claim 28
Dependent Claim
116 words
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 other than a lead-in section from within the program, each selected section within the plurality of randomly selected sections containing program data; creations 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.
Claim 29
Dependent Claim
35 words
The data processing system of claim 24, wherein the creation means further comprises: second creation means for creating a signature for the validation structure, and association means for associating the signature with the validation structure.
Claim 30
Dependent Claim
22 words
The data processing system of claim 25, wherein the association means comprises placement means for placing the signature within the validation structure.
Claim 31
Independent Claim
130 words
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 other than a lead-in section of the program and a location value, wherein the location value indicates a location of the 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.
Claim 32
Independent Claim
130 words
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 other than a lead-in section of the program and a location value, wherein the location value indicates a location of the 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.
Claim 33
Dependent Claim
32 words
The data processing system of claim 27, wherein the determination means further comprises: creating a cryptographic hash value for the validation structure; and validating the created cryptographic hash value with the signature.
Claim 34
Dependent Claim
139 words
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 other than a lead-in section of the program and a location value, wherein the location value indicates a location of the 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.
Claim 35
Dependent Claim
139 words
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 other than a lead-in section of the program and a location value, wherein the location value indicates a location of the 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.
Claim 36
Dependent Claim
39 words
The data processing system of claim 29, wherein the determination means further comprises: 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.
Claim 37
Dependent Claim
118 words
A storage device readable by a data processing system and encoding data processing system executable instructions comprising: selection means for selecting a plurality of 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.
Claim 38
Dependent Claim
118 words
A storage device readable by a data processing system and encoding data processing system executable instructions comprising: selection means for selecting a plurality of 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.
Claim 39
Dependent Claim
15 words
The storage device of claim 31, wherein the storage device is a hard disk drive.
Claim 40
Dependent Claim
20 words
The storage device of claim 31, wherein the storage device is a ROM for use with a data processing system.
Claim 41
Dependent Claim
14 words
The storage device of claim 31, wherein the storage device is a floppy diskette.
Claim 42
Dependent Claim
153 words
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 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.
Claim 43
Dependent Claim
153 words
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 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.
Claim 44
Dependent Claim
15 words
The storage device of claim 35, wherein the storage device is a hard disk drive.
Claim 45
Dependent Claim
20 words
The storage device of claim 35, wherein the storage device is a ROM for use with a data processing system.
Claim 46
Dependent Claim
14 words
The storage device of claim 35, wherein the storage device is a floppy diskette.
References Cited (Backward Citations)
US4309569A
Cited
US4295039A
Cited
US4658093A
Cited
US4789863A
Cited
US4908861A
Cited
US5247575A
Cited
US5065429A
Cited
US5241671A
Cited
US5241671C1
Cited
US5191613A
Cited
EP0565314A2
Cited
US5231666A
Cited
US5421006A
Cited
EP0570123A1
Cited
US5432939A
Cited
US5224166A
Cited
US5319705A
Cited
US5276738A
Cited
US5379343A
Cited
US5343527A
Cited
US5450489A
Cited
US5553143A
Cited
US5553139A
Cited
US5530751A
Cited
US5535188A
Cited
US5485577A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-04-27 | 2001-10-27 | 2002-04-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-04-27 | 2005-10-27 | 2006-04-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-04-27 | 2009-10-27 | 2010-04-28 | $7700.00 | Window Closed / Lapsed |