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.

8.3 Runtime Protection Mechanism<br />

4. Unknown error: In this scenario, an adversary generates a fault but has no location<br />

and timing control.<br />

From the above list of fault models, the rst model adversary can be considered the most<br />

powerful. However, <strong>for</strong> a smart card environment the second scenario (i.e. precise byte<br />

error) is the most realistic one. Due to the advances in the smart card hardware and<br />

counter-measures against fault attacks (i.e. especially <strong>for</strong> cryptographic algorithms) it is<br />

dicult to have total control of timing and locations of bits to ip [216]. Furthermore, fault<br />

attacks require knowledge of the underlying plat<strong>for</strong>m and application execution pattern<br />

[191]. This is possible to achieve by side-channel analysis [197].<br />

8.3 Runtime Protection Mechanism<br />

In this section, we provide the motivation behind the runtime protection mechanism, which<br />

is followed by the description of the attacker's capability. Subsequently, we discuss the<br />

runtime protection mechanism, how it provides a secure and reliable framework <strong>for</strong> the<br />

UCTD runtime environment.<br />

8.3.1 Motivation<br />

During an application's lifetime, it mostly interacts with the runtime environment and<br />

the application's security is dependent on the security of the runtime environment. This<br />

means that an insecure runtime environment can in fact make a well-designed application<br />

insecure. Although, as discussed in section 4.4, a UCTD is required to be certied by a<br />

third party evaluation (e.g. CC evaluation); however, we still consider that the runtime environment<br />

should not rely only on static security mechanisms including security evaluation<br />

and bytecode verications (both o- and on-card).<br />

As discussed in section 8.2.2, a smart card runtime environment is increasingly facing<br />

the convergence of various attack techniques (e.g. fault and logical attacks). Physical<br />

protection mechanisms regarding fault attacks are proposed [221]; however, we consider<br />

that the necessary software protection <strong>for</strong> the runtime environment cannot be understated.<br />

The software protection can augment the hardware mechanism to protect against the<br />

combined attacks, as a similar approach has yielded successful results in the secure design<br />

of cryptographic algorithms <strong>for</strong> smart cards [222][224]. In this chapter, we will only focus<br />

on the software protection mechanism, without detailing the hardware-based protection.<br />

194

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

Saved successfully!

Ooh no, something went wrong!