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.

3.3 Frameworks <strong>for</strong> the ICOM<br />

includes smart card manufacturers and application/solution providers. This is another important<br />

aspect of Java Card technology, which dierentiates it from Multos in its constant<br />

consultation with the industrial players.<br />

Due to these consultations, the Java Card technology has changed considerably. The Java<br />

Card has progressed from the initial release which supported only limited functionality (i.e.<br />

primitive data types such as boolean, byte and short) to the more recently released Java<br />

Card specication 3.0 [16] which includes the TCP/IP stack [99] along with SSL/TLS [100]<br />

and HTTP [101] /HTTPS [16, 87, 102]. The Java Card can behave as an internet device<br />

in either a server or client capacity. The architecture of a Java Card is illustrated in the<br />

following gure 3.3 and is described below:<br />

Java Card Connected Framework<br />

Java Card Classic Framework<br />

Web Application E<br />

Web Application F<br />

Application C<br />

Application D<br />

Application A<br />

Application B<br />

Package E<br />

Package F<br />

Package C<br />

Package D<br />

Package A<br />

Package B<br />

Servlet<br />

E1<br />

Servlet<br />

E2<br />

Servlet<br />

F1<br />

Extended<br />

Applet C1<br />

Extended<br />

Applet C2<br />

Extended<br />

Applet D1<br />

Classic<br />

Applet<br />

A1<br />

Classic<br />

Applet<br />

A2<br />

Classic<br />

Applet B1<br />

Java Card Firewall<br />

Java Card Runtime Environment (JCRE)<br />

Servlet APIs<br />

Applet Framework API<br />

System Classes<br />

Java Card Classic APIs<br />

Java Card Virtual Machine Strict Java Card Classic Virtual Machine<br />

Smart Card Operating System (SCOS)<br />

Native Code<br />

Smart Card Hardware<br />

Figure 3.3: Generic representation of the Java Card 3 architecture<br />

In comparison to Multos, Java Card is better termed a plat<strong>for</strong>m rather than an operating<br />

system. Due to this distinction, above the smart card hardware layer, Java Card Virtual<br />

Machine (JCVM) and native methods are all available. The native methods section can<br />

also be considered a native operating system developed by each card manufacturer to support<br />

its implementation of the JCVM. Furthermore, as Java will take longer to execute<br />

than the native code, the native method segment is also the crucial point <strong>for</strong> implementing<br />

the cryptographic algorithms. Above this layer, we have the Java Card Runtime Environment<br />

(JCRE), which provides dierent services in the shape of Application Programming<br />

Interfaces (APIs) and System Classes to the residing applications. The Java Card<br />

APIs provide a well-structured framework to access the system-level services in a secure<br />

and reliable manner. The segregation on a Java Card between plat<strong>for</strong>m-application and<br />

application-application is en<strong>for</strong>ced by the Java Card rewall.<br />

The Java Card specication leaves decisions regarding the mechanism <strong>for</strong> installing, deleting,<br />

updating, and managing multiple applications on a smart card to the card manufacturer.<br />

The industry appreciated this move, as it allowed greater exibility than Multos<br />

60

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

Saved successfully!

Ooh no, something went wrong!