Patent US5311591A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5311591A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer system security method and apparatus for creating and using program authorization information data structures

Assignee: GLOBAL INNOVATION TECHNOLOGY HOLDINGS LLC
•
Filing: 1993-06-03
•
Granted: 1994-05-10
•
Expires: 2013-06-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Method and apparatus are disclosed including a system monitor which limits the ability of a program about to be executed to the use of predefined resources (e.g., data files, disk writing capabilities, etc.). The system monitor processes a data structure including a set of authorities defining that which a program is permitted to do and/or that which the program is precluded from doing. The set of authorities and/or restrictions assigned to a program to be executed are referred to as "program authorization information" (or "PAI"). Once defined, the program authorization information is thereafter associated with at least one program to be executed to thereby delineate the resources and functions that the program is allowed to utilize and/or is not allowed to utilize. The PAI associated with a particular program may be assigned by a computer system owner/user or by someone who the computer system owner/user implicitly trusts. The PAI permits an associated program to access what has been authorized and nothing else. The program may be regarded as being placed in a program capability limiting "safety box". This "safety box" is thereafter associated with the program such that when the system monitor runs the program, the PAI for that program is likewise loaded and monitored. When the program is to perform a function or access a resource, the associated PAI is monitored to confirm that the operation is within the defined program limits. If the program is prevented from doing anything outside the authorized limits.

Inventors

  • 👤 Addison M. Fischer

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 04:33
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/50; G06F21/52; G06F21/54; G06F12/00; G06F12/14; G06F12/1458; G06F12/1483; G06F2211/00; G06F2211/007

Claims Analysis

Total Claims: 79
Claim 1
Independent Claim 180 words
In a computer system including processing means for executing a plurality of programs and memory means coupled to said processing means for storing data and for storing at least one program, said computer system having a plurality of computer resources and being capable of performing a wide range of information processing related functions under program control, a method for protecting a computer user from operations typically performable by a program while it is executing on behalf of a user, comprising the steps of: establishing a program authorizing information data structure for storing a plurality of authorization entries each indicating at least one of those computer resources and information processing related functions which may be used by an associated program; storing said program authorizing information data structure; and associating the program authorizing information data structure with at least one program to be executed by said computer system to thereby protect the computer user from operations that might be performed by said at least one program, whereby the program authorizing information is available to be monitored when its associated program is executed.
Claim 2
Dependent Claim 180 words
In a computer system including processing means for executing a plurality of programs and memory means coupled to said processing means for storing data and for storing at least one program, said computer system having a plurality of computer resources and being capable of performing a wide range of information processing related functions under program control, a method for protecting a computer user from operations typically performable by a program while it is executing on behalf of a user, comprising the steps of: establishing a program authorizing information data structure for storing a plurality of authorization entries each indicating at least one of those computer resources and information processing related functions which may be used by an associated program; storing said program authorizing information data structure; and associating the program authorizing information data structure with at least one program to be executed by said computer system to thereby protect the computer user from operations that might be performed by said at least one program, whereby the program authorizing information is available to be monitored when its associated program is executed.
Claim 3
Dependent Claim 30 words
A method according to claim 1, further including the step of including a digital hash of said program to be executed as part of the program authorization information data structure.
Claim 4
Dependent Claim 32 words
A method according to claim 1, further including the step of digitally signing at least a part of the program authorization information data structure with the private key of an authorizing entity.
Claim 5
Dependent Claim 30 words
A method according to claim 3, wherein the digitally signing step includes indicating that a plurality of digital signatures are required in order for any digital signature to be valid.
Claim 6
Dependent Claim 29 words
A method according to claim 3, wherein the digitally signing step includes the step of indicating at least one qualification of authority which has been granted to the signer.
Claim 7
Dependent Claim 25 words
A method according to claim 1, wherein the program authorization information data structure is defined by a computer user before an associated program is executed.
Claim 8
Dependent Claim 32 words
A method according to claim 1, wherein the step of establishing provides an indication of at least a part of at least one data file to which the program may have access.
Claim 9
Dependent Claim 29 words
A method according to claim 7, wherein the indication of at least one data file includes an indication of the file by designating a portion of the file name.
Claim 10
Dependent Claim 27 words
A method according to claim 8, wherein said indication of the file by designating a portion of the file name, operates to define a set of files.
Claim 11
Dependent Claim 33 words
A method according to claim 1, wherein the step of establishing provides an indication of at least a subset of at least one file to which a program to be executed has access.
Claim 12
Dependent Claim 25 words
A method according to claim 1, wherein the step of establishing associates a set of files to which a program to be executed has access.
Claim 13
Dependent Claim 32 words
A method according to claim 1, wherein the step of establishing provides an indication of at least a subset of at least one file to which the program does not have access.
Claim 14
Dependent Claim 35 words
A method according to claim 1, wherein the step of establishing associates at least one file to which a program to be executed has access and indicates the ability to read information from said file.
Claim 15
Dependent Claim 38 words
A method according to claim 1, wherein the step of establishing associates at least part of one file to which a program to be executed has access and indicates the limitations in the ability to use said part.
Claim 16
Dependent Claim 41 words
A method according to claim 1, wherein the step of establishing provides an indication of at least one file to which a program to be executed has access and specifies the ability to write information in said at least one file.
Claim 17
Dependent Claim 28 words
A method according to claim 1, wherein the step of establishing provides an indication of the set of programs which are authorized to be invoked by said program.
Claim 18
Dependent Claim 32 words
A method according to claim 1, wherein the step of establishing associates the ability to invoke other programs which may have different authorizing information than the associated program with said associated program.
Claim 19
Dependent Claim 30 words
A method according to claim 1, wherein the step of establishing provides as indication of denying said associated program the ability to invoke other programs having different program authorizing information.
Claim 20
Dependent Claim 29 words
A method according to claim 1, wherein the establishing step provides an indication of the ability to invoke other programs restricted only by the limits of the calling program.
Claim 21
Dependent Claim 37 words
A method in accordance with claim 16, wherein the associated program authorizing information limits the effective program authorization of an invoked program by the combination of its own program authorizing information and that of the calling program.
Claim 22
Dependent Claim 26 words
A method according to claim 1, wherein the step of establishing associates an indication of the set of programs which are authorized to invoke said program.
Claim 23
Dependent Claim 44 words
A method according to claim 1, further including the step of limiting, using said stored program authorizing information associated with a program to be executed, the use of at least one of the resources and functions which would otherwise be available to said program.
Claim 24
Dependent Claim 33 words
A method according to claim 22, wherein the step of limiting includes limiting the resources and functions which are available to other programs which are invoked by the program which is being executed.
Claim 25
Dependent Claim 29 words
A method according to claim 1, wherein the step of establishing provides an indication of at least one rule governing the authority of said associated program to transmit information.
Claim 26
Dependent Claim 37 words
A method according to claim 24, wherein said at least one rule provides an indication of the authority to transmit information and the step of establishing includes the step of defining the ability to utilize electronic mail.
Claim 27
Dependent Claim 37 words
A method according to claim 24, wherein said at least one rule provides an indication of the authority to transmit information and the step of establishing includes the step of indicating a subset of all possible recipients.
Claim 28
Dependent Claim 29 words
A method according to claim 1, wherein the step of establishing provides at least one rule governing the program's ability to solicit digital signatures on behalf of the user.
Claim 29
Dependent Claim 24 words
A method according to claim 1, wherein the step of establishing provides at least one rule governing the program's ability to create digital signatures.
Claim 30
Dependent Claim 33 words
A method according to claim 28, wherein said at least one rule governs the ability to solicit digital signatures by defining the type of material to which the digital signature can be applied.
Claim 31
Dependent Claim 29 words
A method according to claim 28, wherein said at least one rule limits the information which may digitally signed to those involving a predetermined maximum amount of money value.
Claim 32
Dependent Claim 27 words
A method according to claim 1, wherein the step of establishing qualifies the ability of other programs to perform document release operations on behalf of the user.
Claim 33
Dependent Claim 21 words
A method according to claim 1, wherein at least one rule qualifies program operation to a subset of possible security classifications.
Claim 34
Dependent Claim 26 words
A method according to claim 1, wherein the step of establishing provides a qualification of the ability of said associated program to execute machine language instructions.
Claim 35
Dependent Claim 25 words
A method according to claim 1, wherein the step of establishing qualifies the set of memory which the said associated program is permitted to access.
Claim 36
Dependent Claim 16 words
A method according to claim 34, wherein the permission to access includes the ability to alter.
Claim 37
Dependent Claim 17 words
A method according to claim 34, further including indicating that a particular class of memory is alterable.
Claim 38
Dependent Claim 31 words
A method according to claim 1, wherein the step of establishing provides an indication of the set of qualifications governing the ability of a program to display information to the user.
Claim 39
Dependent Claim 31 words
A method according to claim 1, wherein the step of establishing provides an indication of the set of qualifications governing the ability of the program to solicit information from a user.
Claim 40
Dependent Claim 36 words
A method according to claim 1, wherein the step of establishing provides an indication of the set of qualifications governing the ability of a program to control computer controlled resources which are coupled to the computer.
Claim 41
Dependent Claim 14 words
A method according to claim 39, wherein said computer controlled resources includes robot apparatus.
Claim 42
Dependent Claim 23 words
A method according to claim 39, wherein the set of qualifications governs the ability of the program to transmit information via a modem.
Claim 43
Dependent Claim 171 words
In a computer system having means for executing a plurality of programs and a memory means coupled to said means for executing, for storing data and program instructions, said computer system being capable of performing a wide range of information processing related operations under program control, a method for executing programs by said means for executing for a computer user comprising the steps of: identifying a program to be executed; determining whether a program authorizing information data structure has been associated with the program, wherein said program authorizing information qualifies the ability of the program from performing information processing related operations which are available to said computer user; examining said program authorizing information data structure if one has been associated with said program; determining from an examination of said program authorization information whether the associated program is allowed to perform an attempted information processing related operation; and suppressing performance of said operation if said program authorizing information data structure indicates that said program is not allowed to perform an attempted operation.
Claim 44
Dependent Claim 171 words
In a computer system having means for executing a plurality of programs and a memory means coupled to said means for executing, for storing data and program instructions, said computer system being capable of performing a wide range of information processing related operations under program control, a method for executing programs by said means for executing for a computer user comprising the steps of: identifying a program to be executed; determining whether a program authorizing information data structure has been associated with the program, wherein said program authorizing information qualifies the ability of the program from performing information processing related operations which are available to said computer user; examining said program authorizing information data structure if one has been associated with said program; determining from an examination of said program authorization information whether the associated program is allowed to perform an attempted information processing related operation; and suppressing performance of said operation if said program authorizing information data structure indicates that said program is not allowed to perform an attempted operation.
Claim 45
Dependent Claim 27 words
A method according to claim 42, further including the step of checking said authorization information prior to permitting said program to utilize a required computer system resource.
Claim 46
Dependent Claim 30 words
A method according to claim 42, further including the step of checking whether said program authorization information data structure allows the performance of an operation defined in said associated program.
Claim 47
Dependent Claim 29 words
A method according to claim 42, further including the step of checking to determine whether a user has been assigned the authority to run programs performing a predetermined operation.
Claim 48
Dependent Claim 32 words
A method according to claim 42, further including the step of creating a program control data structure for said program and storing authorizing information related indicia in said program control data structure.
Claim 49
Dependent Claim 19 words
A method according to claim 46, wherein said authorizing information related indicia is a pointer to said authorizing information.
Claim 50
Dependent Claim 33 words
A method according to claim 42, further including the step of assigning a default program authorization information if said determining step reveals that no valid authorizing information has been associated with said program.
Claim 51
Dependent Claim 23 words
A method according to claim 42, further including the step of verifying any digital signature associated with said program authorization information data structure.
Claim 52
Dependent Claim 23 words
A method according to claim 49, including the step of suppressing the execution of said program if said digital signature is not valid.
Claim 53
Dependent Claim 22 words
A method according to claim 49, further including the step of allocating storage for said program if said digital signature is valid.
Claim 54
Dependent Claim 29 words
A method according to claim 42, further including the step of combining the authorizing information of said program with the authorizing information associated with a routine calling said program.
Claim 55
Dependent Claim 42 words
A method according to claim 42, wherein said authorizing information data structure includes means for storing a hash of said program, and further including the step of computing the hash of said program and comparing the computed hash with said stored hash.
Claim 56
Dependent Claim 22 words
A method according to claim 42, further including the step of verifying the authority associated with the signer of a digital signature.
Claim 57
Dependent Claim 30 words
A method according to claim 42, further including the step of combining the authorizing information of said program with the authorizing information associated with a routine called by said program.
Claim 58
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to access.
Claim 59
Dependent Claim 33 words
A method according to claim 42, wherein said authorization information includes an indication of the set of fields of at least one file to which said associated program has the authority to access.
Claim 60
Dependent Claim 44 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has the authority to access and the nature of the operations on said data which the program is permitted to perform.
Claim 61
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to read.
Claim 62
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to process.
Claim 63
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to modify.
Claim 64
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to erase.
Claim 65
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of the set of data to which said associated program has authority to transmit.
Claim 66
Dependent Claim 24 words
A method according to claim 42, wherein said authorization information includes an indication of whether said associated program has the ability to call programs.
Claim 67
Dependent Claim 26 words
A method according to claim 42, wherein said authorization information includes an indication of the set of programs which are allowed to invoke said associated program.
Claim 68
Dependent Claim 29 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of the associated program to generate electronic mail.
Claim 69
Dependent Claim 32 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said said associated program to transmit data to other users.
Claim 70
Dependent Claim 24 words
A method according to claim 42, wherein said authorization information includes an indication of the ability of the associated program to perform document release.
Claim 71
Dependent Claim 30 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said associated program to execute machine language programs.
Claim 72
Dependent Claim 28 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said associated program to access memory.
Claim 73
Dependent Claim 31 words
A method according to claim 42, wherein said authorization information includes as indication of at least one rule governing the authority of said associated program to display information to a user.
Claim 74
Dependent Claim 31 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said associated program to solicit input from a user.
Claim 75
Dependent Claim 29 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said associated program to create digital signatures.
Claim 76
Dependent Claim 29 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule governing the authority of said associated program to control other devices.
Claim 77
Dependent Claim 13 words
A method according to claim 74, wherein said other devices includes robot devices.
Claim 78
Dependent Claim 27 words
A method according to claim 42, wherein said authorization information includes an indication of at least one rule indicating that access is governed by a security clearance.
Claim 79
Dependent Claim 18 words
A method according to claim 42, wherein said authorization information is included as part of a digital signature.

References Cited (Backward Citations)

EP0026590A2 Cited
US5047928A Cited
US5109413A Cited
US5005200A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-05-09 1997-11-08 1998-05-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-05-09 2001-11-08 2002-05-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-05-09 2005-11-08 2006-05-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag