Object-capability systems
From Erights
(Difference between revisions)
(27 intermediate revisions not shown) | |||
Line 5: | Line 5: | ||
! Substrate || || Historical System || || System | ! Substrate || || Historical System || || System | ||
|- | |- | ||
- | | Hardware || || Plessey 250, CAP, [http://gordonbell.azurewebsites.net/cgb%20files/cmmp%20multi-mini-processor%20comconference%201972%20c.pdf C.mmp], CM*, IBM System/38, Intel 432 || || [http://www.crash-safe.org/docs/LowFatPtrs-CCS2013.html Crash-SAFE], [http://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ CHERI], [https://riscv.org/ Risc-V] | + | | Hardware || || [https://homes.cs.washington.edu/~levy/capabook/Chapter3.pdf CMNM], [https://en.wikipedia.org/wiki/Plessey_System_250 Plessey 250], [https://www.microsoft.com/en-us/research/publication/the-cambridge-cap-computer-and-its-operating-system/ CAP], [http://gordonbell.azurewebsites.net/cgb%20files/cmmp%20multi-mini-processor%20comconference%201972%20c.pdf C.mmp], [https://pdfs.semanticscholar.org/0820/cc9b611b2655d1bec8b85375650cef877848.pdf CM*], [http://mca-ltd.com/martin/Ten15/introduction.html Flex], [https://www-03.ibm.com/ibm/history/exhibits/rochester/rochester_4009.html IBM System/38], [https://blogs.oracle.com/bmc/revisiting-the-intel-432 Intel 432] || || [http://www.crash-safe.org/docs/LowFatPtrs-CCS2013.html Crash-SAFE], [http://www.cl.cam.ac.uk/research/security/ctsrd/cheri/ CHERI], [https://riscv.org/ Risc-V] |
|- | |- | ||
- | | OS || || [https://www.princeton.edu/~rblee/ELE572Papers/Fall04Readings/ProgramSemantics_DennisvanHorn.pdf DVH], Hydra, StarOS, [http://www.mcjones.org/CalTSS/ Cal-TSS], PSOS, [https://en.wikipedia.org/wiki/NLTSS NLTSS], [https://www.usenix.org/legacy/publications/library/proceedings/cinci93/full_papers/hamilton.txt Spring] || || [https://www.cl.cam.ac.uk/research/security/capsicum/ Capsicum], [https://nuxi.nl/ CloudABI], [http://www.barrelfish.org/ Barrelfish], [https://lwn.net/Articles/718267/ Fuchsia] | + | | OS || || [https://www.princeton.edu/~rblee/ELE572Papers/Fall04Readings/ProgramSemantics_DennisvanHorn.pdf DVH], [https://en.wikipedia.org/wiki/Hydra_(operating_system) Hydra], [https://homes.cs.washington.edu/~levy/capabook/Chapter7.pdf StarOS], [http://www.webstart.com/jed/papers/RATS/RATS.pdf RATS], [http://www.mcjones.org/CalTSS/ Cal-TSS], [http://www.csl.sri.com/users/neumann/psos.pdf PSOS], [https://en.wikipedia.org/wiki/NLTSS NLTSS], [https://www.usenix.org/legacy/publications/library/proceedings/cinci93/full_papers/hamilton.txt Spring] || || [https://www.cl.cam.ac.uk/research/security/capsicum/ Capsicum], [https://nuxi.nl/ CloudABI], [https://github.com/genodelabs/genode Genode], [http://www.barrelfish.org/ Barrelfish], [https://lwn.net/Articles/718267/ Fuchsia] |
|- | |- | ||
- | | KeyKOS family OS || || [http://cap-lore.com/Agorics/Library/KeyKos/gnosisShare.html Gnosis], [http://cap-lore.com/Agorics/Library/keykosindex.html KeyKOS], GuardOS, [https://en.wikipedia.org/wiki/EROS_(microkernel) EROS], [http://www.capros.org/ CapROS], Coyotos || || [https://sel4.systems/ seL4] | + | | KeyKOS family OS || || [http://cap-lore.com/Agorics/Library/KeyKos/gnosisShare.html Gnosis], [http://cap-lore.com/Agorics/Library/keykosindex.html KeyKOS], [http://www.cap-lore.com/Agorics/Library/guardoswhitepaper.html GuardOS], [https://en.wikipedia.org/wiki/EROS_(microkernel) EROS], [http://www.capros.org/ CapROS], [https://ipfs.io/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/Coyotos.html Coyotos] || || [https://sel4.systems/ seL4] |
|- | |- | ||
| Distributed OS || || [https://www.cs.vu.nl/pub/amoeba/amoeba.html Ameoba], [https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/Mach/Mach.html Mach], [http://joeduffyblog.com/2015/11/03/blogging-about-midori/ Midori] || || | | Distributed OS || || [https://www.cs.vu.nl/pub/amoeba/amoeba.html Ameoba], [https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/Mach/Mach.html Mach], [http://joeduffyblog.com/2015/11/03/blogging-about-midori/ Midori] || || | ||
|- | |- | ||
- | | Language || || [http://www.erights.org/history/morris73.pdf Gedanken], W7, J-Kernel, [https://github.com/davidwagner/joe-e Joe-E], [[Emily]], [https://web.archive.org/web/20130116033811/http://caperl.links.org/ CaPerl], [https://developers.google.com/caja/ Caja], [http://www2.fiit.stuba.sk/~kosik/doc/sofsem2008.pdf Tamed Pict] || || [http://monte.readthedocs.io/ Monte], [https://github.com/tc39/proposal-frozen-realms Frozen Realms], [http://shill.seas.harvard.edu/ shill], [http://wyvernlang.github.io/ Wyvern], [https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md wasm-gc] | + | | Language || || [http://www.erights.org/history/morris73.pdf Gedanken], [http://mumble.net/~jar/pubs/secureos/ W7], [http://www.cs.cornell.edu/slk/jk-0.91/doc/Default.html J-Kernel], [https://github.com/davidwagner/joe-e Joe-E], [[Emily]], [https://web.archive.org/web/20130116033811/http://caperl.links.org/ CaPerl], [https://developers.google.com/caja/ Caja], [http://www2.fiit.stuba.sk/~kosik/doc/sofsem2008.pdf Tamed Pict], [https://web.archive.org/web/20111105211124/http://plash.beasts.org/wiki/ Plash] || || [http://monte.readthedocs.io/ Monte], [https://github.com/tc39/proposal-frozen-realms Frozen Realms], [http://shill.seas.harvard.edu/ shill], [http://wyvernlang.github.io/ Wyvern], [https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md wasm-gc] |
|- | |- | ||
- | | Distributed Language || || Act-1, Eden, Emerald, Vulcan, Joule, [http://wiki.erights.org E], M# || || [https://www.ponylang.org/ Pony], [http://uu.diva-portal.org/smash/get/diva2:1164769/FULLTEXT01.pdf Kappa], [https://research.google.com/pubs/pub40673.html Dr.SES] | + | | Distributed Language || || Act-1, [https://dl.acm.org/citation.cfm?doid=323627.323646 Eden], [http://www.emeraldprogramminglanguage.org/ Emerald], [https://dl.acm.org/citation.cfm?id=28721 Vulcan], [http://www.erights.org/history/joule/ Joule], [http://wiki.erights.org E], [http://www.info.ucl.ac.be/~pvr/oze.pdf Oz-E], [https://www.cs.drexel.edu/~csgordon/papers/oopsla12.pdf M#] || || [https://www.ponylang.org/ Pony], [http://uu.diva-portal.org/smash/get/diva2:1164769/FULLTEXT01.pdf Kappa], [https://research.google.com/pubs/pub40673.html Dr.SES] |
|- | |- | ||
| Distributed Storage || || [https://alanhkarp.com/scoopfs/index.html Scoopfs] || || [https://tahoe-lafs.org/trac/tahoe-lafs Tahoe-LAFS] | | Distributed Storage || || [https://alanhkarp.com/scoopfs/index.html Scoopfs] || || [https://tahoe-lafs.org/trac/tahoe-lafs Tahoe-LAFS] | ||
|- | |- | ||
- | | Crypto Protocol || || DCCS | + | | Crypto Protocol || || [http://www.webstart.com/jed/papers/DCCS/ DCCS], [http://www.erights.org/elib/distrib/captp/index.html CapTP], [https://github.com/warner/foolscap/blob/latest-release/doc/using-foolscap.rst Foolscap], [http://www.hpl.hp.com/techreports/2001/HPL-2001-136.html Client Utility], [http://waterken.sourceforge.net/ Waterken] || || [http://isr.uci.edu/projects/coast/ COAST], [https://capnproto.org/ Cap’n Proto] |
|- | |- | ||
- | | Offline Certs || || SPKI/SDSI, E-Speak, [http://wiki.erights.org/wiki/Capability-based_Active_Invocation_Certificates CapCert] || || [https://research.google.com/pubs/pub41892.html Macaroons], [https://w3c-ccg.github.io/ld-ocap/ | + | | Offline Certs || || [http://world.std.com/~cme/html/spki.html SPKI/SDSI], [http://www.hpl.hp.com/techreports/2004/HPL-2004-150.html E-Speak], [http://wiki.erights.org/wiki/Capability-based_Active_Invocation_Certificates CapCert] || || [https://research.google.com/pubs/pub41892.html Macaroons], [https://w3c-ccg.github.io/ld-ocap/ ld-ocap] |
|- | |- | ||
| Blockchain || || || || Gravity, [https://dfinity.org/ Dfinity], [http://rchain-architecture.readthedocs.io/en/latest/ RChain], [https://cosmos.network/ Cosmos], [https://w3c-ccg.github.io/didm-veres-one/ Veres One], [https://sovrin.org/ Sovrin], Agoric Systems | | Blockchain || || || || Gravity, [https://dfinity.org/ Dfinity], [http://rchain-architecture.readthedocs.io/en/latest/ RChain], [https://cosmos.network/ Cosmos], [https://w3c-ccg.github.io/didm-veres-one/ Veres One], [https://sovrin.org/ Sovrin], Agoric Systems | ||
|- | |- | ||
- | | User Interface || || CapDesk, [https://alanhkarp.com/scoopfs/index.html Scoopfs], [https://sites.google.com/site/belayresearchproject/ Belay] || || [https://sandstorm.io/ Sandstorm] | + | | User Interface || || [http://combex.com/papers/darpa-report/html/index.html CapDesk], [https://alanhkarp.com/scoopfs/index.html Scoopfs], [https://sites.google.com/site/belayresearchproject/ Belay] || || [https://sandstorm.io/ Sandstorm] |
|} | |} |
Latest revision as of 03:17, 17 March 2018
These are all capability systems, but not all are ocap systems.
Substrate | Historical System | System | ||
---|---|---|---|---|
Hardware | CMNM, Plessey 250, CAP, C.mmp, CM*, Flex, IBM System/38, Intel 432 | Crash-SAFE, CHERI, Risc-V | ||
OS | DVH, Hydra, StarOS, RATS, Cal-TSS, PSOS, NLTSS, Spring | Capsicum, CloudABI, Genode, Barrelfish, Fuchsia | ||
KeyKOS family OS | Gnosis, KeyKOS, GuardOS, EROS, CapROS, Coyotos | seL4 | ||
Distributed OS | Ameoba, Mach, Midori | |||
Language | Gedanken, W7, J-Kernel, Joe-E, Emily, CaPerl, Caja, Tamed Pict, Plash | Monte, Frozen Realms, shill, Wyvern, wasm-gc | ||
Distributed Language | Act-1, Eden, Emerald, Vulcan, Joule, E, Oz-E, M# | Pony, Kappa, Dr.SES | ||
Distributed Storage | Scoopfs | Tahoe-LAFS | ||
Crypto Protocol | DCCS, CapTP, Foolscap, Client Utility, Waterken | COAST, Cap’n Proto | ||
Offline Certs | SPKI/SDSI, E-Speak, CapCert | Macaroons, ld-ocap | ||
Blockchain | Gravity, Dfinity, RChain, Cosmos, Veres One, Sovrin, Agoric Systems | |||
User Interface | CapDesk, Scoopfs, Belay | Sandstorm |