throbber
Protection and the
`Control of Information
`Sharing in Multics
`
`Jerome H. Saltzer
`Massachusetts Institute of Technology
`
`
`
`The design of mechanisms to control the sharing
`of information in the Multics system is described. Five
`design principles help provide insight into the tradeolfs
`among different possible designs. The key mechanisms
`described include access control lists, hierarchical control
`of access specifications, identification and authentication
`of users, and primary memory protection. The paper
`ends with a discussion of several known weaknesses
`
`in the current protection mechanism design.
`Key Words and Phrases: Multics, protection, security,
`privacy, access control, authentication, computer
`utilities, time-sharing systems, proprietary pro grams, pro-
`tected subsystems, virtual memory, descriptors
`CR Categories: 3.70, 4.30, 6.2
`
`
`
`Copyright © 1974, Association for Computing Machinery, Inc.
`General permission to republish, but not for profit, all or part
`of this material is granted provided that ACM’s copyright notice
`is given and that reference is made to the publication, to its date
`of issue, and to the fact that reprinting privileges were granted
`by permission of the Association for Computing Machinery.
`This is a revised version of a paper presented at the Fourth ACM
`Symposium on Operating Systems Principles,
`IBM Thomas J.
`Watson Research Center, Yorktown Heights, New York, October
`15-17, 1973.
`Work reported herein was conducted by the Computer Systems
`Research Division of Project MAC, an M.l.T. research program
`sponsored by the Advanced Research Projects Agency, Department
`of Defense, under Office of Naval Research Contract number
`N00014-70—A—0362-0006. Author’s address: Computer Systems
`Research Division, Massachusetts Institute of Technology, Project
`MAC, 545 Technology Square, Cambridge, MA 02139.
`
`388
`
`An essential part of a general-purpose computer util-
`ity is a set of protection mechanisms which control trans-
`fer of information among users of the utility. The Mul-
`tics system,‘ a prototype computer utility, serves as a
`case study of protection mechanisms which can permit
`controlled sharing of information in an on—line, general-
`purpose,
`information—storing system. This paper pro-
`vides a survey of the techniques currently used in
`Multics to provide controlled sharing, user authentica-
`tion,
`inter—user
`isolation,
`supervisor—user protection,
`user—written proprietary programs, and control of
`special privileges.
`Controlled sharing of information was a goal in the
`initial specifications of Multics [8, 12], and has in-
`fluenced every stage of system design, starting with hard-
`ware modifications to the General Electric 635 com~
`
`puter which produced the original GE 645 base for
`Multics. As a result,
`information protection is more
`thoroughly integrated into the basic design of Multics
`than is the case for those commercial systems whose
`original specifications did not include comprehensive
`consideration of information protection.
`Multics is an evolving system, so any case study must
`be a snapshot taken at some specific time. The time
`chosen for this snapshot is summer, 1973, at which time
`Multics was operating at M.I.T. using the Honeywell
`6180 computer system. Rather than trying to document
`every detail of a changing environment, this paper con-
`centrates on the protection strategy of Multics, with the
`goal of communicating those ideas which can be applied
`or adapted to other operating systems.
`In trying to identify the ideas related to protection
`which were introduced by Multics, a certain amount of
`confusion occurs. The design was initially laid out in
`1964-1967, and ideas were borrowed from many sources
`and embellished, and new ideas were added. Since then,
`the system has been available for study to many other
`system designers, who have in turn borrowed and embel-
`lished the ideas they found in Multics while constructing
`their own systems. Thus some of the ideas reported here
`have already appeared in the literature, and earlier ver-
`sions of some ideas have been scattered in previous
`papers and books about Multics. However, Multics is
`unique in the extent to which information protection has
`been permitted to influence the entire system design. By
`describing in one place the range of protection ideas
`embedded in Multics, and their current design status,
`the extent of this influence should become apparent.
`
`1 A brief description of Multics and a more complete bibliogra-
`phy of Multics publications are given in the paper by Corbaté,
`Saltzer, and Clingen [7].
`
`Communications
`of
`the ACM
`
`July 1974
`Volume 17
`Number 7
`
`EMC V. IV
`
`IPR20l7-00338
`
`EMC v. IV
`IPR2017-00338
`Ex. 1028
`
`Ex. 1028
`
`

`
`Design Principles
`
`One of the lessons learned during the development
`of Multics was the importance of formulating design
`principles and of carefully communicating these design
`principles to every project member. Although they were
`articulated only during the project rather than in ad-
`vance, the following five principles, especially applicable
`to protection, are worthy of mention.
`1. Base
`the protection mechanisms on permission
`rather than exclusion. This principle means that the de-
`fault situation is lack of access, and the protection
`scheme identifies conditions under which access is per-
`mitted. The alternative, in which mechanisms attempt to
`identify conditions under which access should be re-
`fused, seems to present a wrong psychological base for
`secure system design. A conservative design must be
`based on arguments on why objects should be accessible,
`rather than on why they should not; in a large system
`some objects will be inadequately considered and a
`default of lack of permission is more fail-safe. Similarly,
`a design or implementation mistake in a mechanism
`which gives explicit permission tends to fail by refusing
`permission, a safe situation, since it will be quickly de-
`tected. A design or implementation mistake in a mecha-
`nism which explicitly excludes access tends to fail by not
`excluding access, a failure which may go unnoticed.
`2. Check every access
`to every object
`for current
`authority. In a system designed to operate continuously,
`this principle requires that,
`if access decisions are re-
`membered for future use, careful consideration be given
`to how changes in authority are propagated into such
`local memories.
`
`3. The design is not secret. The mechanisms should not
`depend on the ignorance of potential attackers, but
`rather on possession of specific, more easily protected,
`protection keys or passwords. This strong decoupling of
`protection mechanisms from protection keys permits the
`mechanisms to be examined by many reviewers, without
`concern that such review itself may compromise the
`safeguards. This principle is not new~—Peters [24] and
`Baran [2] discuss it in depth~but its violation sent a
`surprising number of design proposals back to the draw-
`ing boards.
`4. The principle of least privilege. Every program and
`' every privileged user of the system should operate using
`the least amount of privilege necessary to complete the
`job. The purpose of this principle is to reduce the num—
`ber of potential interactions among privileged programs
`to the minimum necessary to operate correctly, so that
`one may develop confidence that unintentional, un-
`wanted, or improper uses of privilege do not occur. If
`this principle is followed, the effect of accidents is re-
`duced. Also, ifa question related to misuse ofa privilege
`occurs, the number of programs which must be audited
`is minimized. Put another way, if one has a mechanism
`available which can provide “firewalls,” the principle of
`least privilege provides a rationale for where to install
`
`389
`
`the firewalls. The military security rule of “need-to-
`know” is an example of this principle.
`5.
`It is essential that the human interface be designed
`for naturalness, ease of use, and simplicity, so that users
`will routinely and automatically apply the protection
`mechanisms.
`
`In the design of Multics there were two specific func-
`tional objectives worth mention. The first of these was to
`provide for decentralization of the setting of protection
`specifications. If a system design forces too many ad-
`ministrative decisions (e.g. protection specifications) to
`be set by a single administrator, that administrator can
`quickly become a bottleneck and an impediment
`to
`effective use of the system, with the result that users
`begin adopting habits which bypass the administrator,
`perhaps compromising protection in the bargain. Only
`by permitting the individual user some control of his
`own administrative environment can one insist that he
`
`take responsibility for his work. Of course, on the other
`hand, centralization of authority must also be available
`as an option.
`The second functional objective was to assume that
`some users will require protection schemes not antici-
`pated in the original design. This objective requires that
`the system provide a set of handholds so that the user,
`without exercising special privileges, may construct a
`protection environment which can interpret access re-
`quests however he desires. The method used in Multics
`is to permit any user to construct a protected subsystem,
`which is a collection of programs and data with the
`property that the data may be accessed only by programs
`in the subsystem, and the programs may be entered only
`at designated entry points. A protected subsystem can
`thus be used to program any desired access control
`scheme.
`
`The Storage System and Access Control Lists
`
`The central fixture of Multics is an organized infor-
`mation storage system [8]. Since the storage system pro-
`vides both reliability and protection from unauthorized
`information release, the user is thereby encouraged to
`make it the repository for all of his programs and data
`files. All use of information in the storage system is im-
`plemented by mapping the information into the virtual
`memory of some Multics process. Physical storage loca-
`tion is automatically determined by activity. As a result,
`the storage system is also used for all system data bases
`and tables,
`including those related to protection. The
`consequence of these observations is that one access con-
`trol mechanism, that of the storage system, handles al-
`most all of the protection responsibility in Multics.
`Storage is logically organized in separately named
`data storage segments, each of which contains up to
`262,144 36-bit words. A segment is the cataloging unit
`of the storage system, and it is also the unit of separate
`protection. Associated with each segment is an access
`
`Communications
`of
`the ACM
`
`July 1974
`Volume 17
`Number 7
`
`

`
`control list, an open-ended list of names of users who
`are permitted to reference the segment? To understand
`the structure'of the access control list, first consider that
`every access to a stored segment is actually made by a
`Multics process. Associated with each process is an un-
`forgeable character string identifier, assigned to the
`process when it was created. In its simplest form, this
`identifier might consist of the personal name of the indi-
`vidual responsible for the actions of the process. (This
`responsible person is commonly called the principal,
`and the identifier, the principal identifier.) Whenever the
`process attempts to access a segment or other object
`cataloged by the storage system, the principal identifier
`of the process is compared with those appearing in the
`access control list of the object; if no match is found
`access is not granted.
`Actually, Multics uses a more flexible scheme which
`facilitates granting access to groups of users, not all of
`whose members are known, and which may have dy-
`namically varying membership. A principal identifier in
`Multics consists of several parts; each part of the identi-
`fier corresponds to an independent, exhaustive partition
`of all users into named groups. At present, the standard
`Multics principal identifier contains three parts, corre-
`sponding to three partitions.
`1. The first partition places every individual user of the
`installation in a separate access control group by him-
`self, and names the group with his personal name. (This
`partition is identical to the simple mechanism of the
`previous paragraph.)
`2. The second partition places users in groups called
`projects, which are basically sets of users who cooperate
`in some activity such as constructing a compiler or up-
`dating an inventory file. One person may be a member of
`several projects, although at the beginning of any in-
`stance of his use of Multics he must decide under which
`
`project he is operating. A project administrator decides
`which users are to be in his project.
`3. The third partition places users in named groups
`called compartments. Any user may operate in any of the
`named compartments, by designating which compart-
`ment he wishes to use at the time he authenticates his
`
`identity. Compartments are useful when borrowing un-
`audited programs: a user may indicate that certain of
`his files can be accessed only by him, and further only
`when he is operating in compartment “a”. He can then
`be careful to utilize the borrowed program only when he
`is operating in compartment “b”; the borrowed program
`cannot access those files restricted to compartment “a”.3
`Although the precise description in terms of exhaus-
`tive partitions sounds formidable,
`in practice a rela-
`tively easy-to-use mechanism results. For example, the
`
`list corresponds roughly to a
`2 The Multics access control
`column of Lampson’s protection matrix [19].
`3 The third partition has not yet been completely implemented.
`The current system uses the third partition only to distinguish be-
`tween interactive and absentee use of the system. The Multics pro-
`tection ring scheme [28] provides an alternative method for safely
`executing borrowed programs.
`
`390
`
`user named “Jones” working on the project named
`“Inventory” and designating the personal compartment
`named “a” would be assigned the principal identifier:
`
`Jones-Inventory- a
`
`Whenever his process attempts to access an object cata-
`loged by the storage system,
`this three-part principal
`identifier is first compared with successive entries of the
`access control list for the object. An access control list
`entry similarly has three parts, but with the additional
`convention that any or all of the parts may carry a spe-
`cial flag to indicate “don’t care” for that particular par-
`tition. (We represent the special fiag with an asterisk in
`the following examples.) Thus, the access control list
`entry
`
`Jones- Inventory- a
`
`would permit access to exactly the principal of our
`earlier example. The access control list entry
`
`Jones-*-*
`
`would permit access to Jones no matter what project he
`is operating under, and independent of his personally
`designated compartment. Finally, the access control list
`entry
`
`* - Inventory- *
`
`would permit access to all users of the “Inventory”
`project. Matching is on a part-by—part basis, so there is
`no confusion if there happens to be a project named
`“Jones”.
`
`is
`it
`identifiers,
`Using multicomponent principal
`straightforward to implement a variety of standard
`security mechanisms. For example, the military “need-
`to—know” list corresponds to a series of access control
`list entries with explicit user names but (possibly) aster-
`isks in the remaining fields. The standard government
`security compartments are examples of additional parti-
`tions, and would require a minor change in Multics,
`namely extending the principal identifier to four or more
`parts, each additional part corresponding to one com-
`partment in use at a particular installation. (Every per-
`son would be either in or out of each such compartment.)
`A restriction of access to users who are simultaneously
`in two or more compartments would then be easily
`expressed.
`We have used the term “object” to describe the en-
`tities cataloged by the storage system with the intent of
`implying that segments are not the only kinds of objects.
`Currently, four kinds of objects are implemented or
`envisioned:
`
`l. Segments.
`2. Message queues (experimental implementation).
`3. Directories (called catalogs in some systems).
`4. Removable media descriptors (not yet implemented).
`For each object, there are several separately control-
`lable modes of access to the object. For example, a seg-
`ment may be read, written, or executed as a procedure.
`
`Communications
`of
`the ACM
`
`July 1974
`Volume 17
`Number 7
`
`

`
`Table I. Acceptable Combinations of Access Modes for a Segment
`
`Mode
`
`Typical use
`
`access denied
`none
`read-only data
`r
`pure procedure
`re
`writeable data
`rw
`
`rew impure procedure
`
`If we use the letters r, w, and e for these three modes of
`access, an access control list entry for a segment may
`specify any of the combinations of access in Table 1.
`Certain access mode combinations are prohibited either
`because there is no widely useful
`interpretation (e.g.
`write access by itself) or correct implementation requires
`more sophisticated machinery than implied by the
`simple mode settings. (For example, granting execute
`access only, while appealing as a method of obtaining
`proprietary procedures,
`leaves unsolved certain prob-
`lems of general proprietary procedures, such as protec-
`tion of return points of calls to other procedures. The
`protection ring mechanism described later is used in
`Multics to implement proprietary procedures. The exe-
`cute-only mode, while probably useful for less general
`cases, has not been pursued.)
`In a similar way, message queues permit separate
`control of enqueuing and dequeuing of messages, tape
`reel media descriptors permit separate control of read-
`ing, writing, and appending to the end ofa tape reel, and
`directories permit separate control of listing of contents,
`modifying existing entries, and adding new entries. Con-
`trol of these various forms of access to objects is pro-
`vided by extending each access control list entry to in-
`clude access mode indicators. Thus, the access control
`list entry
`
`Smith- *- * rw
`
`permits Smith to read and write the data segment asso-
`ciated with the entry.
`It would have been simpler to associate an access
`mode with the object itself, rather than with each indi-
`vidual access control
`list entry, but
`the flexibility of
`allowing, for example, some users read-only access while
`others can read and write is a powerful capability. It
`also makes possible exceptions to the granting of access
`to all members of a group. In the case where more than
`one access control list entry applies, with different access
`modes, the convention is made that the first access con-
`trol list entry which matches the principal identifier of
`the requesting process is the one which applies. Thus,
`the pair of access control list entries:
`
`Smith-Inventory- * (none)
`
`*-Inventory- * rw
`
`would deny access to Smith, while permitting all other
`members of the “Inventory” project to read and write
`the segment.4 To insure that such control is effective,
`
`391
`
`when an entry is added to an access control list, it is
`sorted into the list according to how specific the entry is
`by the following rule: all entries containing specific
`names in the first part are placed before those with
`“don’t cares” in the first part. Each of those subgroups
`is then similarly ordered according to the second part,
`and so on. The purpose of this sorting is to allow very
`specific additions to an access control list to tend to take
`precedence over previously existing (perhaps by de-
`fault) less specific entries, without requiring that the user
`master a language which permits him arbitrary ordering
`of entries. The goal is that most common access control
`intentions are handled correctly automatically, and only
`unusually sophisticated intentions require careful analy-
`sis by the user to get them to come out right. As men-
`tioned later, under the discussion of weaknesses, this
`goal has been achieved only partially.
`To minimize the explicit attention which a user must
`give to setting access control lists, every directory con-
`tains an “initial access control list.” Whenever a new
`
`object is created in that directory, the contents of the,
`initial access control list are copied into the access con-
`trol list of the newly created objects") Only if the user
`wishes access to be handled differently than this does he
`have to take explicit action. Permission to modify the
`entries in a directory implies also permission to modify
`its initial access control list.
`The access control list mechanism illustrates an inter-
`
`esting subtlety. One might consider providing, as a con-
`venience, checking of new access control list entries at
`the time they are made, for example to warn a user that
`he has just created an access control
`list entry for a
`nonexistent person. Such checks were initially imple‘
`merited in Multics, but it was quickly noticed that they
`represented a kind of compromise of privacy: by creat-
`ing an access control list entry naming an individual, the
`presence or absence of an error message would tell
`whether or not that individual was a registered user of
`the system, thereby possibly compromising his privacy.
`For this reason, a name-encoding scheme which required
`checking of access control entry names at the time they
`were created was abandoned.
`
`It is also interesting to compare the Multics access
`control scheme with that of the earlier CTSS system [6].
`In CTSS, each file had a set of access restriction bits, ap-
`plying to all users. Sharing of files was accomplished by
`permitting other users to place in their directories special
`4 This feature violates the design principle that selective exclu-
`sion is less desirable than selective permission (because of the risk of
`undetected errors), but has been provided nevertheless to avoid the
`clumsy alternative oflisting every nonexcluded project member.
`An earlier version of Multics did not copy the initial access con-
`trol list, but instead considered it to be a common appendix to every
`access control list in that directory. That strategy made automatic
`sorting of access control list entries ineffective, so sorting was left
`to the user. As a result, the net effect of a single change to the com-
`mon appendix could be different for every object in the directory,
`leading to frequent mistakes and confusion, in violation of the design
`principle that calls for naturalness and ease of use. Since in the pro-
`tection area, it is essential that a user be able to easily understand the
`consequences of an action, this apparently more flexible design was
`abandoned in favor of the less flexible but more understandable one.
`
`Communications
`of
`the ACM
`
`July 1974
`Volume 17
`Number 7
`
`

`
`entries called links, which named the original file, and
`typically contained further
`restrictions on allowable
`access modes. In modern terminology, these links were
`essentially a form of capability [1 1 J, and the CTSS scheme
`had several defects common to capability systems but
`not present in the Multics arrangement.
`1. Once a link was in place there was no way to remove
`it without modifying the borrower’s directory. Thus,
`revocation of access was awkward.
`
`2. A single user, using the same file via different links,
`could have different access privileges, depending on
`which link he used. Allowing access rights to depend on
`the name which happened to be used for an object cer-
`tainly introduced an extra degree of flexibility, but this
`flexibility more often resulted in mistakes than in use-
`fulness.
`
`3. As part of a protection audit, one would like to be
`able to obtain a list of all users who can access a file. To
`
`construct that list in CTSS, one had to search every direc-
`tory in the system to make a list of links. Thus such an
`audit was expensive and also compromised other users’
`privacy.
`Multics retains the concept of a link as a naming con-
`venience, but the Multics link confers no access privi-
`leges—it is only an indirect address.
`Early in the design of Multics [8] an additional ex-
`tension was proposed for an access control list entry:
`the “trap” extension, consisting ofa one—bit flag and the
`name of a procedure.“ The idea was that for all users
`whose principal identifier matched with that entry, ifthe
`trap flag were on, the procedure named in the trap exten-
`sion should be called,
`in the manner of an interrupt
`handler, before access be granted. The procedure, sup-
`plied by the setter of the access control list entry, could
`supply arbitrary access constraints, such as permitting
`access only during certain hours or only after asking
`another logged in user for an OK. This idea, like that of
`the execute-only procedure, is appealing but requires an
`astonishing amount of supporting mechanism. The trap
`procedure cannot be run in the requesting user’s address-
`ing and protection environment, since he is in control of
`the environment and could easily subvert the trap proce-
`dure. Since the trap procedure is supplied by another
`user,
`it cannot be run in the supervisor’s protection
`environment, either, so a separate, protected subsystem
`environment is called for. Since the current Multics pro-
`tected subsystem scheme allows a subsystem to have ac-
`cess to all of its user’s files, implementation of the trap
`extension could expose a user to unexpected threats from
`trap procedures on any data segment he touches. There-
`fore, at the least, a user should be able to request that he
`be denied access to objects protected by trap extensions
`rather than be subject to unexpected threats from trap
`procedures. Finally, if such a trap occurs on every read
`or write reference to the segment, the cost would be high.
`On the other hand, ifthe trap occurs only at the time the
`segment is mapped into a user’s address space,’ then the
`design principle that every reference be validated is vio-
`
`392
`
`lated; revocation of access becomes difficult, especially
`if the system is operated continuously for long periods.
`The sum total of these considerations led to temporarily
`abandoning the idea ofthe trap extension, perhaps until
`such time as a more general domain scheme, such as that
`suggested by Schroeder [27], is available.
`Both backup copying of segments (for reliability)
`and bulk 1/0 to printers and other devices are carried
`out by operator—controlled processes which are subject
`to access control just as are ordinary users. Thus a user
`can insure that printed copies of a segment are not acci-
`dentally made, by failing to provide an access control
`list entry which permits the printer process to read the
`segment? Access control list entries permitting backup
`and bulk I/0 are usually part of the default initial access
`control list. Bulk input of cards is accomplished by an
`operator process which reads them into a system direc-
`tory and leaves a note for the user in question to move
`them to his own directory. This strategy guarantees that
`there is no way in which one user can overwrite another
`user’s segment by submitting a spurious card input re-
`quest. These mechanisms are examples of the design
`principle that every access to every object is checked for
`authority.
`An administrative consequence of the access control
`list organization is that personal and project names, once
`assigned, cannot easily be reused since the names may
`appear in access control lists. In principle, a system ad-
`ministrator could, when a user departs, unregister him
`and then run a superprivileged program which examines
`every access control list of the storage system for in-
`stances of that name, and delete them. On the other
`hand, such a systematic search would not discover user
`programs which initialize access control lists and con-
`tain names of now-departed users. Thus, the alternative
`scheme was adopted, requiring all user names, once
`registered, to be permanent.
`limitation of the
`Finally,
`the one most apparent
`scheme as presently implemented is its “one-way” con-
`trol of access. With the described access control list or-
`
`lganization, the owner of a segment has complete control
`over who may access it. There are some cases in which
`
`users other than the owner may wish to see access re-
`stricted to an object which the owner has declared pub-
`lic. For example, an instructor of a class may for peda-
`gogical purposes wish to require his students to write a
`particular program rather than make use of an equiva-
`lent one already publicly available in the system. Alter-
`natively,
`a project administrator concerned about
`security may wish to insure that his project members
`cannot copy sensitive information into storage areas
`belonging to other users and which are not under his
`control. He may also want to prevent his project mem-
`bers from setting access control lists to permit access by
`users outside the project. This kind of control can be ex-
`pressed in Multics currently only by going to the trouble
`of constructing a protected subsystem which examines
`all supervisor calls, thereby permitting complete control
`
`Communications
`of
`the ACM
`
`July 1974
`Volume 17
`Number 7
`
`

`
`over which objects are mapped into the address space
`and what terms are added to access control lists. For-
`
`tunately, there have so far appeared only a few examples
`in which such control is required, and the escape sug-
`gested has proven adequate for those cases. It would
`probably be appropriate to extend the standard protec-
`tion machinery to associate with the user’s process two
`constraining lists: a list of pathnames of directories
`whose contents he may access, and a list of access con-
`trol list terms which he is permitted to place on access
`control lists. These two constraining lists would be set
`only by the project administrator or security officer. The
`constraining lists would be especially useful in the mili-
`tary security environment since they would help in the
`construction of a list of items a defector might have had
`access to.
`
`As is evident, the Multics access control list mecha-
`nism represents an engineering tradeoff among three
`confiicting goals: flexibility of expression, ease of under-
`standing and use, and economy of implementation. Ad-
`ditional flexibility of expression was tried (e.g. the com-
`mon access control list mechanism previously noted)
`with the conclusion that the additional confusion which
`
`results from accidental misuse of the generality can out-
`weigh the benefits; apparently the correct direction is the
`opposite, toward simpler, less general, and more easily
`understandable protection structures.
`
`Hierarchical Control of Access Specifications
`
`Since in Multics every object, including a directory,
`must be cataloged in some directory, all objects are ar-
`ranged into a single hierarchical tree of directories. This
`naming hierarchy also provides a hierarchy of control of
`access, through the ability to modify the contents of a
`directory. Since a directory entry consists of the name of
`some object and its access control list, having access to
`modify directory entries is interpreted to include the
`ability to modify the access control lists ofall the objects
`cataloged in that directory. No further hierarchical con-
`trol is provided; for example, there is no ability to say,
`5 Versions of this idea have since been implemented by Hsiao
`[17] and Hotfman [14].
`7 Or, in traditional file systems, at the time the file is “opened.”
`3 Of course, another user who has permission to read the seg-
`ment could make a copy and then have the copy printed. Methods of
`constraining even users who have permission are the subject of con-
`tinuing research [26].
`9 Early versions of Multics provided a limited form of higher-
`level specification in the form of ability to deny all use of a directory,
`and therefore of the objects contained within it. For the reasons sug-
`gested, this feature has been removed.
`10 A locksmith would be an administrator who can provide ac-
`countable intervention when mistakes are made. For example, if an
`organization’s key data base is under the exclusive control of a
`manager who has been disabled in an automobile accident, the lock-
`smith could then provide another manager with access to the file.
`It seems appropriate to formalize the concept of a locksmith so that
`appropriate audit trails and authority lo be a locksmith can be well
`defined. The alternative of sending a system programmer into the
`computer room with instructions to directly patch the system or its
`data may leave no audit trail and almost certainly encourages sloppy
`practice.
`
`393
`
`“Allow read access to Jones for all segments below this
`node in the naming tree.” Such specifications are similar
`in nature to the “common access control list” mentioned
`
`before; they make it diflicult for a user to be sure of all
`the consequences of a change to the access specification.
`For example,
`removing a specification such as that
`quoted above, which perm

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket