Computer system security method and apparatus having program authorization information data structures
INFORMATION PROTECTION AND AUTHENTICATION OF TEXAS, LLCThe holder of the '717 patent has sued Microsoft, Symantec, CA, F-Secure, McAfee, Kaspersky, Sophos, Novell, and PC Tools for infringing this patent.
Last updated: 11 months ago
Summary / Description
| Summary / Description | US Patent 5315657 lists, in claims 3 and 6, a method for defining access based on user and program doing the access. The patent is oriented towards specifying multiple kinds of principals (users,programs,groups,machines), and how one would assign ACLs to combinations of principals. |
Basic Information
| Type of Prior Art | Issued Patents - US |
| Country | United States of America |
| Patent/Application # | 5315657 |
| Kind Code | United States (US) - United STATES Patent - A |
| Patentee Name | Martin Abadi, Andrew C. Goldstein, Butler W. Lampson |
| Relevant Pages, Columns, or Lines | Claims 3 and 6 especially |
| URL | |
| Publication Date | September 28, 1990 |
| Additional Information | |
Notes / To Do
| Notes | |
Excerpt
claim 3. In a distributed system, a method for defining access for a user to a system resource, the user having specified access privileges and running a specified computer program on a specified workstation, the specified workstation having certain access privileges, the method comprising the steps of:
(a) generating a role code representing the execution of the specific computer program on that workstation;
(b) generating an access code representing the user acting in conjunction with the assigned role code; and
(c) permitting the user to have access to the system resource when the access code indicates that the workstation is executing the specified computer program and the user is acting in conjunction with the execution of the specified computer program.
claim 6. In a distributed system, a method for defining access for a group member to a system resource, the group member having certain access privileges and running a specified computer program on a specified workstation, the workstation having certain access privileges, the method comprising the steps of:
(a) generating a role code representing the execution of the specific piece of software on that workstation;
(b) generating an access code representing the group acting in conjunction with the assigned role represented by the role code; and
(c) allowing the workstation access to the system resource when the access code indicates that it is executing the specified computer program and a member of the group is acting in conjunction with the execution of the specified computer program.
...
In theory, each system resource could include a listing of all of the principals and their access rights and user names. However, such a situation is often impractical as it would require additional memory and maintenance for each resource. Further, if numerous system resources exist, the addition (or deletion) or one principal's would require the modification of numerous lists.
...
(c) Protected Subsystems. Several security systems utilize the notion of a "protected subsystem." A protected subsystem is a particular piece of software, sometimes in combination with a particular user.
...
Generally speaking, an "access control list" (ACL) is a data structure that associates access rights with sets of named principals.
...
(b) Principal Names: Two Basic Types. The named principals contained in the global naming system may be of at least two types: users and systems. A "user" is defined as the person who uses systems and resources, and instigates access to "objects." A "system" is basically defined as a state machine (i.e., a device that when given a current state, a translation function, and some inputs yields a new state and a set of outputs). In simple terms, a system is a computer running a piece of specific software. A system may be a computer running a certain piece of software, or a process running underneath another system (e.g., a process running within a particular operating system). Systems having other systems running underneath them are sometimes referred to as "engines."
Relevance
Claims
Claim 1
In a digital computer system having a digital data processing means for executing a plurality of digital programs and a memory means for storing digital program instructions and digital data, apparatus for protecting a digital computer user from operations typically performable by a digital computer program executing on behalf of a user comprising:
a) means for storing a plurality of digital authorization entries in said memory means, wherein said entries qualify operations which an associated program is permitted to perform when executed by said processing means; and
b) means for storing in at least one segment, digital data for associating said authorization entries with at least one program.
Relevance
The patent describes ACLs which express access privileges to a resource based on a combination of one or more of: user, program, machine, group. Each is given a role code; the combination of codes is used to establish if the resource access is allowed or denied (qualified). ACLs are, of course, stored.
The patent describes ACLs which express access privileges to a resource based on a combination of one or more of: user, program, machine, group. Each is given a role code; the combination of codes is used to establish if the resource access is allowed or denied (qualified). ACLs are, of course, stored.
Claim Chart
All


