--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CANpA1Z2OmEmpE0bTieON%3Df3w7hKvTEGsrV%3DS033AsKg1-sPe2Q%40mail.gmail.com.
Google Doc and Dropbox sharing links, ... were all using ocapsSharing-links that are text strings can be published to the world, even if you don't have a capability to the world, making confinement impossible. Not what I want in a capability system.
To be fair capabilities are used in Cloudflare Workers because I designed it that way. ;)But everyone is pretty happy with the result.Actually, though, capabilities are everywhere. Android's Binder and Chrome's Mojo (foundational parts of these respective systems) are capability systems. I'd argue capabilities are actually very common in successful systems, they just aren't always labeled as such and aren't always "pure".
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/57a35174-efc3-4a6e-b522-4dfa6f1f9c7a%40gmail.com.
I've used Google Docs links as an example of capabilities, but they don't properly support attenuated delegation.
There are two and a half examples of rights amplification in the KeyKOS heritage::
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QNr9oEBzLNKvQ3mtHk11fPe0zSAoLO_kj2Uudnba6zSjQ%40mail.gmail.com.
On 9/26/25 10:53 AM, John Kemp wrote:
Google Doc and Dropbox sharing links, ... were all using ocapsSharing-links that are text strings can be published to the world, even if you don't have a capability to the world, making confinement impossible. Not what I want in a capability system.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/5817581f-b262-45e2-b0df-368658122a9c%40charlielandau.com.
I don't use the term "object capability" all that often mostly because I try to use words that the audience knows, and not enough people know it.But I did make a point of saying that Cap'n Web implements an object-capability model in my blog post on Monday, and then immediately followed it with a list of tangible benefits (not just about security, but expressivity). As far as I can tell, it worked well: people understand this means "this is different from normal RPC systems" and then they see the benefits, and everyone seems universally excited. Well, except one or two trolls on Hacker News who brought up CORBA.
--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAJaLmO4BWz8AAVLCLq-Ljwq5i26_AiFg%3D6ZKkK2xM_hH2QVskw%40mail.gmail.com.
El 09/26/25 a las 14:34, Charlie Landau escribió:
> On 9/26/25 10:53 AM, John Kemp wrote:
>> Google Doc and Dropbox sharing links, ... were all using ocaps
> Sharing-links that are text strings can be published to the world, even
> if you don't have a capability to the world, making confinement
> impossible. Not what I want in a capability system.
1. This is why I always hesitate to use the term "object capability"
2. In my experience, many (most?) URLs are _not_ known, or published to
"the world".
Regards, John
>
> --
> Charlie Landau
> he/him/his (Why Pronouns Matter <https://www.mypronouns.org/>)
>
> --
> You received this message because you are subscribed to the Google
> Groups "cap-talk" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to cap-talk+u...@googlegroups.com <mailto:cap-
> talk+uns...@googlegroups.com>.
> To view this discussion visit https://groups.google.com/d/msgid/cap-
> talk/5817581f-b262-45e2-b0df-368658122a9c%40charlielandau.com <https://
> groups.google.com/d/msgid/cap-talk/5817581f-b262-45e2-
> b0df-368658122a9c%40charlielandau.com?utm_medium=email&utm_source=footer>.
--
Independent Security Architect
t: +1.413.645.4169
e: stable.p...@gmail.com
https://www.linkedin.com/in/johnk-am9obmsk/
https://github.com/frumioj
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/79cd9763-fe57-428c-b4a8-26397fa7e562%40gmail.com.
--
--------------
Alan Karp
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1YMWxzhuRy7%2BxJrKDzWDa0q3%2BSUq%2ByHhKeC7Kz2iUt%2Bw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QNr9oEBzLNKvQ3mtHk11fPe0zSAoLO_kj2Uudnba6zSjQ%40mail.gmail.com.
Jonathan
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QNr9oEBzLNKvQ3mtHk11fPe0zSAoLO_kj2Uudnba6zSjQ%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAK-_AD7ZfPtEqf_QzbKNogXzFvC-fZc_xAfbPP%3D1ZFyEvtw22Q%40mail.gmail.com.
I read Jonathan's use of "rights amplification" differently. He said, "operations by which the authority of a capability can be increased." Note the use of the word "a" in his definition. I think that fit the examples he gave. Rights amplification as you are using it requires a second capability.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z3dr1ZZfGL5iDA7Auk21%3DuPW6Gy%3DFbCQ_ADd6yprstapQ%40mail.gmail.com.
On Fri, Sep 26, 2025 at 10:41 PM 'Mark S. Miller' via cap-talk
<cap-...@googlegroups.com> wrote:
>
>
>
> On Fri, Sep 26, 2025 at 1:19 PM Alan Karp <alan...@gmail.com> wrote:
>>
>> On Fri, Sep 26, 2025 at 9:57 AM Kenton Varda <temp...@gmail.com> wrote:
>>>
>>> To be fair capabilities are used in Cloudflare Workers because I designed it that way. ;)
>>>
>>> But everyone is pretty happy with the result.
>>>
>>> Actually, though, capabilities are everywhere. Android's Binder and Chrome's Mojo (foundational parts of these respective systems) are capability systems. I'd argue capabilities are actually very common in successful systems, they just aren't always labeled as such and aren't always "pure".
>>
>>
>> What's "impure" about them?
>
>
> Kenton, I don't know if you purposely switched from "ocap" to "capability" in making this statement, but I'm glad you did. I coined "object-capability" (ocap) precisely because the term "capability" historically had been stretched so much it became squishy. But leaving aside horrors such as "Linux capabilities", most still share much of the essential idea.* I would agree these other systems are "capability" systems. So when I see "aren't always 'pure'", I read that as "aren't always ocap" which I agree with. Is that a reasonably accurate interpretation?
>
Hopefully I recall correctly and he will clarify, but I believe that
in the past Kenton has said that he rejects that these other horrors
are capabilities,
instead lumping them together as various kinds of "crapabilities" like
"posix crapabilities". Another term which has gone around for projects
like capsicum and cheri is
hybrid capability system, where not all authority is necessarily
isolated to capabilities,
not being familiar with binder or mojo I had
assumed by impure that he was also including these hybrids.
> *Also "reference capabilities". Pony, Fearless, Wyvern have both reference caps and ocaps. Rust, I would argue, has reference caps and a subset of ocaps, even if they call them something different.
>
>
>>
>> --------------
>> Alan Karp
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CACTLOFqF6wL2HqLyUjCnyCW1fR-RgNa0Um3G2rjagn3xmWKv0A%40mail.gmail.com.
I don't understand what you mean when you say, "One property that really must hold is that there are no rights-amplifying operations (that is: operations by which the authority of a capability can be increased). I'm actually not aware of any system that gets this right in the naive sense,"All the certificate capability systems I know of have this property as do the unguessable URL systems, such as Waterken and Google docs. The same is true of OAuth access tokens, although I don't remember if the spec on token exchange says not to increase the scope.
Unix with Unix Domain Sockets is also a hybrid capability system with file descriptors as the capabilities.
But leaving aside horrors such as "Linux capabilities"...
Another term which has gone around for projects
like capsicum and cheri is
hybrid capability system, where not all authority is necessarily
isolated to capabilities,
Asymmetric (aka public) key systems are also rights amplification systems, in that you need both the ciphertext and the decryption key to access the plaintext.
Jonathan
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QM5ZctEYzpEU08WsVpn4es%2BaCd2WKNSFYXmi8XcJnWV7A%40mail.gmail.com.
Jonathan
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/CAAP%3D3QMGrSTy3hKZX-KbGedn2VvhYd9HavrhCu8D2kWSFjVOEA%40mail.gmail.com.
On Fri, Sep 26, 2025 at 5:27 PM Jonathan S. Shapiro <jonathan....@gmail.com> wrote:On Fri, Sep 26, 2025 at 5:08 PM 'Mark S. Miller' via cap-talk <cap-...@googlegroups.com> wrote:Asymmetric (aka public) key systems are also rights amplification systems, in that you need both the ciphertext and the decryption key to access the plaintext.Hmm. Wouldn't that depend on the distribution mechanism used for the private key?A rough analogy for this is a domain that holds text. One oCap to store text into the domain, another to retrieve it. No cryptography involved. This leads me to ponder whether the fact that the ciphertext is a cipher is truly relevant. It seems to me that the functional difference between the two is that transmission of the "read"-authorizing thing is not governed by channels that understand the difference between data payload and authority payload.There's also no object designation here. The key pair isn't specific to a particular text, which leaves me uncertain that ocap intuitions actually apply in this example.I'm probably not thinking about this right.You are.
Unix with Unix Domain Sockets is also a hybrid capability system, with file descriptors as the capabilities. File descriptors in OSes and memory-safe object references in PL are by far the most familiar existing uses of ocaps in hybrid ocap systems. In both cases, we all like them because of their capability-nature.
On Fri, Sep 26, 2025 at 5:27 PM Jonathan S. Shapiro <jonathan....@gmail.com> wrote:I'm probably not thinking about this right.You are.Sorry, I misread. I meant you are mostly thinking about this right.
El 09/26/25 a las 12:57, Kenton Varda escribió:
> Actually, though, capabilities are everywhere. Android's Binder and
> Chrome's Mojo (foundational parts of these respective systems) are
> capability systems. I'd argue capabilities are actually very common in
> successful systems, they just aren't always labeled as such and aren't
> always "pure".
Back in the days when I wrote this in the W3C TAG:
https://www.w3.org/2001/tag/2010/06/01-cross-domain.html related to UMP
vs CORS, I was an enthusiastic designer of capability systems while at
Nokia, but I avoided direct use of the term "object capability."
At that time, Google Doc and Dropbox sharing links, Second Life use of
capability URLs and quite a few others, along with Google's Caja project
were all using ocaps in deployed systems around that time.
Jeni Tennison later wrote a nice document about best practices for
capability URLs: https://www.w3.org/2001/tag/doc/capability-urls/ and
https://w3ctag.github.io/presentations/reveal/capability-urls.html
Worth noting that Jonathan Rees and Dan Connolly were also on the TAG at
this time.
- johnk
--
Independent Security Architect
t: +1.413.645.4169
e: stable.p...@gmail.com
https://www.linkedin.com/in/johnk-am9obmsk/
https://github.com/frumioj
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cap-talk/57a35174-efc3-4a6e-b522-4dfa6f1f9c7a%40gmail.com.
But leaving aside horrors such as "Linux capabilities", most still share much of the essential idea.* I would agree these other systems are "capability" systems. So when I see "aren't always 'pure'", I read that as "aren't always ocap" which I agree with.