06.11.2014 Views

A User Centric Security Model for Tamper-Resistant Devices

A User Centric Security Model for Tamper-Resistant Devices

A User Centric Security Model for Tamper-Resistant Devices

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7.2 Application Sharing Mechanism<br />

including the JCRE objects (System Context). The Java Card Virtual Machine (JCVM)<br />

only allows an object to execute if the current Active context is the one to which it<br />

belongs. In gure 7.1 an object of Applet B1 will only execute if the Active context is<br />

context B. The rewall restricts all cross context communication except <strong>for</strong> object sharing<br />

mechanisms that include JCRE Entry Point Objects and Shareable Interface Objects<br />

(SIOs). All applets in a package have the same context so there is no rewall between<br />

them.<br />

The JCRE Entry Point Objects are instances of the Java Card APIs that can be used by<br />

applications to access plat<strong>for</strong>m services. These objects are accessible to all applets, and<br />

they enable non-privileged (applets) applications to execute privileged commands. The<br />

JCRE Entry Point Objects are implemented by the Java Card manufacturer, which is<br />

responsible <strong>for</strong> their security and reliability.<br />

An SIO enables an application to share its resources with other authorised application(s).<br />

To utilise an SIO functionality, an application should implement the shareable interface<br />

(javacard.framework.Shareable) the implemented functionality as part of the class<br />

that implements the shareable interface will be shareable with other applets.<br />

When an object requests either an SIO or JCRE Entry Point Object, the JCVM saves<br />

the current Active context and invokes the requested object along with the associated<br />

context. There<strong>for</strong>e, a shareable object always executes in its own context, enabling it to<br />

access any applet from the package it belongs to. By taking into account gure 7.1 when<br />

Applet A1 calls an SIO of Applet B1 , the JCVM saves context A and invokes context B and<br />

also initiates the execution of an SIO. An SIO can then call any method in package B.<br />

Furthermore, it can also call any JCRE Entry Point Objects. When an SIO completes its<br />

execution, the JCVM restores the previous context (context A).<br />

7.2.2 Firewall Mechanism in Multos<br />

Multos [29] takes a dierent approach to Java Card in implementing a smart card rewall.<br />

The Multos Card Operating System (COS) resides over the smart card hardware as illustrated<br />

in gure 3.2. The Multos COS administers communication, resource management,<br />

and the virtual machine [29]. Applications do not have direct access to the Multos COS<br />

services; instead they utilise the Application Abstract Machine that is a set of standard<br />

APIs consisting of instructions and built-in functions. These APIs are used by applications<br />

to communicate with the COS and request privileged services. The top layer is the<br />

application space, and similar to Java Card the application segregation is implemented by<br />

the Multos rewall.<br />

160

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!