| ▲ | LoganDark a day ago | |||||||||||||||||||||||||
> Traditional capabilities last forever, unless there is some sort of support for revoking already issued capabilities, and those mechanisms tend are far from straightforward. Capabilities don't have to hold the actual permission to access the object. Capabilities can simply hold a provenance that can be used to verify the source of the access. If that access is then revoked from that source, the capability doesn't need to change at all. This is similar to how generational arenas work in some game engines, IMO. AFAIK Android performs something similar to this with the storage URLs that are provided to apps, which will be different depending on which picker provided the file/media, etc. Apple probably also does something similar, but I'd imagine with objects rather than strings. | ||||||||||||||||||||||||||
| ▲ | bheadmaster a day ago | parent | next [-] | |||||||||||||||||||||||||
> Capabilities don't have to hold the actual permission to access the object. Capabilities can simply hold a provenance that can be used to verify the source of the access. If that access is then revoked from that source, the capability doesn't need to change at all. Which complicates the initial premise that > capabilities are the simplest model in the world. You hand out objects. You can call methods on the object. What that method call has access to depends on the permissions on the object, not your permissions. Which is exactly what the parent said. Capabilities sound simple at first, but require complex machinery to work. | ||||||||||||||||||||||||||
| ▲ | naasking 19 hours ago | parent | prev [-] | |||||||||||||||||||||||||
> Capabilities can simply hold a provenance that can be used to verify the source of the access. If that access is then revoked from that source, the capability doesn't need to change at all This is basically using access control lists to mimic a capability system [1]. The capability folks did something similar in "Polaris", their layer atop Windows XP that enforced principle of least authority by default. If only MS had taken that and run with it. [1] A Distributed Capability Computing System (DCCS), http://www.webstart.com/jed/papers/DCCS/ [2] Polaris: Virus-Safe Computing For Windows XP, https://cacm.acm.org/research/polaris-2/ | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||