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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7.2 Application Sharing Mechanism<br />

7.4. We then propose two protocols <strong>for</strong> the CDAM framework in section 7.5 and 7.6. In<br />

section 7.7, the proposed protocols are analysed <strong>for</strong> their security and per<strong>for</strong>mance.<br />

7.2 Application Sharing Mechanism<br />

In this section, we describe the application sharing mechanism implemented in Java Card<br />

and Multos. The reason <strong>for</strong> choosing Java Card and Multos is twofold: a) they represent<br />

two contrasting architectures to implement the rewall mechanism, and b) they are the two<br />

most deployed smart card plat<strong>for</strong>ms. Furthermore, the rewall mechanisms deployed in<br />

the ICOM are mature [28, 29, 185, 187, 188] and have been extensively studied [189][192],<br />

which cannot be claimed <strong>for</strong> the UCOM.<br />

7.2.1 Firewall Mechanism in Java Card<br />

The generic architecture of a Java Card is shown in gure 7.1. The Java Card Runtime<br />

Environment (JCRE) sits on top of the smart card hardware and manages the on-card<br />

resources, applet execution, and applet security [28]. The JCRE has APIs (e.g. APDU, Util<br />

and Shareable) that an application can use to access JCRE services. The JCRE also<br />

has system classes that are integral to its functions and these classes are not visible to<br />

applets. The rewall mechanism separates individual applications from each other and<br />

from the JCRE. In Java Card, an application is a collection of applets grouped together<br />

as a package <strong>for</strong> example, packages A and B in gure 7.1;<br />

Context A<br />

Context B<br />

Package A<br />

Applet A1<br />

SIO<br />

Package B<br />

Applet B1<br />

Applet A2<br />

Applet B2<br />

Java Card Firewall<br />

Application Programming Interface (APIs)<br />

System Classes<br />

Java Card Virtual Machine (JCVM)<br />

Java Card Runtime Environment<br />

Smart Card Hardware<br />

JCRE Entry Point<br />

Objects<br />

Native Methods<br />

System Context<br />

Figure 7.1: The Java Card rewall mechanism<br />

Each instance of an applet has a unique Application Identier (AID) [28]. An instantiated<br />

representation of an applet is termed an object. Each object is associated with a context,<br />

159

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

Saved successfully!

Ooh no, something went wrong!