<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://50.77.162.165/mediawiki/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Erights - User contributions [en]</title>
		<link>http://50.77.162.165/wiki/Special:Contributions/Kosik</link>
		<description>From Erights</description>
		<language>en</language>
		<generator>MediaWiki 1.15.5-7</generator>
		<lastBuildDate>Mon, 20 Apr 2026 01:11:32 GMT</lastBuildDate>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;code&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/code&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations, mailing list subscriptions or opt-outs, e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://drupal.cbreurope.sk/civicrm/mailing/optout?reset=1&amp;amp;jid=XX&amp;amp;qid=XXXXX&amp;amp;h=XXXXXXXXXXXXXXXX&amp;amp;confirm=1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;code&amp;gt;/mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/code&amp;gt;&lt;br /&gt;
* URL links to Bitcoin [http://blog.maschinenraum.tk/2012/07/15/bitcoin-vending-machine-exchange-euro-coins-for-bitcoin-wallets/btc-vending-machine-3 wallets].&lt;br /&gt;
&lt;br /&gt;
An [[Unum]] can be also considered as a capability to a (replicated) object in a similar way as file descriptors of transparently replicated files by RAID are still regarded as file descriptors.&lt;br /&gt;
&lt;br /&gt;
== URLs as capabilities ==&lt;br /&gt;
&lt;br /&gt;
As noted above, URLs are often used as capabilities in practice, especially when sent over e-mail. Some explicitly capability-structured systems, such as [[Tahoe-LAFS]], use capability URLs.&lt;br /&gt;
&lt;br /&gt;
A hazard to using capability URLs directly in a web browser is that many browser extensions or options may transmit URLs to a third-party server. In the worst case, this may make those URLs public. However, there is some mitigation:&lt;br /&gt;
* The fragment part of a URL reference (&amp;lt;code&amp;gt;#&amp;lt;em&amp;gt;id&amp;lt;/em&amp;gt;&amp;lt;/code&amp;gt;) is not transmitted. If the browser supports executing JavaScript, then the capability can be placed in the fragment and transmitted only under script control, not as part of a URL.&lt;br /&gt;
* The query string part (&amp;lt;code&amp;gt;?&amp;lt;em&amp;gt;foo&amp;lt;/em&amp;gt;=&amp;lt;em&amp;gt;bar&amp;lt;/em&amp;gt;&amp;lt;/code&amp;gt;) is often not transmitted. (Citation needed on this one!)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Mon, 16 Jul 2012 13:33:14 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;added another example of sparse capability (opt-outs from &amp;quot;newsletters&amp;quot;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations, mailing list subscriptions or [http://drupal.cbreurope.sk/civicrm/mailing/optout?reset=1&amp;amp;jid=XX&amp;amp;qid=XXXXX&amp;amp;h=XXXXXXXXXXXXXXXX&amp;amp;confirm=1 opt-outs] from newsletters.&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;tt&amp;gt; /mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Unum]] can be also considered as a capability to a (replicated) object in a similar way as file descriptors of transparently replicated files by RAID are still regarded as file descriptors.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 20:04:26 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Added note concerning unums.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations and mailing list subscriptions.&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;tt&amp;gt; /mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Unum]] can be also considered as a capability to a (replicated) object in a similar way as file descriptors of transparently replicated files by RAID are still regarded as file descriptors.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 15:22:51 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations and mailing list subscriptions.&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;tt&amp;gt; /mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Unum]]s are capabilities to replicated objects.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 15:16:24 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;I have removed the &amp;quot;XXX improve this section&amp;quot;. This is redundant note. The page is already marked as a stub.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations and mailing list subscriptions.&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;tt&amp;gt; /mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 15:13:31 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Controversy concerning sparse vs. password capabilities is settled. These terms are synonyms. I have removed XXX question.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge by being ''sparse''.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
* Capabilities held by a process in [[capability operating system]]s.&lt;br /&gt;
* POSIX file descriptors.&lt;br /&gt;
Some examples of sparse capabilities (sometimes called password capabilities):&lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations and mailing list subscriptions.&lt;br /&gt;
** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
* Designation of file-system sub-trees in [[MinorFs]], such as  &amp;lt;tt&amp;gt; /mnt/minorfs/cap/3d5d3efbf73bb711e7a47f82a44f471fcf77c70e/&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 15:12:19 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;retrofitted pict --&amp;gt; tamed pict&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Independent or Prior Objcap Languages ==&lt;br /&gt;
&lt;br /&gt;
Dynamic&lt;br /&gt;
* [http://www.erights.org/history/morris73.pdf Gedanken]&lt;br /&gt;
* [http://www.erights.org/history/actors.html Actors]&lt;br /&gt;
* [http://portal.acm.org/ft_gateway.cfm?id=323739&amp;amp;type=pdf Vulcan],&lt;br /&gt;
* [http://www.agorics.com/Library/joule.html Joule]&lt;br /&gt;
* [http://mumble.net/~jar/pubs/secureos/ W7]&lt;br /&gt;
* [http://plash.beasts.org Plash]&lt;br /&gt;
* [http://prog.vub.ac.be/amop/ AmbientTalk]&lt;br /&gt;
* [http://newspeaklanguage.org/ Newspeak]&lt;br /&gt;
* [http://evlan.org/ Evlan] (Possibly statically typed in future editions)&lt;br /&gt;
&lt;br /&gt;
Static&lt;br /&gt;
* [http://portal.acm.org/citation.cfm?doid=323627.323646 Eden, Emerald]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/279442.html J-Kernel]&lt;br /&gt;
* [http://www.bitc-lang.org/ BitC]&lt;br /&gt;
* [https://docs.google.com/document/d/1bOwopBgJWgzroObINBmopy1Gjy2OoXx_BdOSR94ydQQ/edit?hl=en# Heftza]&lt;br /&gt;
&lt;br /&gt;
== Related to '''''E''''' ==&lt;br /&gt;
{| &lt;br /&gt;
|+Relationships of '''''E''''' and other languages&lt;br /&gt;
! Base language !! '''''E''''' Implementation !! Adapted to objcaps&lt;br /&gt;
|-&lt;br /&gt;
| [http://java.sun.com Java] || [http://erights.org/download/ E-on-Java] || [[Joe-E]] [http://waterken.sourceforge.net/ Waterken] [http://asyncobjects.sourceforge.net/ AsyncObjects]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mozart-oz.org/ Mozart/Oz] ||  || [http://www.info.ucl.ac.be/people/PVR/oze.pdf Oz-E]&lt;br /&gt;
|-&lt;br /&gt;
| C/C++ || [http://erights.org/e-impls/e-on-c/index.html MC] [http://washort.twistedmatrix.com/2008/07/ecru-c-runtime-for-e.html Ecru] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.erights.org/javadoc/org/erights/e/elang/smallcaps/SmallcapsOps.html Smallcaps] || [http://erights.org/e-impls/e-on-smallcaps/index.html E-on-Smallcaps] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.squeak.org/ Squeak] || [http://erights.org/e-impls/e-on-squeak/index.html E-on-Squeak] ||  [http://www.squeaksource.com/SecureSqueak.html SecureSqueak] [http://wiki.squeak.org/squeak/6011 SqueakElibVM]&lt;br /&gt;
|-&lt;br /&gt;
| Common Lisp || [[E-on-CL]] || [http://www.eros-os.org/pipermail/e-lang/2005-April/010572.html CL-E]&lt;br /&gt;
|-&lt;br /&gt;
| [http://caml.inria.fr/ocaml/index.en.html OCaml] ||  || [[Emily]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.haskell.org/ Haskell] || [[E-on-Haskell]], [[eonhs]] || [http://code.google.com/p/caskell/ Caskell]&lt;br /&gt;
|-&lt;br /&gt;
| Python || || [http://twistedmatrix.com/ Twisted Python] [http://foolscap.lothar.com/trac FoolsCap] [http://www.cs.ubc.ca/~drifty/papers/python_security.pdf Secure Python] [http://plash.beasts.org/wiki/CapPython CapPython] [http://code.google.com/p/googleappengine/issues/detail?id=671 safelite] [http://www.eecs.berkeley.edu/~jsamuel/papers/cappos-dadgar-rasley-samuel-et-al-ccs2010.pdf Repy]&lt;br /&gt;
|-&lt;br /&gt;
| Perl || || [http://caperl.links.org/ CaPerl]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cis.upenn.edu/~bcpierce/papers/pict/Html/Pict.html Pict] || || [http://www2.fiit.stuba.sk/~kosik/tamed-pict.html Tamed Pict]&lt;br /&gt;
|-&lt;br /&gt;
| E || E-on-E ||&lt;br /&gt;
|-&lt;br /&gt;
|  || || [http://sebyla.sourceforge.net/ Sebyla]&lt;br /&gt;
|-&lt;br /&gt;
| Javascript || [[E-on-JS]] || [https://mail.mozilla.org/pipermail/es-discuss/2010-August/011684.html proposed Secure EcmaScript (SES)] [http://code.google.com/p/google-caja/ Caja] [http://www.adsafe.org/ ADsafe] [http://wiki.developers.facebook.com/index.php/FBJS FBJS][http://video.google.com/videoplay?docid=452089494323007214 Vats on Gears] [http://jacaranda.org/ Jacaranda] [http://websandbox.livelabs.com/ Microsoft WebSandbox] [http://research.microsoft.com/en-us/projects/gatekeeper/ Gatekeeper] [http://www.sitepen.com/blog/2008/08/01/secure-mashups-with-dojoxsecure/ Dojo Secure]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also applicable to ML and Haskell style systems: [http://okmij.org/ftp/papers/lightweight-static-capabilities.pdf Lightweight Static Capabilities]&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 14:05:54 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Talk:Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Talk:Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Talk:Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why do you think Erlang is &amp;quot;almost an object-capability language&amp;quot;? I think, it is an example of programming languages that is &amp;quot;not and far from being an object-capability language&amp;quot;. Systems written in Erlang have all or nothing security. The whole system written in Erlang is as secure as its most malicious component. It is not possible to fix this straightforwardly. The language nature would have to change. Designations of processes are not capabilities (but guessable integers). Designations of functions are not capabilities (but atoms and you can freely convert between arbitrary strings and atoms. You can freely forge any atom). The permission to call a function are set by a poor module system. Erlang supports &amp;quot;hot code swapping&amp;quot; (or some similar term) which gives attacker (from untrusted subsystem) an authority to replace any code anywhere in the system. There are many holes in Erlang. I am skeptical. [[User:Kosik|Kosik]] 03:50, 2 April 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
I did not dig deeper, but Scala might be also an object-capability programming language.&lt;br /&gt;
[[User:Kosik|Kosik]] 11:20, 14 April 2011 (CDT)&lt;br /&gt;
&lt;br /&gt;
It might be also worthwhile analyze Lua and describe why it is or it is not an object-capability programming language.&lt;br /&gt;
[[User:Kosik|Kosik]] 04:14, 15 April 2011 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 15 Apr 2011 09:14:32 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Talk:Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Talk:Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Talk:Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why do you think Erlang is &amp;quot;almost an object-capability language&amp;quot;? I think, it is an example of programming languages that is &amp;quot;not and far from being an object-capability language&amp;quot;. Systems written in Erlang have all or nothing security. The whole system written in Erlang is as secure as its most malicious component. It is not possible to fix this straightforwardly. The language nature would have to change. Designations of processes are not capabilities (but guessable integers). Designations of functions are not capabilities (but atoms and you can freely convert between arbitrary strings and atoms. You can freely forge any atom). The permission to call a function are set by a poor module system. Erlang supports &amp;quot;hot code swapping&amp;quot; (or some similar term) which gives attacker (from untrusted subsystem) an authority to replace any code anywhere in the system. There are many holes in Erlang. I am skeptical. [[User:Kosik|Kosik]] 03:50, 2 April 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
I did not dig deeper, but Scala might be also an object-capability programming language.&lt;br /&gt;
[[User:Kosik|Kosik]] 11:20, 14 April 2011 (CDT)&lt;/div&gt;</description>
			<pubDate>Thu, 14 Apr 2011 16:20:58 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;The link to retrofitted Pict was updated. Now it points to its homepage with complete information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Independent or Prior Objcap Languages ==&lt;br /&gt;
&lt;br /&gt;
Dynamic&lt;br /&gt;
* [http://www.erights.org/history/morris73.pdf Gedanken]&lt;br /&gt;
* [http://www.erights.org/history/actors.html Actors]&lt;br /&gt;
* [http://portal.acm.org/ft_gateway.cfm?id=323739&amp;amp;type=pdf Vulcan],&lt;br /&gt;
* [http://www.agorics.com/Library/joule.html Joule]&lt;br /&gt;
* [http://mumble.net/~jar/pubs/secureos/ W7]&lt;br /&gt;
* [http://plash.beasts.org Plash]&lt;br /&gt;
* [http://prog.vub.ac.be/amop/ AmbientTalk]&lt;br /&gt;
* [http://newspeaklanguage.org/ Newspeak]&lt;br /&gt;
* [http://evlan.org/ Evlan] (Possibly statically typed in future editions)&lt;br /&gt;
&lt;br /&gt;
Static&lt;br /&gt;
* [http://portal.acm.org/citation.cfm?doid=323627.323646 Eden, Emerald]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/279442.html J-Kernel]&lt;br /&gt;
* [http://www.bitc-lang.org/ BitC]&lt;br /&gt;
* [https://docs.google.com/document/d/1bOwopBgJWgzroObINBmopy1Gjy2OoXx_BdOSR94ydQQ/edit?hl=en# Heftza]&lt;br /&gt;
&lt;br /&gt;
== Related to '''''E''''' ==&lt;br /&gt;
{| &lt;br /&gt;
|+Relationships of '''''E''''' and other languages&lt;br /&gt;
! Base language !! '''''E''''' Implementation !! Adapted to objcaps&lt;br /&gt;
|-&lt;br /&gt;
| [http://java.sun.com Java] || [http://erights.org/download/ E-on-Java] || [[Joe-E]] [http://waterken.sourceforge.net/ Waterken] [http://asyncobjects.sourceforge.net/ AsyncObjects]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mozart-oz.org/ Mozart/Oz] ||  || [http://www.info.ucl.ac.be/people/PVR/oze.pdf Oz-E]&lt;br /&gt;
|-&lt;br /&gt;
| C/C++ || [http://erights.org/e-impls/e-on-c/index.html MC] [http://washort.twistedmatrix.com/2008/07/ecru-c-runtime-for-e.html Ecru] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.erights.org/javadoc/org/erights/e/elang/smallcaps/SmallcapsOps.html Smallcaps] || [http://erights.org/e-impls/e-on-smallcaps/index.html E-on-Smallcaps] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.squeak.org/ Squeak] || [http://erights.org/e-impls/e-on-squeak/index.html E-on-Squeak] ||  [http://www.squeaksource.com/SecureSqueak.html SecureSqueak] [http://wiki.squeak.org/squeak/6011 SqueakElibVM]&lt;br /&gt;
|-&lt;br /&gt;
| Common Lisp || [[E-on-CL]] || [http://www.eros-os.org/pipermail/e-lang/2005-April/010572.html CL-E]&lt;br /&gt;
|-&lt;br /&gt;
| [http://caml.inria.fr/ocaml/index.en.html OCaml] ||  || [[Emily]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.haskell.org/ Haskell] || [[E-on-Haskell]], [[eonhs]] || [http://code.google.com/p/caskell/ Caskell]&lt;br /&gt;
|-&lt;br /&gt;
| Python || || [http://twistedmatrix.com/ Twisted Python] [http://foolscap.lothar.com/trac FoolsCap] [http://www.cs.ubc.ca/~drifty/papers/python_security.pdf Secure Python] [http://plash.beasts.org/wiki/CapPython CapPython] [http://code.google.com/p/googleappengine/issues/detail?id=671 safelite] [http://www.eecs.berkeley.edu/~jsamuel/papers/cappos-dadgar-rasley-samuel-et-al-ccs2010.pdf Repy]&lt;br /&gt;
|-&lt;br /&gt;
| Perl || || [http://caperl.links.org/ CaPerl]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cis.upenn.edu/~bcpierce/papers/pict/Html/Pict.html Pict] || || [http://www2.fiit.stuba.sk/~kosik/retrofitted-pict.html retrofitted Pict]&lt;br /&gt;
|-&lt;br /&gt;
| E || E-on-E ||&lt;br /&gt;
|-&lt;br /&gt;
|  || || [http://sebyla.sourceforge.net/ Sebyla]&lt;br /&gt;
|-&lt;br /&gt;
| Javascript || [[E-on-JS]] || [https://mail.mozilla.org/pipermail/es-discuss/2010-August/011684.html proposed Secure EcmaScript (SES)] [http://code.google.com/p/google-caja/ Caja] [http://www.adsafe.org/ ADsafe] [http://wiki.developers.facebook.com/index.php/FBJS FBJS][http://video.google.com/videoplay?docid=452089494323007214 Vats on Gears] [http://jacaranda.org/ Jacaranda] [http://websandbox.livelabs.com/ Microsoft WebSandbox] [http://research.microsoft.com/en-us/projects/gatekeeper/ Gatekeeper] [http://www.sitepen.com/blog/2008/08/01/secure-mashups-with-dojoxsecure/ Dojo Secure]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also applicable to ML and Haskell style systems: [http://okmij.org/ftp/papers/lightweight-static-capabilities.pdf Lightweight Static Capabilities]&lt;/div&gt;</description>
			<pubDate>Thu, 14 Apr 2011 09:04:02 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;a new example of &amp;quot;password&amp;quot; capability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in the [[E language]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
Some examples of capabilities that are infeasible to forge: &lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* [[Password capability|Password capabilities]]&lt;br /&gt;
** Private URLs where having the URL is necessary and sufficient to use the resource. Common examples are:&lt;br /&gt;
*** &amp;quot;Confirm your e-mail address&amp;quot; links for website account registrations and mailing list subscriptions.&lt;br /&gt;
*** Shared private documents such as in Google Docs, Google Maps, [http://picasa.google.com Picasa] albums, [http://www.doodle.com Doodle] schedulers.&lt;br /&gt;
&lt;br /&gt;
{{XXX|What exactly do we mean by password capabilities here, such that a captp URL is not one?}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Tue, 12 Apr 2011 16:00:05 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in [[E_language|E]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
Some examples of capabilities that are infeasible to forge: &lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* &amp;quot;Invidations for viewing&amp;quot; Picasa web albums, such as &amp;lt;tt&amp;gt;https://picasaweb.google.com/lh/sredir?uname=XXXXXXXXXXXXXXXXXXXXX&amp;amp;target=ALBUM&amp;amp;id=XXXXXXXXXXXXXXXXXXX&amp;amp;authkey=XXXXXXXXXXXXXXXXXXXX&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Tue, 12 Apr 2011 14:42:50 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Instead of general &amp;quot;password capabilities&amp;quot; (for non-members of our community this is a void term) we now refer to some concrete kind of &amp;quot;password capability&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in [[E_language|E]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
Some examples of capabilities that are infeasible to forge: &lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* &amp;quot;Invidations for viewing&amp;quot; Picasa web albums.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Tue, 12 Apr 2011 09:11:07 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;a direct link to page describing E programming was provided instead of linking the disambiguation page for E&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in [[E_language|E]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
Some examples of capabilities that are infeasible to forge: &lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Password capabilities.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Tue, 12 Apr 2011 08:06:06 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Capability</title>
			<link>http://50.77.162.165/wiki/Capability</link>
			<guid>http://50.77.162.165/wiki/Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
A ''capability'' is a token that identifies an [[subject, object, operation and permission|object]] and provides its holder with the [[subject, object, operation and permission|permission]] to operate on the object it identifies. Capabilities must either be totally unforgeable or infeasible to forge. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Some examples of unforgeable capabilities:&lt;br /&gt;
* Designations of objects in [[E]]. Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Designations of functions and procedures in [[Emily]]. Those who hold these capabilities have the permission to call designated functions or procedures.&lt;br /&gt;
Some examples of capabilities that are infeasible to forge: &lt;br /&gt;
* Designations of remote objects in E, such as &amp;lt;tt&amp;gt;captp://*orwqphzlugjwqj2wozz7tmg47ime466j@74.125.87.147:55189/oa6vn5whhapylswhzesdlqh5ppmjkcrq.&amp;lt;/tt&amp;gt; Those who hold these capabilities have the permission to invoke any method supported by the designated object.&lt;br /&gt;
* Password capabilities.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
{{XXX|improve this section}}&lt;br /&gt;
&lt;br /&gt;
See [http://www.eros-os.org/essays/capintro.html What is a Capability, Anyway?] for a partisan explanation of what capabilities actually are.&lt;br /&gt;
&lt;br /&gt;
See also [http://www.erights.org/elib/capability/overview.html Overview: Capability Computation]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</description>
			<pubDate>Fri, 18 Feb 2011 16:56:54 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Protection matrix</title>
			<link>http://50.77.162.165/wiki/Protection_matrix</link>
			<guid>http://50.77.162.165/wiki/Protection_matrix</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;missing indefinite article in the title of the section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
One way how to capture the [[Subject, object, operation and permission|permissions of subjects to perform various operations with objects]] is to use a large matrix where:&lt;br /&gt;
* rows correspond to particular subjects&lt;br /&gt;
* columns correspond to particular objects&lt;br /&gt;
and the context of each cell determines what operations on a particular object are permitted for a particular subject.&lt;br /&gt;
&lt;br /&gt;
== An artificial example ==&lt;br /&gt;
&lt;br /&gt;
If:&lt;br /&gt;
* we have only three different subjects (1, 2 and 3)&lt;br /&gt;
* eight different objects (six files and a printer and a mixer)&lt;br /&gt;
* we recognize three different operations with objects (read, write and execute)&lt;br /&gt;
then one possible protection matrix may be:&lt;br /&gt;
&lt;br /&gt;
[[Image:Protection matrix1.png]]&lt;br /&gt;
&lt;br /&gt;
The matrix determines which operations (R = read, W = write, X = execute) with particular objects are allowed for particular subjects.&lt;br /&gt;
&lt;br /&gt;
It is not very usual to actually store permissions in the form of a 2-dimensional array as shown in the figure above but there are such systems which do so. Usually, the set of subjects and the set of objects are small and immutable.&lt;br /&gt;
&lt;br /&gt;
== Real world examples ==&lt;br /&gt;
&lt;br /&gt;
* [[Protection matrixes in Minix]]&lt;/div&gt;</description>
			<pubDate>Tue, 08 Sep 2009 09:08:53 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Protection_matrix</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a transmission channel, an authentication procedure establishes which principal is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Transmission channel&amp;quot; means a channel over which either information or physical objects are moved from one place to another.&lt;br /&gt;
&lt;br /&gt;
Often the transmission channel is implicit. For example, authenticating the originator of a document is covered by the above definition, if we view the document as representing one end of a transmission channel from its originator.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Principal&amp;quot; should be interpreted broadly: a principal is any entity that holds credentials (also called authentication factors) allowing it to be distinguished from other principals that do not hold those credentials.&lt;br /&gt;
&lt;br /&gt;
Authentication can be used for many purposes, including to enable accountability, or for access control. (In capability systems, authentication is typically used only indirectly for access control, to decide whether to grant a user's login shell its initial permissions.)&lt;br /&gt;
&lt;br /&gt;
== Controversy over definition ==&lt;br /&gt;
&lt;br /&gt;
The above definition (proposed by David-Sarah Hopwood in [http://www.eros-os.org/pipermail/cap-talk/2009-July/013050.html]) generated a long thread on the cap-talk mailing list [http://www.eros-os.org/pipermail/cap-talk/2009-September/thread.html#13237], with some participants arguing that it does not cover cases where no channel is involved, or that it is too focussed on identity (however, note that &amp;quot;principal&amp;quot; as defined above is definitely not equivalent to an identity [http://www.eros-os.org/pipermail/cap-talk/2009-September/013339.html]).&lt;br /&gt;
&lt;br /&gt;
The following alternative definition was proposed by Rob Meijer:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Authentication is the validation of a specific property of an object, where this property must either be a source of authority, a source of accountability, or both.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
but some participants found this to be too vague, and the meaning of &amp;quot;source of authority&amp;quot; and &amp;quot;source of accountablity&amp;quot; to be unclear.&lt;br /&gt;
&lt;br /&gt;
At the time of writing, it seems that a reasonable compromise may be to use &amp;quot;principal authentication&amp;quot; for the first definition above, &amp;quot;validation&amp;quot; for cases of validating a property that are not covered by that definition, and let &amp;quot;authentication&amp;quot; refer to either.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Banknote Banknotes], for example, can also be viewed as having been sent by a transmission channel from the central bank. A banknote states that its holder has a certain amount of money. Banknotes are valid, if that statement is claimed by the central bank. Authentication of the banknote reveals whether this is the case.&lt;br /&gt;
&lt;br /&gt;
Authentication is a routine process performed everytime a Debian user installs something with the &amp;lt;tt&amp;gt;apt-get&amp;lt;/tt&amp;gt; command. The ''principal'', in this case, is a group of Debian developers. Any software whose authentication fails is clearly marked and user has, for obvious reasons, has an option not to install it.&lt;/div&gt;</description>
			<pubDate>Tue, 08 Sep 2009 09:02:41 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a transmission channel, an authentication procedure establishes which principal is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Transmission channel&amp;quot; means a channel over which either information or physical objects are moved from one place to another.&lt;br /&gt;
&lt;br /&gt;
Often the transmission channel is implicit. For example, authenticating the originator of a document is covered by the above definition, if we view the document as representing one end of a transmission channel from its originator.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Principal&amp;quot; should be interpreted broadly: a principal is any entity that holds credentials (also called authentication factors) allowing it to be distinguished from other principals that do not hold those credentials.&lt;br /&gt;
&lt;br /&gt;
Authentication can be used for many purposes, including to enable accountability, or for access control. (In capability systems, authentication is typically used only indirectly for access control, to decide whether to grant a user's login shell its initial permissions.)&lt;br /&gt;
&lt;br /&gt;
== Controversy over definition ==&lt;br /&gt;
&lt;br /&gt;
The above definition (proposed by David-Sarah Hopwood in [http://www.eros-os.org/pipermail/cap-talk/2009-July/013050.html]) generated a long thread on the cap-talk mailing list [http://www.eros-os.org/pipermail/cap-talk/2009-September/thread.html#13237], with some participants arguing that it does not cover cases where no channel is involved, or that it is too focussed on identity (however, note that &amp;quot;principal&amp;quot; as defined above is definitely not equivalent to an identity [http://www.eros-os.org/pipermail/cap-talk/2009-September/013339.html]).&lt;br /&gt;
&lt;br /&gt;
The following alternative definition was proposed by Rob Meijer:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Authentication is the validation of a specific property of an object, where this property must either be a source of authority, a source of accountability, or both.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
but some participants found this to be too vague, and the meaning of &amp;quot;source of authority&amp;quot; and &amp;quot;source of accountablity&amp;quot; to be unclear.&lt;br /&gt;
&lt;br /&gt;
At the time of writing, it seems that a reasonable compromise may be to use &amp;quot;principal authentication&amp;quot; for the first definition above, &amp;quot;validation&amp;quot; for cases of validating a property that are not covered by that definition, and let &amp;quot;authentication&amp;quot; refer to either.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Banknote Banknotes], for example, can also be viewed as having been sent by a transmission channel from the central bank. A banknote states that its holder has a certain amount of money. Banknotes are valid, if that statement is claimed by the central bank. Authentication of the banknote reveals whether this is the case.&lt;br /&gt;
&lt;br /&gt;
Authentication is routine process performed everytime a Debian user installs something with the &amp;lt;tt&amp;gt;apt-get&amp;lt;/tt&amp;gt; command. The ''principal'', in this case, is a group of Debian developers. Any software whose authentication fails is clearly marked and user has, for obvious reasons, has an option not to install it.&lt;/div&gt;</description>
			<pubDate>Tue, 08 Sep 2009 09:01:36 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Talk:Authentication</title>
			<link>http://50.77.162.165/wiki/Talk:Authentication</link>
			<guid>http://50.77.162.165/wiki/Talk:Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How can this page be improved:&lt;br /&gt;
* If we miss some important relationship between authentication and other concepts, notes about those relationship can be added here.&lt;br /&gt;
* More examples can be added. At each example we should say (if it is not clear):&lt;br /&gt;
** The set of possible principals at each end of the communication channel.&lt;br /&gt;
** What kind of information flows through the communication channel.&lt;br /&gt;
** Why authentication is useful in a particular case.&lt;br /&gt;
[[User:Kosik|Kosik]] 01:15, 30 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Thu, 30 Jul 2009 06:29:31 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Talk:Authentication</title>
			<link>http://50.77.162.165/wiki/Talk:Authentication</link>
			<guid>http://50.77.162.165/wiki/Talk:Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;How can the wiki page be further improved.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How can this page be improved:&lt;br /&gt;
* If we miss some important relationship between authentication and other concepts, notes about those relationship can be added here.&lt;br /&gt;
* More examples can be added.&lt;br /&gt;
[[User:Kosik|Kosik]] 01:15, 30 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Thu, 30 Jul 2009 06:15:38 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, an authentication procedure establishes which principal is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Often the communication channel is implicit. For example, authenticating the originator of a document is covered by the above definition, if we view the document as representing one end of a communication channel from its originator.&lt;br /&gt;
&lt;br /&gt;
The ability to perform authentication enables accountability.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Banknote Banknotes], for example, can also be viewed as &amp;quot;one end of a communcation channel&amp;quot;. Banknote states that its holder has certain amount of money. Banknotes are valid, if that statement is claimed by the central bank. Authentication of the banknote reveals whether this is the case.&lt;/div&gt;</description>
			<pubDate>Thu, 30 Jul 2009 06:05:23 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Banknote Banknotes], for example, can also be viewed as &amp;quot;one end of a communcation channel&amp;quot;. Banknote states that its holder has certain amount of money. Banknotes are valid, if that statement is claimed by the central bank. Authentication of the banknote reveals whether this is the case.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:59:18 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Banknote Banknotes], for example, can also be viewed as &amp;quot;one end of a communcation channel&amp;quot;. One end is in the central bank. The other one is held by some person. Through this channel, someone states that the holder of a given banknote has a certain amount of money. The authentication procedure here is important because it reveals whether this statement is claimed by the central bank.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:54:45 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Authentication is important in connection with [http://en.wikipedia.org/wiki/Banknote banknotes]. Paper money is useful only if it is not easily forgeable. Ideally, it should be issued by a single trusted principal. The authentication can determine that this is the case. Electronic currency has to have a similar property.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably issued a given document.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably published a given program.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:30:26 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Authentication is important in connection with [http://en.wikipedia.org/wiki/Banknote banknotes]. Paper money is useful only if it is not easily forgeable. In ideal case, it should be issued by a single trusted principal. The authentication can determine that this is the case. Electronic currency has to have a similar property.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably issued a given document.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably published a given program.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:19:55 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Authentication is important in connection with [http://en.wikipedia.org/wiki/Banknote banknotes]. Paper money is useful only if it is not easily forgeable. In ideal case, it should be issued by a single trusted principal. The authentication can determine that this is the case.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably issued a given document.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably published a given program.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:15:25 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Given one end of a communication channel, authentication procedure establishes which principal&lt;br /&gt;
is probably at the other end.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Authentication is important in connection with [http://en.wikipedia.org/wiki/Banknote Banknotes]. Paper money is useful only if it is not easily forgeable. In ideal case, it should be issued by a single trusted principal. The authentication can determine that this is the case.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably issued a given document.&lt;br /&gt;
* Authentication enables us to determine that a given principal probably published a given program.&lt;/div&gt;</description>
			<pubDate>Sun, 26 Jul 2009 09:14:56 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject:&lt;br /&gt;
* created or is responsible for the contents of a given document;&lt;br /&gt;
* created or is responsible for the behavior of a given program.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (objects), after they are downloaded, before they are installed, are authenticated. The authentication procedure in this case establishes that given package (object) was issued by Debian community (subject). This step is useful if our trust in the Debian community is higher than to any other random subject. Genuine installation CDs contain appropriate keyring.&lt;br /&gt;
* Current technology well supports authentication of e-mails (via various [http://en.wikipedia.org/wiki/MUA MUA] plugins).&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 17:53:16 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject:&lt;br /&gt;
* created or is responsible for the contents of a given document;&lt;br /&gt;
* created or is responsible for the behavior of a given program.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (objects), after they are downloaded, before they are installed, are authenticated. The authentication procedure in this case estabilishes that given package (object) was issued by Debian community (subject). This step is useful if our trust in the Debian community is higher than to any other random subject. Genuine installation CDs contain appropriate keyring.&lt;br /&gt;
* Current technology well supports authentication of e-mails (via various [http://en.wikipedia.org/wiki/MUA MUA] plugins).&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 17:16:23 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject:&lt;br /&gt;
* created or is responsible for the contents of a given document;&lt;br /&gt;
* created or is responsible for the behavior of a given program.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (objects), after they are downloaded, before they are installed, are authenticated. The authentication procedure in this case estabilishes that given package (object) was issued by Debian community (subject). This step is useful if our trust in the Debian community is higher than to any other random subject. Genuine installation CDs contain appropriate keyring.&lt;br /&gt;
* Current technology well supports authentication of e-mails.&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 17:14:01 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;/* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject:&lt;br /&gt;
* created or is responsible for the contents of a given document;&lt;br /&gt;
* created or is responsible for the behavior of a given program.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (objects), after they are downloaded, before they are installed, are authenticated. The authentication procedure in this case estabilishes that given package (object) was issued by Debian community (subject). This step is useful if our trust in the Debian community is higher than to any other random subject.&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 17:07:56 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject:&lt;br /&gt;
* created or is responsible for the contents of a given document;&lt;br /&gt;
* created or is responsible for the behavior of a given program.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (objects), after they are downloaded, before they are installed, are authenticated. The authentication procedure in this case estabilishes that given package (object) was issued by Debian community (subject). This step is useful if our trust in Debian community is higher than to any other random subject.&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 17:03:55 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Authentication</title>
			<link>http://50.77.162.165/wiki/Authentication</link>
			<guid>http://50.77.162.165/wiki/Authentication</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition ==&lt;br /&gt;
&lt;br /&gt;
Authentication is a process of estabilishing which subject created of a given object (an exectuable code, a source code, a document, etc).&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Authentication should not be confused with the following two other concepts:&lt;br /&gt;
* identity checking &lt;br /&gt;
* authorization&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
* Debian packages (object), after they are downloaded, before they are installed are authenticated. The authentication procedure in this case estabilishes that given package (object) was issued by Debian community (subject).&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 16:57:52 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Authentication</comments>		</item>
		<item>
			<title>Walnut/Secure Distributed Computing/E Capabilities</title>
			<link>http://50.77.162.165/wiki/Walnut/Secure_Distributed_Computing/E_Capabilities</link>
			<guid>http://50.77.162.165/wiki/Walnut/Secure_Distributed_Computing/E_Capabilities</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Rephrased sentence to avoid the abuse of the word &amp;quot;authentication&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Walnut|4]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; Capabilities===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; has no pointer arithmetic. &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;''E ''&amp;lt;/span&amp;gt;has no mutable statics.&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E ''&amp;lt;/span&amp;gt;has an API carefully thought out to prevent capability leaks. This would make it a capability secure language for single-processor applications. But&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E ''&amp;lt;/span&amp;gt;goes a step further. It takes the concept of a secure, unforgeable object reference and extends it to distributed objects:&lt;br /&gt;
&lt;br /&gt;
* The communication links are encrypted. Third parties cannot get inside the connection.&lt;br /&gt;
* The objects are unfindable without a proper reference received (directly or indirectly) from the creator of the object. You must have the key to unlock the door.&lt;br /&gt;
* No object can pretend to be the object you are trying to contact because identity cannot be hijacked.&lt;br /&gt;
&lt;br /&gt;
These aspects of&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E ''&amp;lt;/span&amp;gt;protocol can be understood better by looking at the URI that identifies an&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E ''&amp;lt;/span&amp;gt;object to other objects outside its own vat.&lt;br /&gt;
&lt;br /&gt;
====A closer look at E capability URIs====&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;float: right; width: 2in; border-style: inset; border-width: 3;background-color: #FFFF99; font-size:80%&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
The whole &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; approach to security is disorienting to anyone steeped in traditional computer security lore. On the other hand, anyone with a background in object-oriented programming will find it to be a natural extension of the OO discipline. Another entire book is needed on the philosophy of security exemplified by object capabilities and &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt;. [http://minnow.cc.gatech.edu/squeak/3770 The closest thing to such a Philosophy of Security known to the author is a requirements document] for the shared virtual 3D world [http://croquetproject.org/ Croquet]. Croquet needs to be both very user friendly and very secure, and so requires the kind of seriousness that object-capabilities enable. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; A brutally abbreviated list of points from that document includes: &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''No Passwords, No Certificates, No Certificate Authorities, No Firewalls, No Global Namespaces.''' POLA, pet names, and other related techniques described here supplant them all.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Minimize Authentication. Focus on Authorization.''' Authentication-laden systems are as user friendly as post-9/11 airport security systems. And they work about that well, too. The terrorists are far more likely to have their identification in order than the rest of us. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Do Not Prohibit What You Cannot Prevent.''' The main purpose of this advice is to prevent you from looking like a fool after you've been circumvented.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Embrace Delegation.''' People must delegate to succeed. So they will delegate despite your most ridiculous efforts. Relax, enjoy it. Help them. And while relaxing, re-read the earlier, &amp;quot;do not prohibit what you cannot prevent.&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;'''Bundle Authority with Designation.''' This makes security user-friendly by making the security invisible. Only possible after you stop wasting your effort on authentication all the time.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Security as an inexpensive lunch====&lt;br /&gt;
&lt;br /&gt;
There is no such thing as a free lunch, but this does not rule out the possibility of lunches at bargain prices. When programming in&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E''&amp;lt;/span&amp;gt;, you are automatically working in a capability secure environment. All references are secure references. All powers are accessible only through capabilities. Making an&amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;'' E ''&amp;lt;/span&amp;gt;program secure is largely a matter of thinking about the architecture before you code, and doing a security audit after you code. When designing and auditing you use a small number of principles for scrutinizing the design:&lt;br /&gt;
&lt;br /&gt;
====Principle of Least Authority (POLA) for Computer Programs====&lt;br /&gt;
&lt;br /&gt;
The Principle of Least Authority (known henceforth as POLA), which has been used by human beings instinctively for thousands of years, translates to computer programs fairly straightforwardly: ''never give an object more authority than it needs''. In particular, if an object may be running on a remote untrusted machine, think very carefully about the minimum set of authorities it needs, and give it capabilities only on ''facets'' (described later) that ensure it gets no more. A simple word processor needs read and write access to the one file it is being used to edit, and it needs read-only access on all the system fonts. It does not need any access to anything else. Do not give it access to anything else. If it asks for something else, it is lying to you, and you should not trust it.&lt;br /&gt;
&lt;br /&gt;
====Principle of Hardware Software Ownership====&lt;br /&gt;
&lt;br /&gt;
When developing software, remember that the person who controls the hardware always, at the end of the day, controls the software. Hence, if you send someone a piece of a distributed program to run on their own equipment, that person totally and utterly owns everything that resides on his machine. They can modify the code you gave them, or rewrite it from scratch yet make it look from the outside like it is identical. You must therefore think carefully about what features of your system you really trust on that remote machine. A key feature of E that enhances its reliability is that objects which are manufactured in a particular vat remain resident in that vat, so that the objects remain as reliable as the objectMakers used to produce them. Only ''transparent immutables'' (immutables that don't encapsulate anything) actually move across computational boundaries.&lt;br /&gt;
&lt;br /&gt;
Many people have made the error of believing this principle of hardware ownership can be circumvented. At the time of this writing, the music recording industry is throwing away truly fabulous sums of money on schemes that assume they can somehow control data after it has arrived on a user's own hardware. Microsoft is busily developing Palladium (uh, I mean, NGSCB). Intel is busily developing TCP (uh, I think they changed the name to La Grande). Their fate has already been foretold in the fate of the popular game Diablo I: authoritative representations of data were allowed to reside on user computers, assuming that the object code was too difficult to understand to be hacked and that the Diablo client code would always behave as the designers intended. They were 99% correct, which in the computer security field means they were 100% wrong. Today, 99% of the people who hack Diablo I don't understand the object code. But somewhere some single individual figured it out and posted the result on the Web. Now your grandmother can sabotage shared Diablo I games as quickly and easily as the most accomplished hacker in history. For Diablo II, the developers had learned the lesson. Authoritative information is stored only on the server, giving them the beginnings of true security.&lt;br /&gt;
&lt;br /&gt;
Not only does hardware own the software, so too does the underlying operating system. As we have stated repeatedly here, &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;''E''&amp;lt;/span&amp;gt; enables the construction of extremely secure computing systems. However, &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;E&amp;lt;/span&amp;gt; systems can still be attacked from below, by viruses granted authority by the operating system underneath the &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;''E''&amp;lt;/span&amp;gt; world. Such attacks can only be prevented by completing the security regime, either with capability-based operating systems, or with computers on which only capability-secure programs are allowed. There is one open-source capability-based OS under development, at [http://www.eros-os.org www.eros-os.org].&lt;br /&gt;
&lt;br /&gt;
====Denial Of Service Attacks====&lt;br /&gt;
&lt;br /&gt;
One form of attack that even &amp;lt;span class=&amp;quot;e&amp;quot;&amp;gt;''E''&amp;lt;/span&amp;gt; cannot defend against is denial of service (DOS). In a denial of service, someone simply swamps your system with requests, making your system unable to operate. Such attacks take many forms, but the key limitation in such attacks is this: such an attack can never steal your secret data or gain control of your sensitive operations. If DOS were the only kind of attack possible, the world would be a vastly better place. Indeed, if only DOS attacks were possible, even most modern DOS attacks would fail, because the serious DOS attacks require that the attacker first gain control of hundreds of computers that belong to other people, by using attacks far more invasive and damaging than DOS itself.&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 16:49:32 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Walnut/Secure_Distributed_Computing/E_Capabilities</comments>		</item>
		<item>
			<title>Talk:Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Talk:Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Talk:Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Why do you think Erlang is &amp;quot;almost an object-capability language&amp;quot;? I think, it is an example of programming languages that is &amp;quot;not and far from being an object-capability language&amp;quot;. Systems written in Erlang have all or nothing security. The whole system written in Erlang is as secure as its most malicious component. It is not possible to fix this straightforwardly. The language nature would have to change. Designations of processes are not capabilities (but guessable integers). Designations of functions are not capabilities (but atoms and you can freely convert between arbitrary strings and atoms. You can freely forge any atom). The permission to call a function are set by a poor module system. Erlang supports &amp;quot;hot code swapping&amp;quot; (or some similar term) which gives attacker (from untrusted subsystem) an authority to replace any code anywhere in the system. There are many holes in Erlang. I am skeptical. [[User:Kosik|Kosik]] 03:50, 2 April 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 16:05:58 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Removed reference to Erlang. Reasons are in the discussion tab.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Independent or Prior Objcap Languages ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.erights.org/history/morris73.pdf Gedanken]&lt;br /&gt;
* [http://www.erights.org/history/actors.html Actors]&lt;br /&gt;
* [http://portal.acm.org/ft_gateway.cfm?id=323739&amp;amp;type=pdf Vulcan],&lt;br /&gt;
* [http://www.agorics.com/Library/joule.html Joule]&lt;br /&gt;
* [http://mumble.net/~jar/pubs/secureos/ W7]&lt;br /&gt;
* [http://portal.acm.org/citation.cfm?doid=323627.323646 Eden, Emerald]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/279442.html J-Kernel]&lt;br /&gt;
* [http://plash.beasts.org Plash]&lt;br /&gt;
* [http://prog.vub.ac.be/amop/ AmbientTalk]&lt;br /&gt;
* [http://newspeaklanguage.org/ Newspeak]&lt;br /&gt;
&lt;br /&gt;
== Related to '''''E''''' ==&lt;br /&gt;
{| &lt;br /&gt;
|+Relationships of '''''E''''' and other languages&lt;br /&gt;
! Base language !! '''''E''''' Implementation !! Adapted to objcaps&lt;br /&gt;
|-&lt;br /&gt;
| [http://java.sun.com Java] || [http://erights.org/download/ E-on-Java] || [[Joe-E]] [http://waterken.sourceforge.net/ Waterken] [http://asyncobjects.sourceforge.net/ AsyncObjects]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mozart-oz.org/ Mozart/Oz] ||  || [http://www.info.ucl.ac.be/people/PVR/oze.pdf Oz-E]&lt;br /&gt;
|-&lt;br /&gt;
| C/C++ || [http://erights.org/e-impls/e-on-c/index.html MC] [http://washort.twistedmatrix.com/2008/07/ecru-c-runtime-for-e.html Ecru] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.erights.org/javadoc/org/erights/e/elang/smallcaps/SmallcapsOps.html Smallcaps] || [http://erights.org/e-impls/e-on-smallcaps/index.html E-on-Smallcaps] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.squeak.org/ Squeak] || [http://erights.org/e-impls/e-on-squeak/index.html E-on-Squeak] ||  [http://www.squeaksource.com/SecureSqueak.html SecureSqueak] [http://wiki.squeak.org/squeak/6011 SqueakElibVM]&lt;br /&gt;
|-&lt;br /&gt;
| Common Lisp || [http://erights.org/e-impls/e-on-cl/index.html E-on-CL] || [http://www.eros-os.org/pipermail/e-lang/2005-April/010572.html CL-E]&lt;br /&gt;
|-&lt;br /&gt;
| [http://caml.inria.fr/ocaml/index.en.html OCaml] ||  || [[Emily]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.haskell.org/ Haskell] || [http://homepage.mac.com/kpreid/elang/ E-on-Haskell] || [http://code.google.com/p/caskell/ Caskell]&lt;br /&gt;
|-&lt;br /&gt;
| Python || || [http://twistedmatrix.com/ Twisted Python] [http://foolscap.lothar.com/trac FoolsCap] [http://www.cs.ubc.ca/~drifty/papers/python_security.pdf Secure Python] [http://plash.beasts.org/wiki/CapPython CapPython] [http://code.google.com/p/googleappengine/issues/detail?id=671 safelite]&lt;br /&gt;
|-&lt;br /&gt;
| Perl || || [http://caperl.links.org/ CaPerl]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cis.upenn.edu/~bcpierce/papers/pict/Html/Pict.html Pict] || || [http://altair.fiit.stuba.sk/mediawiki/index.php/Tamed_Pict Tamed Pict]&lt;br /&gt;
|-&lt;br /&gt;
| E || E-on-E ||&lt;br /&gt;
|-&lt;br /&gt;
|  || || [http://sebyla.sourceforge.net/ Sebyla]&lt;br /&gt;
|-&lt;br /&gt;
| Javascript || [[E-on-JS]] || [http://code.google.com/p/google-caja/ Caja] [http://www.adsafe.org/ ADsafe] [http://wiki.developers.facebook.com/index.php/FBJS FBJS][http://video.google.com/videoplay?docid=452089494323007214 Vats on Gears] [http://www.jacaranda.org/jacaranda-spec-0.3.txt Jacaranda] [http://websandbox.livelabs.com/ Microsoft WebSandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also applicable to ML and Haskell style systems: [http://okmij.org/ftp/papers/lightweight-static-capabilities.pdf Lightweight Static Capabilities]&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 16:04:24 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>Object-capability languages</title>
			<link>http://50.77.162.165/wiki/Object-capability_languages</link>
			<guid>http://50.77.162.165/wiki/Object-capability_languages</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;Corrected link to the tamed version of the original Pict programming language.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Independent or Prior Objcap Languages ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.erights.org/history/morris73.pdf Gedanken]&lt;br /&gt;
* [http://www.erights.org/history/actors.html Actors]&lt;br /&gt;
* [http://portal.acm.org/ft_gateway.cfm?id=323739&amp;amp;type=pdf Vulcan],&lt;br /&gt;
* [http://www.agorics.com/Library/joule.html Joule]&lt;br /&gt;
* [http://mumble.net/~jar/pubs/secureos/ W7]&lt;br /&gt;
* [http://portal.acm.org/citation.cfm?doid=323627.323646 Eden, Emerald]&lt;br /&gt;
* [http://citeseer.ist.psu.edu/279442.html J-Kernel]&lt;br /&gt;
* [http://plash.beasts.org Plash]&lt;br /&gt;
* [http://prog.vub.ac.be/amop/ AmbientTalk]&lt;br /&gt;
* [http://newspeaklanguage.org/ Newspeak]&lt;br /&gt;
* [http://www.erlang.org/ Erlang] - Erlang is almost, but not quite an object-capability language.&lt;br /&gt;
&lt;br /&gt;
== Related to '''''E''''' ==&lt;br /&gt;
{| &lt;br /&gt;
|+Relationships of '''''E''''' and other languages&lt;br /&gt;
! Base language !! '''''E''''' Implementation !! Adapted to objcaps&lt;br /&gt;
|-&lt;br /&gt;
| [http://java.sun.com Java] || [http://erights.org/download/ E-on-Java] || [[Joe-E]] [http://waterken.sourceforge.net/ Waterken] [http://asyncobjects.sourceforge.net/ AsyncObjects]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.mozart-oz.org/ Mozart/Oz] ||  || [http://www.info.ucl.ac.be/people/PVR/oze.pdf Oz-E]&lt;br /&gt;
|-&lt;br /&gt;
| C/C++ || [http://erights.org/e-impls/e-on-c/index.html MC] [http://washort.twistedmatrix.com/2008/07/ecru-c-runtime-for-e.html Ecru] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.erights.org/javadoc/org/erights/e/elang/smallcaps/SmallcapsOps.html Smallcaps] || [http://erights.org/e-impls/e-on-smallcaps/index.html E-on-Smallcaps] || &lt;br /&gt;
|-&lt;br /&gt;
| [http://www.squeak.org/ Squeak] || [http://erights.org/e-impls/e-on-squeak/index.html E-on-Squeak] ||  [http://www.squeaksource.com/SecureSqueak.html SecureSqueak] [http://wiki.squeak.org/squeak/6011 SqueakElibVM]&lt;br /&gt;
|-&lt;br /&gt;
| Common Lisp || [http://erights.org/e-impls/e-on-cl/index.html E-on-CL] || [http://www.eros-os.org/pipermail/e-lang/2005-April/010572.html CL-E]&lt;br /&gt;
|-&lt;br /&gt;
| [http://caml.inria.fr/ocaml/index.en.html OCaml] ||  || [[Emily]]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.haskell.org/ Haskell] || [http://homepage.mac.com/kpreid/elang/ E-on-Haskell] || [http://code.google.com/p/caskell/ Caskell]&lt;br /&gt;
|-&lt;br /&gt;
| Python || || [http://twistedmatrix.com/ Twisted Python] [http://foolscap.lothar.com/trac FoolsCap] [http://www.cs.ubc.ca/~drifty/papers/python_security.pdf Secure Python] [http://plash.beasts.org/wiki/CapPython CapPython] [http://code.google.com/p/googleappengine/issues/detail?id=671 safelite]&lt;br /&gt;
|-&lt;br /&gt;
| Perl || || [http://caperl.links.org/ CaPerl]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.cis.upenn.edu/~bcpierce/papers/pict/Html/Pict.html Pict] || || [http://altair.fiit.stuba.sk/mediawiki/index.php/Tamed_Pict Tamed Pict]&lt;br /&gt;
|-&lt;br /&gt;
| E || E-on-E ||&lt;br /&gt;
|-&lt;br /&gt;
|  || || [http://sebyla.sourceforge.net/ Sebyla]&lt;br /&gt;
|-&lt;br /&gt;
| Javascript || [[E-on-JS]] || [http://code.google.com/p/google-caja/ Caja] [http://www.adsafe.org/ ADsafe] [http://wiki.developers.facebook.com/index.php/FBJS FBJS][http://video.google.com/videoplay?docid=452089494323007214 Vats on Gears] [http://www.jacaranda.org/jacaranda-spec-0.3.txt Jacaranda] [http://websandbox.livelabs.com/ Microsoft WebSandbox]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also applicable to ML and Haskell style systems: [http://okmij.org/ftp/papers/lightweight-static-capabilities.pdf Lightweight Static Capabilities]&lt;/div&gt;</description>
			<pubDate>Fri, 24 Jul 2009 15:51:12 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object-capability_languages</comments>		</item>
		<item>
			<title>User:Kosik</title>
			<link>http://50.77.162.165/wiki/User:Kosik</link>
			<guid>http://50.77.162.165/wiki/User:Kosik</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;User:Kosik moved to User:Matej Kosik: Changed to a full name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:Matej Kosik]]&lt;/div&gt;</description>
			<pubDate>Wed, 15 Jul 2009 14:53:03 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/User_talk:Kosik</comments>		</item>
		<item>
			<title>User:Matej Kosik</title>
			<link>http://50.77.162.165/wiki/User:Matej_Kosik</link>
			<guid>http://50.77.162.165/wiki/User:Matej_Kosik</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;User:Kosik moved to User:Matej Kosik: Changed to a full name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://altair.sk/mediawiki/index.php/Matej_Kosik my web site]&lt;/div&gt;</description>
			<pubDate>Wed, 15 Jul 2009 14:53:02 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/User_talk:Matej_Kosik</comments>		</item>
		<item>
			<title>Talk:Capability</title>
			<link>http://50.77.162.165/wiki/Talk:Capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The article can be further improved by given more examples of capabilities from CapROS, EROS and Coyotos systems. What objects can those capabilities designate? Which operations do those capabilities permit their holder to perform with designated objects? [[User:Kosik|Kosik]] 05:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
It seems the article describes an object-capability as though it is the only sort. I understand it is the type of capability used in E and such, but other sorts are used for security.&lt;br /&gt;
* Password Capabilities (SPKI, Certificates) do not need to designate objects&lt;br /&gt;
* Object Capabilities &lt;br /&gt;
&lt;br /&gt;
Further, capability doesn't imply '''unforgeable''' unless you're talking about '''secure''' capabilities, and '''capability-based security'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You are right. Some capabilities are indeed unforgeable and some are merly ''hardly guessable''. Cannot these two different terms:&lt;br /&gt;
* unforgeable&lt;br /&gt;
* hardly unguessable&lt;br /&gt;
be contracted to some single adjective? Using the term &amp;quot;unforgeable or hardly unguessable&amp;quot; is awkward. [[User:Kosik|Kosik]] 10:59, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''I'm afraid you didn't grok. I mean to say that capabilities may be very forgeable and guessable. They [the forgeable and guessable capabilities] simply aren't secure capabilities, or suitable for capability-based security. And the page still has a heavily '''object-'''capability bias.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Concerning object-capability bias, see my suggestion at the top of the page. More example are needed and can be added. I am just not qualified to give them.&lt;br /&gt;
&lt;br /&gt;
It is possible to demonstrate that if you say &amp;quot;capabilities are very forgeable and guessable&amp;quot; you are wrong.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 11:51, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Please demonstrate, then. Demonstrate that &amp;quot;Capability&amp;quot; implies &amp;quot;Secure capability&amp;quot; in global vernacular and I'll be happy to recant. But I suspect you're not qualified to do that, either.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a [http://altair.fiit.stuba.sk/mediawiki/index.php/SandboxedPing non-trivial example]. You can try to explain me how it would be possible for an untrusted sandboxed subsystem to forge or guess arbitrary capabilities?&lt;br /&gt;
&lt;br /&gt;
Similar examples can be also shown in any object-capability programming language one chooses to use. I may try to show some code in E with a similar point. I am not qualified to show any examples showing a similar point in capability-based operating systems but I think on cap-talk there are such people.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 13:16, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''You've got your logic backwards, Kosik. I'm asserting that not all capabilities are secure, not that all (and 'arbitrary') capabilities are insecure.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
What do you mean by &amp;quot;secure capability&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 14:55, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''A secure capability is any power to perform an operation that is available to a system but unavailable (not merely forbidden) to a subject acting within that system.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do not understand the definition:&lt;br /&gt;
&lt;br /&gt;
: &amp;quot;''A secure capability is any power to perform an operation that is available to a system but unavailable (not merely forbidden) to a subject acting within that system.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can you please give some examples of secure capabilities? Something from real systems.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 07:41, 11 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
There is only one acceptable interpretation of the word &amp;quot;capability&amp;quot; on this wiki and its definition coincides with Dmbarbour's notion of a '''secure''' capability. Insecure capabilities do not exist in the world of capability-based security and, hence, have no place on this wiki except under a discussion of &amp;quot;other uses of the word capability&amp;quot;, which would also be the place to discuss e.g. UNIX capabilities which are not capabilities in the sense used on this wiki either.&lt;br /&gt;
--[[User:Toby.murray|Toby.murray]] 07:37, 13 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If it were up to me, I would use the word '''designation''' instead of '''token''' and the phrase '''it designates''' rather then '''it identifies'''. &lt;br /&gt;
&lt;br /&gt;
The word '''token''' is tricky.&lt;br /&gt;
&lt;br /&gt;
The verb '''to identify''' somehow evokes unique naming and that is not what is happening.&lt;br /&gt;
&lt;br /&gt;
But this is a minor issue.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 09:51, 15 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Wed, 15 Jul 2009 14:51:43 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Talk:Ambient capability</title>
			<link>http://50.77.162.165/wiki/Talk:Ambient_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Ambient_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have never heard of this term. Why do we need it? Isn't the term [[ambient authority]] sufficient? Can you give some example of things you (the author) consider as an example of [[ambient capability]]? Are there some examples of ambient capabilities that are somehow different from ambient authority? [[User:Kosik|Kosik]] 01:19, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Ambient authority]] doesn't apply '''unless''' permissions are enforced in denying an operation. The two are barely even related. Ambient authority is not sufficient or appropriate as terminology to properly discuss the circumstances surrounding distribution and mobility. &lt;br /&gt;
&lt;br /&gt;
Consider an object that accesses the following:&lt;br /&gt;
* a keyboard&lt;br /&gt;
* a monitor&lt;br /&gt;
* current local time via a clock &lt;br /&gt;
* random number generator&lt;br /&gt;
* a HTTP cache&lt;br /&gt;
* a Domain Name Service&lt;br /&gt;
* a timer (10 Hz event)&lt;br /&gt;
* hooking into Data Distribution Service (a distributed publish/subscribe)&lt;br /&gt;
* local memory allocations (i.e. to allocate values)&lt;br /&gt;
&lt;br /&gt;
These capabilities are ALL ambient, at least initially. Access to each of them is highly contingent on context. It takes much work to create a common namespace that would let one machine have access to the monitor or keyboard on another machine.&lt;br /&gt;
&lt;br /&gt;
But consider:&lt;br /&gt;
* An object-capability system (OS or language) is likely to wrap access to the keyboard and monitor into objects with secure (unforgeable) designations. If the above object is mobilized, the keyboard and monitor objects designate the keyboard and monitor on the original host, thus causing messages to cross the network. That's the desired behavior... keyboard and monitor are reasonably 'unique' ambients (though one might transparently replace the keyboard or monitor), so fit reasonably well into the [[object capability]] system.&lt;br /&gt;
* Access to a clock, random number generator is more questionable. [[object-capability languages]] can go either way: allow access as new language primitives, in which case the 'current local time' is ambient to programs written in that language (and refers to the time on the host). Or wrap these into objects, in which case once object is mobilized it will need to send messages across the network for each request to the current local time. Sending requests for random numbers across the network is wasteful, at the very least. Accessing a clock across a network introduces variation in latency.&lt;br /&gt;
* access to HTTP cache and Domain Name Service across a network after mobilization is pointless, but also demonstrate that there's no feasible way for [[object-capability languages]] to possibly provide all the desired ambient capabilities AS object capabilities after a mobilization.&lt;br /&gt;
* Access to the 10 Hz event and DDS adds an extra challenges: having subscribed to these locally requires handing object-capabilities to other objects on the local system in order to subscribe and later unsubscribe. When mobilizing, however, having a 10 Hz event or DDS updates cross the network is problematic: those services can easily be provided locally for much higher performance, reliability, consistent latency, and quality of service. This suggests some first-class support for subscriptions (and later unsubscribe) to ambients is necessary to deal with certain distribution issues.&lt;br /&gt;
* Most [[object-capability languages]] simply make allocations from local memory into 'primitives' making them ambient to the program, but there is always talk of wrapping memory resources into capabilities in order to handle quotas and such. After a mobilization, the 'primitives' approach means that the object will allocate any new objects on the remote machine, whereas if memory is wrapped into quota caps then one will be allocating memory on its original host. This suggests, at the very least, that quotas need to be handled differently if object-capabilities are to be networked.&lt;br /&gt;
&lt;br /&gt;
[[Object-capability languages]] + '''distribution or mobility''' benefits considerably from first-class support for [[ambient capability|ambient capabilities]]. But to discuss such possibilities requires that one first understand terminology such as [[ambient capability]].&lt;br /&gt;
&lt;br /&gt;
Usefully, ambient capabilities - even 10 Hz events and DDS and HTTP cache and DNS - '''can''' be reified. But one needs to explicitly recognize such [[ambient capability|ambient capabilities]] as being distinct from [[object capability|object capabilities]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
May I choose single of your points? You say that access to a local time via a clock is an &amp;quot;ambient capability&amp;quot;. This is false in case of [http://altair.fiit.stuba.sk/mediawiki/index.php/Tamed_Pict Tamed Pict]. Untrusted sandboxed subsystems do not have such an &amp;quot;ambient capability&amp;quot;. What kind of &amp;quot;ambient capabilities&amp;quot; have untrusted sandboxed subsystems written in Tamed Pict? What kind of &amp;quot;ambient capabilities&amp;quot; do have untrusted sandboxed subsystems written in E?&lt;br /&gt;
&lt;br /&gt;
Other points are also false but that is beyond the scope now until you show a single &amp;quot;ambient capability&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 13:35, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''I said that &amp;quot;local time via a clock is an [[ambient capability]], '''at least initially'''&amp;quot;. I.e. at the hardware/OS/abstract-machine/LAN level. I then go on to explain options available to a secure capability-system (like a capability OS or [[object-capability languages]]) for securing these capabilities. Two options were explicitly mentioned:''&lt;br /&gt;
* wrap the [[ambient capability]] to the local time via a clock in an 'object' with a secure [[object capability]]. This has certain implications when comes time to mobilize objects (i.e. for load-balancing, disruption tolerance, etc.)&lt;br /&gt;
* or allow access to local time as a language primitive, which tends to add [[excessive authority]] to the language.&lt;br /&gt;
&lt;br /&gt;
''There are many more options, of course. Infinitely many. Two more are:''&lt;br /&gt;
* One can create a 'major domo' object that provides a set of factories for certain local capabilities to 'guests', who must take advantage of them. The factories and the rest of the system is secure and thus provide a sandbox (up to primitive caps, such as memory allocation in many languages). &lt;br /&gt;
* One can reify the notion of an 'ambient', thus producing [[ambient object|ambient objects]] that have the same semantics everywhere but different implementations. One may then provide something similar to [[object capability]] to these reified ambients through factories rather than as language primitives, and these access to these ambients will implicitly follow objects as they are distributed.&lt;br /&gt;
&lt;br /&gt;
''Tamed Pict just happens to choose one option among many: it uses the 'major domo' option to provide access to local time and various other features. The 'major domo' seems to be expressed by importing some 'trusted' modules, which provide those capabilities to the guest via automatic construction of various hooks. Unfortunately, this sandbox approach has many flaws for transparent distribution:''&lt;br /&gt;
* the provided [[capability]] isn't tuned to the guest, which means it provides [[excessive authority]] for some guests and [[insufficient authority]] for others&lt;br /&gt;
* if the major-domo doesn't provide a necessary capability, the guest cannot transparently continue using the remote capability to ensure the guest has the exact same capability before and after mobilization.&lt;br /&gt;
* active interactions with these ambients (e.g. subscriptions) are not maintained and must be rebuilt by the guest after each mobilization, pretty much utterly destroying transparency&lt;br /&gt;
&lt;br /&gt;
''Transparent distribution, especially automatic distribution, especially of the first-class sort, is useful for: redundancy and self-healing, load-balancing, latency and bandwidth optimizations, improved quality-of-service, and disruption tolerance.&lt;br /&gt;
&lt;br /&gt;
''[[ambient authority]] is not [[ambient capability]]. A secure [[ambient capability]] must not be denied or lost simply because one is mobilized to a new sandbox. [[ambient authority]] will 'grant' or 'deny' permissions. It is effectively expressed by granting a set of factories to the guest - the guest may only behave within the limits of those factories. By comparison [[ambient capability]] is effectively expressed by ensuring the guest has the exact same set of capabilities both before and after a mobilization - but only up to semantics, allowing (and sometimes requiring) for the guest to automatically take advantage of the local HTTP cache, local random number generator, local timers, etc. Unlike objects, '''ambients''' have poorly defined boundaries.'' --[[User:Dmbarbour|Dmbarbour]] 15:57, 10 July 2009&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It sounds to me like these &amp;quot;ambients&amp;quot; that you describe just above are singleton [[Unum Pattern|una]]; for example, the [[LocatorUnum]] in [[CapTP]], which to any object holding it grants the authority to convert bits into object-capabilities to any object reachable over CapTP. Similarly, access to a clock (in the sense of &amp;quot;what time is it now?&amp;quot;) is ''universal'' -- real time is the same no matter what machine or process you're in. Does this fit the concept you're describing? --[[User:Kevin Reid|Kevin Reid]] 19:58, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''The [[Unum Pattern]] is certainly related. It is clearly aimed to reify universals or ambients, working around some of the problems of object identity. It's incomplete, though... it doesn't handle domain-of-presence (context) and it doesn't handle reverse direction interactions (e.g. subscriptions to a 10 Hz signal). Thanks for pointing it out.'' -- [[User:198.253.49.6|198.253.49.6]] 21:11, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do not understand the definition:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;Ambient capability describes constraint and provision of operations by virtue of context.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can you please give some examples of ambient capabilities? [[User:Kosik|Kosik]] 01:23, 11 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Dmbarbour,&lt;br /&gt;
&lt;br /&gt;
I have deleted your text (although it can still be found in the history). If you want to discuss it, please:&lt;br /&gt;
* either contact me personally (&amp;lt;tt&amp;gt;kosik at fiit.stuba.sk&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* or, better, join [http://www.eros-os.org/mailman/listinfo/cap-talk cap-talk] mailing list.&lt;br /&gt;
&lt;br /&gt;
Best regards.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 07:00, 13 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2009 12:00:38 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Ambient_capability</comments>		</item>
		<item>
			<title>Ambient capability</title>
			<link>http://50.77.162.165/wiki/Ambient_capability</link>
			<guid>http://50.77.162.165/wiki/Ambient_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;I am open to discussing the text (see the note in Talk:Ambient_capability page). Until then, it was deleted because it makes little or no sense.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 13 Jul 2009 12:00:03 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Ambient_capability</comments>		</item>
		<item>
			<title>Talk:Capability</title>
			<link>http://50.77.162.165/wiki/Talk:Capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The article can be further improved by given more examples of capabilities from CapROS, EROS and Coyotos systems. What objects can those capabilities designate? Which operations do those capabilities permit their holder to perform with designated objects? [[User:Kosik|Kosik]] 05:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
It seems the article describes an object-capability as though it is the only sort. I understand it is the type of capability used in E and such, but other sorts are used for security.&lt;br /&gt;
* Password Capabilities (SPKI, Certificates) do not need to designate objects&lt;br /&gt;
* Object Capabilities &lt;br /&gt;
&lt;br /&gt;
Further, capability doesn't imply '''unforgeable''' unless you're talking about '''secure''' capabilities, and '''capability-based security'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You are right. Some capabilities are indeed unforgeable and some are merly ''hardly guessable''. Cannot these two different terms:&lt;br /&gt;
* unforgeable&lt;br /&gt;
* hardly unguessable&lt;br /&gt;
be contracted to some single adjective? Using the term &amp;quot;unforgeable or hardly unguessable&amp;quot; is awkward. [[User:Kosik|Kosik]] 10:59, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''I'm afraid you didn't grok. I mean to say that capabilities may be very forgeable and guessable. They [the forgeable and guessable capabilities] simply aren't secure capabilities, or suitable for capability-based security. And the page still has a heavily '''object-'''capability bias.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Concerning object-capability bias, see my suggestion at the top of the page. More example are needed and can be added. I am just not qualified to give them.&lt;br /&gt;
&lt;br /&gt;
It is possible to demonstrate that if you say &amp;quot;capabilities are very forgeable and guessable&amp;quot; you are wrong.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 11:51, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Please demonstrate, then. Demonstrate that &amp;quot;Capability&amp;quot; implies &amp;quot;Secure capability&amp;quot; in global vernacular and I'll be happy to recant. But I suspect you're not qualified to do that, either.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a [http://altair.fiit.stuba.sk/mediawiki/index.php/SandboxedPing non-trivial example]. You can try to explain me how it would be possible for an untrusted sandboxed subsystem to forge or guess arbitrary capabilities?&lt;br /&gt;
&lt;br /&gt;
Similar examples can be also shown in any object-capability programming language one chooses to use. I may try to show some code in E with a similar point. I am not qualified to show any examples showing a similar point in capability-based operating systems but I think on cap-talk there are such people.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 13:16, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''You've got your logic backwards, Kosik. I'm asserting that not all capabilities are secure, not that all (and 'arbitrary') capabilities are insecure.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
What do you mean by &amp;quot;secure capability&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 14:55, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''A secure capability is any power to perform an operation that is available to a system but unavailable (not merely forbidden) to a subject acting within that system.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do not understand the definition:&lt;br /&gt;
&lt;br /&gt;
: &amp;quot;''A secure capability is any power to perform an operation that is available to a system but unavailable (not merely forbidden) to a subject acting within that system.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can you please give some examples of secure capabilities? Something from real systems.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 07:41, 11 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</description>
			<pubDate>Sat, 11 Jul 2009 12:41:28 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure, Dmbarbour?&lt;br /&gt;
&lt;br /&gt;
May I suggest you&lt;br /&gt;
* first to read [http://www.erights.org/talks/thesis/ Mark Miller's thesis]&lt;br /&gt;
* then install E&lt;br /&gt;
* read E in a [[Walnut]] and experiment with E&lt;br /&gt;
If you like it, join e-lang or cap-talk mailing list and discuss your ideas.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I have read Mark Miller's thesis, many years ago. And I played with '''E language''' then, too. I've gained more than a few inspirations from these, but I'm not all that fond of the language (in particular, how it handles distribution, disruption, resilience, persistence, concurrency, consistency, facets, and I'm not impressed with available optimizations achievable).&lt;br /&gt;
&lt;br /&gt;
Anyhow, I can only express my professional opinion on what [[object capability]] means based on the literature I have read, same as Mark Miller or anyone else, and take comfort in the fact that formal definitions are graded by '''utility in making distinctions''' rather than by their conformance with the opinions of others. You ask if I'm &amp;quot;sure&amp;quot;? I'm very certain of the utility in understanding [[object capability]] as distinct from other capabilities, and I'm very certain of the utility in understanding [[capability]] as distinct from '''secure''' capability, such that one can meaningfully discusss the security '''of''' capabilities rather than just security '''with''' capabilities. So, in that sense, I'm sure. &lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:15, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
Upon seeing you 'rewrite' my professional opinion on the matter with your own, it is clear to me that you would prefer to maintain and grow this wiki on your own rather than risk dissenting opinions. I'll leave you alone now. But, before I go, May I suggest that you read some capability literature that ''wasn't'' written by Mark Miller? There's a lot of it out there.&lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:23, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think [http://www.eros-os.org/mailman/listinfo/cap-talk cap-talk] would be a better place for expressing your professional opinion. Join under your real name.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 16:30, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Kosik: I think your &amp;quot;complete rewrite&amp;quot; was unnecessarily antagonistic. Please prefer gradual improvements ''and discussion'' to discarding others' work, unless it is complete nonsense, which this wasn't. --[[User:Kevin Reid|Kevin Reid]] 19:37, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I propose first discussion of the [[ambient capability]] article and if it is settled, let us discuss other things (like [[object capability]]). Sequentially. Is that fair? [[User:Kosik|Kosik]] 01:34, 11 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Sat, 11 Jul 2009 06:34:34 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Ambient capability</title>
			<link>http://50.77.162.165/wiki/Talk:Ambient_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Ambient_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have never heard of this term. Why do we need it? Isn't the term [[ambient authority]] sufficient? Can you give some example of things you (the author) consider as an example of [[ambient capability]]? Are there some examples of ambient capabilities that are somehow different from ambient authority? [[User:Kosik|Kosik]] 01:19, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Ambient authority]] doesn't apply '''unless''' permissions are enforced in denying an operation. The two are barely even related. Ambient authority is not sufficient or appropriate as terminology to properly discuss the circumstances surrounding distribution and mobility. &lt;br /&gt;
&lt;br /&gt;
Consider an object that accesses the following:&lt;br /&gt;
* a keyboard&lt;br /&gt;
* a monitor&lt;br /&gt;
* current local time via a clock &lt;br /&gt;
* random number generator&lt;br /&gt;
* a HTTP cache&lt;br /&gt;
* a Domain Name Service&lt;br /&gt;
* a timer (10 Hz event)&lt;br /&gt;
* hooking into Data Distribution Service (a distributed publish/subscribe)&lt;br /&gt;
* local memory allocations (i.e. to allocate values)&lt;br /&gt;
&lt;br /&gt;
These capabilities are ALL ambient, at least initially. Access to each of them is highly contingent on context. It takes much work to create a common namespace that would let one machine have access to the monitor or keyboard on another machine.&lt;br /&gt;
&lt;br /&gt;
But consider:&lt;br /&gt;
* An object-capability system (OS or language) is likely to wrap access to the keyboard and monitor into objects with secure (unforgeable) designations. If the above object is mobilized, the keyboard and monitor objects designate the keyboard and monitor on the original host, thus causing messages to cross the network. That's the desired behavior... keyboard and monitor are reasonably 'unique' ambients (though one might transparently replace the keyboard or monitor), so fit reasonably well into the [[object capability]] system.&lt;br /&gt;
* Access to a clock, random number generator is more questionable. [[object-capability languages]] can go either way: allow access as new language primitives, in which case the 'current local time' is ambient to programs written in that language (and refers to the time on the host). Or wrap these into objects, in which case once object is mobilized it will need to send messages across the network for each request to the current local time. Sending requests for random numbers across the network is wasteful, at the very least. Accessing a clock across a network introduces variation in latency.&lt;br /&gt;
* access to HTTP cache and Domain Name Service across a network after mobilization is pointless, but also demonstrate that there's no feasible way for [[object-capability languages]] to possibly provide all the desired ambient capabilities AS object capabilities after a mobilization.&lt;br /&gt;
* Access to the 10 Hz event and DDS adds an extra challenges: having subscribed to these locally requires handing object-capabilities to other objects on the local system in order to subscribe and later unsubscribe. When mobilizing, however, having a 10 Hz event or DDS updates cross the network is problematic: those services can easily be provided locally for much higher performance, reliability, consistent latency, and quality of service. This suggests some first-class support for subscriptions (and later unsubscribe) to ambients is necessary to deal with certain distribution issues.&lt;br /&gt;
* Most [[object-capability languages]] simply make allocations from local memory into 'primitives' making them ambient to the program, but there is always talk of wrapping memory resources into capabilities in order to handle quotas and such. After a mobilization, the 'primitives' approach means that the object will allocate any new objects on the remote machine, whereas if memory is wrapped into quota caps then one will be allocating memory on its original host. This suggests, at the very least, that quotas need to be handled differently if object-capabilities are to be networked.&lt;br /&gt;
&lt;br /&gt;
[[Object-capability languages]] + '''distribution or mobility''' benefits considerably from first-class support for [[ambient capability|ambient capabilities]]. But to discuss such possibilities requires that one first understand terminology such as [[ambient capability]].&lt;br /&gt;
&lt;br /&gt;
Usefully, ambient capabilities - even 10 Hz events and DDS and HTTP cache and DNS - '''can''' be reified. But one needs to explicitly recognize such [[ambient capability|ambient capabilities]] as being distinct from [[object capability|object capabilities]].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
May I choose single of your points? You say that access to a local time via a clock is an &amp;quot;ambient capability&amp;quot;. This is false in case of [http://altair.fiit.stuba.sk/mediawiki/index.php/Tamed_Pict Tamed Pict]. Untrusted sandboxed subsystems do not have such an &amp;quot;ambient capability&amp;quot;. What kind of &amp;quot;ambient capabilities&amp;quot; have untrusted sandboxed subsystems written in Tamed Pict? What kind of &amp;quot;ambient capabilities&amp;quot; do have untrusted sandboxed subsystems written in E?&lt;br /&gt;
&lt;br /&gt;
Other points are also false but that is beyond the scope now until you show a single &amp;quot;ambient capability&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 13:35, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''I said that &amp;quot;local time via a clock is an [[ambient capability]], '''at least initially'''&amp;quot;. I.e. at the hardware/OS/abstract-machine/LAN level. I then go on to explain options available to a secure capability-system (like a capability OS or [[object-capability languages]]) for securing these capabilities. Two options were explicitly mentioned:''&lt;br /&gt;
* wrap the [[ambient capability]] to the local time via a clock in an 'object' with a secure [[object capability]]. This has certain implications when comes time to mobilize objects (i.e. for load-balancing, disruption tolerance, etc.)&lt;br /&gt;
* or allow access to local time as a language primitive, which tends to add [[excessive authority]] to the language.&lt;br /&gt;
&lt;br /&gt;
''There are many more options, of course. Infinitely many. Two more are:''&lt;br /&gt;
* One can create a 'major domo' object that provides a set of factories for certain local capabilities to 'guests', who must take advantage of them. The factories and the rest of the system is secure and thus provide a sandbox (up to primitive caps, such as memory allocation in many languages). &lt;br /&gt;
* One can reify the notion of an 'ambient', thus producing [[ambient object|ambient objects]] that have the same semantics everywhere but different implementations. One may then provide something similar to [[object capability]] to these reified ambients through factories rather than as language primitives, and these access to these ambients will implicitly follow objects as they are distributed.&lt;br /&gt;
&lt;br /&gt;
''Tamed Pict just happens to choose one option among many: it uses the 'major domo' option to provide access to local time and various other features. The 'major domo' seems to be expressed by importing some 'trusted' modules, which provide those capabilities to the guest via automatic construction of various hooks. Unfortunately, this sandbox approach has many flaws for transparent distribution:''&lt;br /&gt;
* the provided [[capability]] isn't tuned to the guest, which means it provides [[excessive authority]] for some guests and [[insufficient authority]] for others&lt;br /&gt;
* if the major-domo doesn't provide a necessary capability, the guest cannot transparently continue using the remote capability to ensure the guest has the exact same capability before and after mobilization.&lt;br /&gt;
* active interactions with these ambients (e.g. subscriptions) are not maintained and must be rebuilt by the guest after each mobilization, pretty much utterly destroying transparency&lt;br /&gt;
&lt;br /&gt;
''Transparent distribution, especially automatic distribution, especially of the first-class sort, is useful for: redundancy and self-healing, load-balancing, latency and bandwidth optimizations, improved quality-of-service, and disruption tolerance.&lt;br /&gt;
&lt;br /&gt;
''[[ambient authority]] is not [[ambient capability]]. A secure [[ambient capability]] must not be denied or lost simply because one is mobilized to a new sandbox. [[ambient authority]] will 'grant' or 'deny' permissions. It is effectively expressed by granting a set of factories to the guest - the guest may only behave within the limits of those factories. By comparison [[ambient capability]] is effectively expressed by ensuring the guest has the exact same set of capabilities both before and after a mobilization - but only up to semantics, allowing (and sometimes requiring) for the guest to automatically take advantage of the local HTTP cache, local random number generator, local timers, etc. Unlike objects, '''ambients''' have poorly defined boundaries.'' --[[User:Dmbarbour|Dmbarbour]] 15:57, 10 July 2009&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
It sounds to me like these &amp;quot;ambients&amp;quot; that you describe just above are singleton [[Unum Pattern|una]]; for example, the [[LocatorUnum]] in [[CapTP]], which to any object holding it grants the authority to convert bits into object-capabilities to any object reachable over CapTP. Similarly, access to a clock (in the sense of &amp;quot;what time is it now?&amp;quot;) is ''universal'' -- real time is the same no matter what machine or process you're in. Does this fit the concept you're describing? --[[User:Kevin Reid|Kevin Reid]] 19:58, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''The [[Unum Pattern]] is certainly related. It is clearly aimed to reify universals or ambients, working around some of the problems of object identity. It's incomplete, though... it doesn't handle domain-of-presence (context) and it doesn't handle reverse direction interactions (e.g. subscriptions to a 10 Hz signal). Thanks for pointing it out.'' -- [[User:198.253.49.6|198.253.49.6]] 21:11, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I do not understand the definition:&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;Ambient capability describes constraint and provision of operations by virtue of context.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Can you please give some examples of ambient capabilities? [[User:Kosik|Kosik]] 01:23, 11 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Sat, 11 Jul 2009 06:23:44 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Ambient_capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure, Dmbarbour?&lt;br /&gt;
&lt;br /&gt;
May I suggest you&lt;br /&gt;
* first to read [http://www.erights.org/talks/thesis/ Mark Miller's thesis]&lt;br /&gt;
* then install E&lt;br /&gt;
* read E in a [[Walnut]] and experiment with E&lt;br /&gt;
If you like it, join e-lang or cap-talk mailing list and discuss your ideas.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I have read Mark Miller's thesis, many years ago. And I played with '''E language''' then, too. I've gained more than a few inspirations from these, but I'm not all that fond of the language (in particular, how it handles distribution, disruption, resilience, persistence, concurrency, consistency, facets, and I'm not impressed with available optimizations achievable).&lt;br /&gt;
&lt;br /&gt;
Anyhow, I can only express my professional opinion on what [[object capability]] means based on the literature I have read, same as Mark Miller or anyone else, and take comfort in the fact that formal definitions are graded by '''utility in making distinctions''' rather than by their conformance with the opinions of others. You ask if I'm &amp;quot;sure&amp;quot;? I'm very certain of the utility in understanding [[object capability]] as distinct from other capabilities, and I'm very certain of the utility in understanding [[capability]] as distinct from '''secure''' capability, such that one can meaningfully discusss the security '''of''' capabilities rather than just security '''with''' capabilities. So, in that sense, I'm sure. &lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:15, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
Upon seeing you 'rewrite' my professional opinion on the matter with your own, it is clear to me that you would prefer to maintain and grow this wiki on your own rather than risk dissenting opinions. I'll leave you alone now. But, before I go, May I suggest that you read some capability literature that ''wasn't'' written by Mark Miller? There's a lot of it out there.&lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:23, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think [http://www.eros-os.org/mailman/listinfo/cap-talk cap-talk] would be a better place for expressing your professional opinion. Join under your real name.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 16:30, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 21:44:07 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure, Dmbarbour?&lt;br /&gt;
&lt;br /&gt;
May I suggest you&lt;br /&gt;
* first to read [http://www.erights.org/talks/thesis/ Mark Miller's thesis]&lt;br /&gt;
* then install E&lt;br /&gt;
* read E in a [[Walnut]] and experiment with E&lt;br /&gt;
If you like it, join e-lang or cap-talk mailing list and discuss your ideas.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
I have read Mark Miller's thesis, many years ago. And I played with '''E language''' then, too. I've gained more than a few inspirations from these, but I'm not all that fond of the language (in particular, how it handles distribution, disruption, resilience, persistence, concurrency, consistency, facets, and I'm not impressed with available optimizations achievable).&lt;br /&gt;
&lt;br /&gt;
Anyhow, I can only express my professional opinion on what [[object capability]] means based on the literature I have read, same as Mark Miller or anyone else, and take comfort in the fact that formal definitions are graded by '''utility in making distinctions''' rather than by their conformance with the opinions of others. You ask if I'm &amp;quot;sure&amp;quot;? I'm very certain of the utility in understanding [[object capability]] as distinct from other capabilities, and I'm very certain of the utility in understanding [[capability]] as distinct from '''secure''' capability, such that one can meaningfully discusss the security '''of''' capabilities rather than just security '''with''' capabilities. So, in that sense, I'm sure. &lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:15, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
Upon seeing you 'rewrite' my professional opinion on the matter with your own, it is clear to me that you would prefer to maintain and grow this wiki on your own rather than risk dissenting opinions. I'll leave you alone now. But, before I go, May I suggest that you read some capability literature that ''wasn't'' written by Mark Miller? There's a lot of it out there.&lt;br /&gt;
-- [[User:Dmbarbour|Dmbarbour]] 16:23, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think [http://www.eros-os.org/mailman/listinfo/cap-talk cap-talk] would be a better place for expressing your professional opinion. Join under your real name.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 16:30, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 21:30:30 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure, Dmbarbour?&lt;br /&gt;
&lt;br /&gt;
May I suggest you&lt;br /&gt;
* first to read [http://www.erights.org/talks/thesis/ Mark Miller's thesis]&lt;br /&gt;
* then install E&lt;br /&gt;
* read E in a [[Walnut]] and experiment with E&lt;br /&gt;
If you like it, join e-lang or cap-talk mailing list and discuss your ideas.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:17, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 20:18:21 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure?&lt;br /&gt;
&lt;br /&gt;
May I suggest you&lt;br /&gt;
* first to read [[http://www.erights.org/talks/thesis/ Mark Miller's thesis]]&lt;br /&gt;
* then install E&lt;br /&gt;
* read E in a [[Walnut]] and experiment with E&lt;br /&gt;
If you like it, join e-lang or cap-talk mailing list and discuss your ideas.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:17, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 20:17:34 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Object capability</title>
			<link>http://50.77.162.165/wiki/Talk:Object_capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Object_capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Are you sure?&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 15:13, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 20:13:27 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Object_capability</comments>		</item>
		<item>
			<title>Talk:Capability</title>
			<link>http://50.77.162.165/wiki/Talk:Capability</link>
			<guid>http://50.77.162.165/wiki/Talk:Capability</guid>
			<description>&lt;p&gt;Kosik:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The article can be further improved by given more examples of capabilities from CapROS, EROS and Coyotos systems. What objects can those capabilities designate? Which operations do those capabilities permit their holder to perform with designated objects? [[User:Kosik|Kosik]] 05:17, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
&lt;br /&gt;
It seems the article describes an object-capability as though it is the only sort. I understand it is the type of capability used in E and such, but other sorts are used for security.&lt;br /&gt;
* Password Capabilities (SPKI, Certificates) do not need to designate objects&lt;br /&gt;
* Object Capabilities &lt;br /&gt;
&lt;br /&gt;
Further, capability doesn't imply '''unforgeable''' unless you're talking about '''secure''' capabilities, and '''capability-based security'''.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
You are right. Some capabilities are indeed unforgeable and some are merly ''hardly guessable''. Cannot these two different terms:&lt;br /&gt;
* unforgeable&lt;br /&gt;
* hardly unguessable&lt;br /&gt;
be contracted to some single adjective? Using the term &amp;quot;unforgeable or hardly unguessable&amp;quot; is awkward. [[User:Kosik|Kosik]] 10:59, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
''I'm afraid you didn't grok. I mean to say that capabilities may be very forgeable and guessable. They [the forgeable and guessable capabilities] simply aren't secure capabilities, or suitable for capability-based security. And the page still has a heavily '''object-'''capability bias.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Concerning object-capability bias, see my suggestion at the top of the page. More example are needed and can be added. I am just not qualified to give them.&lt;br /&gt;
&lt;br /&gt;
It is possible to demonstrate that if you say &amp;quot;capabilities are very forgeable and guessable&amp;quot; you are wrong.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 11:51, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Please demonstrate, then. Demonstrate that &amp;quot;Capability&amp;quot; implies &amp;quot;Secure capability&amp;quot; in global vernacular and I'll be happy to recant. But I suspect you're not qualified to do that, either.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Here is a [http://altair.fiit.stuba.sk/mediawiki/index.php/SandboxedPing non-trivial example]. You can try to explain me how it would be possible for an untrusted sandboxed subsystem to forge or guess arbitrary capabilities?&lt;br /&gt;
&lt;br /&gt;
Similar examples can be also shown in any object-capability programming language one chooses to use. I may try to show some code in E with a similar point. I am not qualified to show any examples showing a similar point in capability-based operating systems but I think on cap-talk there are such people.&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 13:16, 10 July 2009 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''You've got your logic backwards, Kosik. I'm asserting that not all capabilities are secure, not that all (and 'arbitrary') capabilities are insecure.''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
What do you mean by &amp;quot;secure capability&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
[[User:Kosik|Kosik]] 14:55, 10 July 2009 (CDT)&lt;/div&gt;</description>
			<pubDate>Fri, 10 Jul 2009 19:55:03 GMT</pubDate>			<dc:creator>Kosik</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Capability</comments>		</item>
	</channel>
</rss>