<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://50.77.162.165/mediawiki/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://50.77.162.165/mediawiki/index.php?feed=atom&amp;target=Daw&amp;title=Special%3AContributions</id>
		<title>Erights - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://50.77.162.165/mediawiki/index.php?feed=atom&amp;target=Daw&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Special:Contributions/Daw"/>
		<updated>2026-04-24T17:05:29Z</updated>
		<subtitle>From Erights</subtitle>
		<generator>MediaWiki 1.15.5-7</generator>

	<entry>
		<id>http://50.77.162.165/wiki/Ambient_authority</id>
		<title>Ambient authority</title>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Ambient_authority"/>
				<updated>2009-06-12T06:16:57Z</updated>
		
		<summary type="html">&lt;p&gt;Daw:&amp;#32;The last paragraph was thoroughly confusing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Draft Definition ==&lt;br /&gt;
&lt;br /&gt;
A [[subject]] may have several different [[permission]]s. '''Ambient authority''' is authority that can be used without having to identify which specific permission is intended. In an ambient authority system, when a subject requests an action (typically by naming an object and an operation on that object), the action is allowed if the subject has any permission that would allow the action.a&lt;br /&gt;
&lt;br /&gt;
In contrast, in a designated authority system, a subject explicitly identifies a subset (usually one) of its permissions, and the action is allowed only if permitted by that subset of permissions. &lt;br /&gt;
&lt;br /&gt;
In an ambient authority system, a subject making a request does not specify which permission to use -- the subject does not identify which permission is claimed to justify allowing the request.  Instead, the system looks through all of the subject's permissions and allows the request if any of the subject's permissions would justify allowing the request.&lt;br /&gt;
&lt;br /&gt;
In an ambient authority system, a subject may have many permissions, and there is often no way for the subject to single one of these out.  As a result, in these systems, developers may not think of the subject as having multiple different permissions at once; instead, developers might just associate the union of all those permissions with the subject, and call them ''the'' permissions of the subject.&lt;br /&gt;
&lt;br /&gt;
== Examples of ambient authority ==&lt;br /&gt;
&lt;br /&gt;
All UNIX processes run by some user have ''ambient authority'' to manipulate all files owned by that user.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to listen to TCP or UDP ports 1024--65535.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to send any signal to any other UNIX process.&lt;br /&gt;
&lt;br /&gt;
== Acknowledgement ==&lt;br /&gt;
&lt;br /&gt;
The term ''ambient authority'' was coined by Dean Tribble and Mark S. Miller.&lt;/div&gt;</summary>
		<author><name>Daw</name></author>	</entry>

	<entry>
		<id>http://50.77.162.165/wiki/Ambient_authority</id>
		<title>Ambient authority</title>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Ambient_authority"/>
				<updated>2009-06-12T06:10:51Z</updated>
		
		<summary type="html">&lt;p&gt;Daw:&amp;#32;Add further explanation, derived from a comment by Alan Karp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Draft Definition ==&lt;br /&gt;
&lt;br /&gt;
A [[subject]] may have several different [[permission]]s. '''Ambient authority''' is authority that can be used without having to identify which specific permission is intended. In an ambient authority system, when a subject requests an action (typically by naming an object and an operation on that object), the action is allowed if the subject has any permission that would allow the action.a&lt;br /&gt;
&lt;br /&gt;
In contrast, in a designated authority system, a subject explicitly identifies a subset (usually one) of its permissions, and the action is allowed only if permitted by that subset of permissions. &lt;br /&gt;
&lt;br /&gt;
In an ambient authority system, a subject making a request does not specify which permission to use -- the subject does not identify which permission is claimed to justify allowing the request.  Instead, the system looks through all of the subject's permissions and allows the request if any of the subject's permissions would justify allowing the request.&lt;br /&gt;
&lt;br /&gt;
In an ambient authority system, often there is no way to identify a specific permission, so there is no concept of having different permissions.&lt;br /&gt;
&lt;br /&gt;
== Examples of ambient authority ==&lt;br /&gt;
&lt;br /&gt;
All UNIX processes run by some user have ''ambient authority'' to manipulate all files owned by that user.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to listen to TCP or UDP ports 1024--65535.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to send any signal to any other UNIX process.&lt;br /&gt;
&lt;br /&gt;
== Acknowledgement ==&lt;br /&gt;
&lt;br /&gt;
The term ''ambient authority'' was coined by Dean Tribble and Mark S. Miller.&lt;/div&gt;</summary>
		<author><name>Daw</name></author>	</entry>

	<entry>
		<id>http://50.77.162.165/wiki/Ambient_authority</id>
		<title>Ambient authority</title>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Ambient_authority"/>
				<updated>2009-06-12T06:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Daw:&amp;#32;Clarify first definition&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Draft Definition ==&lt;br /&gt;
&lt;br /&gt;
A [[subject]] may have several different [[permission]]s. '''Ambient authority''' is authority that can be used without having to identify which specific permission is intended. In an ambient authority system, when a subject requests an action (typically by naming an object and an operation on that object), the action is allowed if the subject has any permission that would allow the action.a&lt;br /&gt;
&lt;br /&gt;
In contrast, in a designated authority system, a subject explicitly identifies a subset (usually one) of its permissions, and the action is allowed only if permitted by that subset of permissions. &lt;br /&gt;
&lt;br /&gt;
In an ambient authority system, often there is no way to identify a specific permission, so there is no concept of having different permissions.&lt;br /&gt;
&lt;br /&gt;
== Examples of ambient authority ==&lt;br /&gt;
&lt;br /&gt;
All UNIX processes run by some user have ''ambient authority'' to manipulate all files owned by that user.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to listen to TCP or UDP ports 1024--65535.&lt;br /&gt;
&lt;br /&gt;
All UNIX processes have ''ambient authority'' to send any signal to any other UNIX process.&lt;br /&gt;
&lt;br /&gt;
== Acknowledgement ==&lt;br /&gt;
&lt;br /&gt;
The term ''ambient authority'' was coined by Dean Tribble and Mark S. Miller.&lt;/div&gt;</summary>
		<author><name>Daw</name></author>	</entry>

	<entry>
		<id>http://50.77.162.165/wiki/Object-Capability_patterns</id>
		<title>Object-Capability patterns</title>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Object-Capability_patterns"/>
				<updated>2008-03-31T01:07:59Z</updated>
		
		<summary type="html">&lt;p&gt;Daw:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains information about common object-capability patterns that have appeared in a number of different object-capability systems.&lt;br /&gt;
&lt;br /&gt;
'''TBD: Powerbox, Attenuating Facets / Forwaders, Logging Forwarders&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ An Historical Overview &lt;br /&gt;
! Pattern !! First Described In !! Appears In&lt;br /&gt;
|-&lt;br /&gt;
| Sealer-Unsealers  || James H. Morris, Jr. Protection in Programming Languages. ''Communications of the ACM'', 16(1):15–21, 1973. ||  Gedanken, E, KeyKOS, Emily, Caja, Joule, Joe-E&lt;br /&gt;
|-&lt;br /&gt;
| Trademarks        || James H. Morris, Jr. Protection in Programming Languages. ''Communications of the ACM'', 16(1):15–21, 1973. ||  Gedanken, E, KeyKOS&lt;br /&gt;
|-&lt;br /&gt;
| RevocableForwarder|| David D. Redell. ''Naming and Protection in Extensible Operating Systems''. PhD thesis, Department of Computer Science, University of California at Berkeley, November 1974. ||  E, KeyKOS, Emily&lt;br /&gt;
|-&lt;br /&gt;
| Coercers          || E. Dean Tribble, Mark S. Miller, Norm Hardy, and David Krieger. ''[http://www.erights.org/history/joule/index.html Joule: Distributed Application Foundations]''. Technical Report ADd03.4P, Agorics Inc., Los Altos, December 1995. ||  Joule, E&lt;br /&gt;
|-&lt;br /&gt;
| Membranes || J. E. Donnelley. [http://www.webstart.com/jed/papers/DCCS/ A Distributed Capability Computing System], ''Proc. of the Third International Conference on Computer Communication'', pp. 432-440, 1976. ||  E, DCCS, KeyKOS, Emily, Joe-E/Waterken (? in the form of the Horton pattern)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Daw</name></author>	</entry>

	<entry>
		<id>http://50.77.162.165/wiki/Documentation</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://50.77.162.165/wiki/Documentation"/>
				<updated>2008-03-31T00:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;Daw:&amp;#32;/* Talks and Presentations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Books and Theses ==&lt;br /&gt;
&lt;br /&gt;
[http://www.evoluware.eu/fsp_thesis.pdf Patterns of Safe Collaboration]&lt;br /&gt;
&lt;br /&gt;
[http://gonzo.uni-weimar.de/~scheffl2/Diploma_MScheffler.pdf Object-Capability Security in Virtual Environments]&lt;br /&gt;
&lt;br /&gt;
[[Image:Ewalnut-pink.gif]]&lt;br /&gt;
[[Walnut|'''''E''''' in a Walnut]] - This is a basic tutorial on the '''''E''''' language covering basic, distributed, and secure distributed programming.&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/talks/thesis/index.html Robust Composition] - Towards a Unified Approach to Access Control and Concurrency Control.  This is [[User:MarkM|Mark Miller]]'s PhD disseration, and it explains the rationale, philosophy, and goals of '''''E''''' and related systems.&lt;br /&gt;
&lt;br /&gt;
[[Safe Serialization Under Mutual Suspicion]] (Wiki conversion in progress)&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/elang/intro/index.html Tutorials] - several short tutorials showing how to use '''''E'''''.&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/elang/quick-ref.html Quick Reference Card] - Reminders of some useful patterns.&lt;br /&gt;
&lt;br /&gt;
[[FAQ]]&lt;br /&gt;
&lt;br /&gt;
== Papers ==&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/elib/capability/ode/index.html Capability-based Financial Instruments] &amp;quot;An Ode to the [[wikipedia:Mark Granovetter|Granovetter]] Diagram&amp;quot; - diagramming communication relationships.&lt;br /&gt;
&lt;br /&gt;
[http://www.hpl.hp.com/techreports/2003/HPL-2003-222.html Paradigm Regained: Abstraction Mechanisms for Access Control] by Mark S. Miller and Jonathan S. Shapiro.&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/talks/promises/paper/tgc05.pdf Concurrency Among Strangers: Programming in '''''E''''' as Plan Coordination] - by Mark S. Miller, E. Dean Tribble, Jonathan Shapiro.  Explains '''''E''''''s concurrency control &amp;amp; distributed computing model.&lt;br /&gt;
&lt;br /&gt;
[http://web.comlab.ox.ac.uk/oucl/work/toby.murray/papers/AALPE.pdf Authority Analysis for Least Privilege Environments] by Toby Murray and Gavin Lowe.&lt;br /&gt;
&lt;br /&gt;
[http://www.erights.org/elang/tools/causeway/causeway-paper.pdf Causeway: A message-oriented distributed debugger] by  Terry Stanley, E. Dean Tribble, and Mark S. Miller.&lt;br /&gt;
&lt;br /&gt;
== Talks and Presentations ==&lt;br /&gt;
&lt;br /&gt;
[http://youtube.com/watch?v=apVt7vhBqj0 Caja] by Mike Samuel&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=gGw09RZjQf8 The Lively Kernel] by Dan Ingalls&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=EGX2I31OhBE Object-Capabilities for Security] by David Wagner&lt;br /&gt;
([http://www.cs.berkeley.edu/~daw/talks/TRUST07.pdf slides from an earlier version of this talk])&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=V13wmj88Zx8 Gears and the Mashup Problem] by Douglas Crockford&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=vrbmMPlCp3U Desktops to Donuts: Object-Caps Across Scales] by Marc Stiegler&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=8aedCggam4s Core Patterns for Web Permissions] by Tyler Close&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=oE3x_gM3YFU Paradigm Regained: Abstraction Mechanisms for Access Control] by Mark Miller&lt;br /&gt;
&lt;br /&gt;
[http://www.youtube.com/watch?v=UH66YrzT-_M The Virus Safe Computing Initiative at HP Labs] by Alan Karp&lt;/div&gt;</summary>
		<author><name>Daw</name></author>	</entry>

	</feed>