Re: some capability queries
"Jonathan S. Shapiro" <[email protected]> Sat, 28 Feb 2015 12:42:51 -0800
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <CAAP=3QMQogjMUPh9EAuhZvwK4rwuZt4YzefkU-8ZV+w1u+MB2Q@mail.gmail.com> |
Jithu: I saw your questions here in January. I had planned to respond, but was off dealing with other issues. Let's see if I can provide some answers... On Wed, Jan 7, 2015 at 7:55 PM, Jithu Joseph <[email protected]> wrote: > 1. I see that capabilities being used as unforgeable tokens of fine > grained authority. I have seen this fact being used to reduce ambient > authority in systems like Capsicum, where in the parent ambient > process creates a sandbox and grants it only the authorities (file > descriptors) it needs. I understand this clearly and its value in > reducing the existing ambient authority existing by virtue of the > global name space. > Yes. The other aspect of this is that capabilities act as designators/descriptors. The potential problem with fine-grain authority is that the number of things to manage might rise in such a way that the complexity of management begins to lead to errors. Because of this, theres is a point of diminishing returns as fine-grain protection gets finer. One way - perhaps the best way - is to associate the protection with something that the programmer must deal with *anyway*. In this case: the object designator or descriptor. There are two very nice things about that particular association: 1. It ensures that validation of protection is *never* dis-associated from use of an object. 2. It means that protection is not something that must be considered independent of the objects that the programmer must deal with. It all becomes a single, unified set of issues. > 2. Then I see EROS and SEL4, which tries to create a formal model > (based on variations of take grant )and formally proves the following > about their mechanisms . > SEL4 - it is feasible to implement isolated subsystems using seL4 > mechanisms, > EROS - formally verifying the correctness of their confinement mechanism > The isolation proof in SEL4 is interesting. I think their proof could be corrected, but in the published version their main theorem is stated incorrectly, and IIRC they rely on several complicated and trusted subsystems to maintain the isolation boundaries. > 3. From what I understood in KeyKOS (on which EROS is based), the > component called reference monitor, is responsible for validating all > the interaction between compartments . It is where the appropriate > "sharing" rules and policies are defined, and thus where the > discretionary and mandatory rules are checked and enforced. > Yes and no. These are not features of EROS or KeyKOS inherently. They were the method used to implement the prototype multi-level secure system. In that system, compartments were bounded by confinement, and communication between compartments were handled through a reference monitor. In a practical real-world deployment of this type of system, I'm not at all convinced that this approach makes sense. > 4. using confinement(2) and controlled interactions(3) among > compartments - what do we really achieve or how are they different > from other access control models? > That's a long religious discussion. It starts with the question: is mandatory access control practically useful? In my opinion, the traditional model of mandatory access control focuses on the wrong things and the wrong kinds of separation of concerns. Others here will have strongly different opinions about that. > 5. Can we express anything (policies) more / differently using > capability systems than with other systems/ access control models ? > Definitely. In my opinion, the most important thing we can express - very cleanly - is separation of concerns and separation of agency. We can build applications in such a way that, when they interact with state that is precious to the user, they are forced to do so through an agent that actually acts on behalf of the user rather than on behalf of the application. There are other access control models in which that can be framed, weakly, but none in which it can be realized so pervasively and so easily. Some of the biggest "insider" problems we face in computers today trace to a complete failure of separation of agency. > 6. There is this really nice concept of delegation ... however in most > of recent systems , I have only seen the confinement / sandboxing of > this. Delegation is mostly between the ambient parent and the sandbox > . Can you point me to some systems which use delegation more > concretely among multi-parties so that i can understand this better. > I cannot. One of the big *weaknesses* of capability systems is that there isn't a clean way to deal with sharing and [selective] revocation. There are stories about membrane patterns, but those stories do not work well in practice in capability-based operating systems. > 7. Can capabilities be as expressive as ABAC , which is said to be > used in medical systems [e.g. access to the patient record can be > restricted to specific cardiologists involved in that patient’s care > as these doctor’s attributes can be included in the ABAC policy of the > record] > Capabilities are strictly more expressive than ABAC. shap (Jonathan Shapiro) _______________________________________________ cap-talk mailing list [email protected] http://www.eros-os.org/mailman/listinfo/cap-talk