|
|
|
|
|
by staticassertion
1484 days ago
|
|
So to recap, a capability is a value that represents authorization. The value must not be forgeable, the value must be communicable. If I'm unable to convey authorization by giving you the token, it is not a capability. If I am able to guess the token, it is not a capability. Delegation is not forgery. Forgery would be an entity creating a token without the token being delegated to that entity. Guessing is forgery, but you can "guess" a uuid in the same way that you can "break AES" with a bruteforce, which is to say, you can't. |
|
You're taking "communicable" too literally. It doesn't mean "literally giving someone else this bytestring and now they can do it, too". It means "there is a way to give someone else the capability". SCM_RIGHTS is such a way to communicate capabilities between processes. Further up above you're also conflating files and file descriptors, which are very different things.