← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag