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.

8.1 Introduction<br />

8.1 Introduction<br />

After an application is installed on to a smart card, it relies on the Smart Card Runtime<br />

Environment (SCRT) <strong>for</strong> secure and reliable execution. An SCRT provides the plat<strong>for</strong>m<br />

that facilitates the application execution and it contains a library of Application Programming<br />

Interfaces (APIs). These APIs provide a secure and reliable interface between the<br />

installed applications and on-card services. An SCRT's responsibility is to: 1) handle<br />

communication between applications and external entities, 2) provide a secure and reliable<br />

program execution, 3) en<strong>for</strong>ce execution isolation and access to memory locations,<br />

and 4) provide an interface to access cryptographic algorithms.<br />

Although they are clearly not the same, the distinction between a smart card operating<br />

system and a runtime environment is often blurred. For example, Java Card is considered<br />

as a plat<strong>for</strong>m that provides a runtime environment (i.e. JCRE, see gure 3.3); whereas,<br />

Multos is a smart card operating system that also has a runtime environment (i.e. AAM,<br />

see gure 3.2). In this chapter, we will refer to an SCRT that semantically encapsulates<br />

both the JCRE and AAM. However, we will focus primarily on the JCRE.<br />

An SCRT has to protect the plat<strong>for</strong>m and installed applications from malicious or ill<strong>for</strong>med<br />

applications. In the ICOM, such issues have limited impact because of the strict<br />

controls on application installation [190, 194, 195]. This means that compatibility, security,<br />

and reliability of an application with respect to an SCRT are evaluated be<strong>for</strong>e installing it.<br />

Even if a smart card allows post-issuance installation of applications, centralised control<br />

means that it is dicult to introduce a malicious application into a smart card, as the card<br />

issuer will vet individual applications along with the associated application providers.<br />

In the early days of smart card technology, an adversary could remove the smart card hardware<br />

protection layer and access its various components [196]. However, the smart card<br />

industry responded to this attack vector and implemented adequate protection, which<br />

simply make such attacks more dicult to mount. On the other hand, it led to the materialisation<br />

of the side-channel analysis that provided an avenue to attack the smart card<br />

plat<strong>for</strong>m, especially the cryptographic algorithms [197]. Nevertheless, most of the modern<br />

smart cards employ both hardware and software mechanisms to counter side-channel analysis.<br />

During early 2000, fault attacks became the modus operandi of adversaries to subvert<br />

the implemented security measures in the smart card industry. Since then the technology<br />

has evolved to counter these threats to some extent. There has been a growing interest in<br />

combining the software and fault injection [194, 198, 199] attacks to subvert the protection<br />

mechanisms on a smart card, and such an attack vector is referred as combined attacks.<br />

These attacks have signicance in the ICOM; nevertheless, the openness of the UCOM<br />

exacerbates their eects. In this chapter, we analyse the attacks that target the SCRT and<br />

provide counter-measures. During this chapter, we will constantly refer to the JCRE as<br />

188

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

Saved successfully!

Ooh no, something went wrong!