Walnut/Secure Mobile Code
free kyocera ringtones buy nexium midi ringtones cingular ringtones free nextel ringtones nexium online free mono ringtones cingular ringtones tenuate online free sony ringtones cheap ambien free cingular ringtones tracfone ringtones cheap xenical cheap flexeril zoloft online cialis buy hoodia cheap prozac but valium albuterol online hgh online rivotril online cheap xanax cheap cyclobenzaprine cheap diazepam cheap cialis flexeril online free sprint ringtones cheap zyban tracfone ringtones cheap valium cheap hydrocodone cyclobenzaprine online cheap vigrx buy propecia rivotril online cheap norco free ringtones free sony ericsson ringtones vigrx online free mp3 ringtones mtv ringtones free sagem ringtones free tracfone ringtones sony ringtones levitra online nexium online ambien online free tracfone ringtones hydrocodone online ambien online phentermine but cialis ortho online midi ringtones alprazolam online lipitor online buy wellbutrin pharmacy online online free samsung ringtones cool ringtones free funny ringtones alltel ringtones buy fioricet free nokia ringtones paxil online lortab online sony ericsson ringtones polyphonic ringtones cheap lipitor order ortho cool ringtones prozac online hgh online viagra online jazz ringtones cheap sildenafil free sony ericsson ringtones hgh sagem ringtones ericsson ringtones cheap viagra tramadol online cheap adipex polyphonic ringtones hgh online cheap xanax viagra online hoodia online norco alprazolam online ativan online hydrocodone online ultram online xanax online free sony ringtones free verizon ringtones sony ericsson ringtones punk ringtones zanaflex online music ringtones music ringtones viagra online hydrocodone online xenical online free sharp ringtones hgh online phentermine online celexa online free ringtones order hgh celexa online nokia ringtones motorola ringtones soma online free motorola ringtones tramadol online cyclobenzaprine online cheap norco celexa online buy cyclobenzaprine ultram online propecia online celexa online verizon ringtones xenical online but ambien cheap albuterol ultram online cheap ultram buy tramadol ambien online cheap carisoprodol mp3 ringtones online norco vicodin online sony ringtones hoodia online cheap sildenafil cheap vicodin motorola ringtones jazz ringtones free qwest ringtones cheap cialis ambien online lisinopril online verizon ringtones cheap valium ultram online meridia online order levitra cheap xenical cool ringtones ortho online cheap xanax fioricet online fioricet free nokia ringtones lipitor online mono ringtones buy diethylpropion free sharp ringtones jazz ringtones diethylpropion online phentermine online cheap hydrocodone sharp ringtones sony ericsson ringtones free cool ringtones flexeril online cheap didrex nextel ringtones buy zyban ericsson ringtones hoodia online free tracfone ringtones cool ringtones free music ringtones but clonazepam didrex online ultracet cheap celexa order flexeril sagem ringtones free tracfone ringtones zyban online cheap lortab cheap ultracet lorazepam online zoloft online buy nexium cheap xenical nokia ringtones mono ringtones nextel ringtones free motorola ringtones lortab online cheap diazepam qwest ringtones
Secure Mobile Code
The key to running code from people you do not trust totally is to run those programs with the least possible authority, and to refuse to run the program if it requires different authority than what you are willing to grant. Straight E programs run with all your authority on your system, just like Java applications and C applications. However, emakers come to life in a confined world totally controlled by the E virtual machine. They have no capabilities except those explicitly passed in by the outside world. This forms the beginning of a trustworthy way of running untrusted software.
Safety Deposit Vault Metaphor
Java introduced the concept of a sandbox for its applets. The sandbox is a space in which no access to dangerous powers is available. To give greater flexibility they introduced the security manager and the ID badge architecture--if the user concludes the applet came from a "trusted source", the applet can get your ID badge and roam wantonly through your system.
A java application that runs in a sandbox is called an applet. An E emaker that embodies a full program is called a caplet. Caplets are not trapped in sandboxes. Instead, you may think of caplets as being trapped in safety deposit vaults. The caplet is started inside the vault, surrounded by hundreds of safety deposit boxes--but not one of the boxes is accessible unless and until you give the caplet a key to that particular box.
Hello World Caplet
Caplets can be thought of as highly stylized emakers. They are granted one authority when they are brought to life: the authority to talk with a powerbox, a trusted part of the caplet launching system that holds, negotiates, and mediates authorities for the caplet. Caplets can, through the powerbox, request needed authorities from the user.
TBD when the caplet framework is good enough to document.
Next Section: Advanced Topics