[cap-talk] "ambient authority" on wiki.erights.org
Rob Meijer
capibara at xs4all.nl
Fri Jun 19 00:06:51 EDT 2009
On Thu, June 18, 2009 23:41, Karp, Alan H wrote:
>> A system, containing at least three subjects, is said to contain
>> /Ambient Authority/ when a designator (D) naming an object known to
>> one subject (C) is shared between two other subjects (A and B) without
>> accompanying authorizations.
>>
> Here's a counter example to your definition. Alice runs the following
> program (in no particular language):
>
> main(String a, String b){
> copy(a,b);
> return;
> function copy(String outName, String inName){
> File in = new File(inName,'r');
> File out = new File(outName,'w');
> out.write(in.read());}
> }
>
> Alice has r/w authority to files a.txt and b.txt. If Alice invokes this
> program as mycopy("a.txt","b.txt") intending to copy the contents of a.txt
> to b.txt, she's in for a surprise. Alice does not specify which of her
> authorities are to be used because they are ambient. I would say that
> Alice is the only party involved, but I won't squawk if you insist on
> counting the OS. However, there is no way of counting that gets to three
> parties.
The example uses is rather obfuscated by implicit OS and language stuff,
lets de-obfuscate it a bit:
class FileSystem {
static map<string,FileObject> mFiles;
static openFile(string filename) {
return mFiles[filename];
}
}
function copy(String outName, String inName){
File in = FileSystem::openFile(inName);
File out = FileSystem::openFile(outName);
out.write(in.read());}
}
main(String a, String b){
copy(a,b);
return;
}
More information about the cap-talk
mailing list