Macaroons (computer science)

In computer security, a macaroon is an authorization credential that supports decentralized delegation between principals.

Macaroons are used in a variety of systems, including the Ubuntu Snappy package manager, the HyperDex data store, the Matrix communication protocol, and the Python Package Index.

Claims

A macaroon is composed of series of "caveats", for example:

The macaroon model doesn't specify the language for these caveats; The original paper proposes a model of subjects and rights, but the details are left to individual implementations.

Macaroons are similar to some other technologies.

Compared to JSON Web Token (JWT):

Compared to Certificates

Invalidation

Implementations need to decide whether the entire macaroon tree is invalidated at once from its root, the server secret key; or if intermediate macaroons are to be blacklisted, comparable to time-bound JWT's.

See also

References

  1. ↑ Birgisson, Arnar; Politz, Joe Gibbs; Erlingsson, Úlfar; Taly, Ankur; Vrable, Michael; Lentczner, Mark (2014). "Macaroons: Cookies with Contextual Caveats for Decentralized Authorization in the Cloud". Proceedings 2014 Network and Distributed System Security Symposium. San Diego, CA: Internet Society. doi:10.14722/ndss.2014.23212. ISBN 9781891562358.{{cite journal}}: CS1 maint: periodical has ISBN (link)
  2. ↑ Nestor, Marius (16 April 2016). "Canonical Announces Snappy 2.0 Ahead of the Ubuntu Core 16.04 LTS Release". softpedia. Retrieved 2016-05-11.
  3. ↑ "Time for Better Security for NoSQL". Hacking Distributed. Retrieved 2016-05-12.
  4. ↑ "My First Macaroon: A New Way to do Authorization". Hacking Distributed. Retrieved 2019-11-22.
  5. ↑ "A new package index for Python [LWN.net]". lwn.net. Retrieved 2019-11-22.