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 />

it releases sensitive in<strong>for</strong>mation associated with it or its users, such applications that are<br />

designed to self-harm are dicult to protect. For example, if an application is designed in<br />

a way that it reveals its user's private key (specic to the application - not related to the<br />

plat<strong>for</strong>m or other applications); there is a limit to what a protection mechanism can do to<br />

prevent such leakages.<br />

8.3.3 Overview of the Runtime Protection Mechanism<br />

The proposed architecture of the runtime protection mechanism is involved at various<br />

stages of the application lifecycle - including the application compilation, on-card bytecode<br />

verication, and execution as shown in gure 8.4.<br />

Design<br />

Compilation /<br />

Packaging<br />

Off-Card Bytecode<br />

Verifier<br />

On-Card Bytecode<br />

Verifier<br />

Execution<br />

Environment<br />

Property<br />

File<br />

En<strong>for</strong>cement<br />

Verification<br />

Trusted Component<br />

Off-Card Processes<br />

On-Card Processes<br />

Figure 8.4: Generic Overview of the runtime protection mechanism<br />

During compilation/packaging process additional in<strong>for</strong>mation regarding individual methods,<br />

classes, and objects of an application is generated as part of the property le, discussed<br />

in section 8.3.4. The property le assists the runtime environment to provide a security and<br />

reliability service during the execution of the application. The o-card bytecode verication<br />

checks whether the downloaded application con<strong>for</strong>ms to the (given) language's semantics.<br />

The on-card bytecode verier can also request the TEM to validate the property le. During<br />

the application execution, the TEM will actively en<strong>for</strong>ce the security and reliability<br />

policy of the plat<strong>for</strong>m - taking into account the in<strong>for</strong>mation included in the property le.<br />

The proposed framework does not require that application developers per<strong>for</strong>m security<br />

assessment of their application(s) to adequately tag application segments. The framework<br />

only requires that developers compile their applications in a way that it has a property le<br />

that stores in<strong>for</strong>mation related to the respective application. The second requirement of<br />

the proposed framework is to adequately harden the UCTD runtime environment discussed<br />

in section 8.3.5 along with introducing a trusted component (part of the TEM) that will<br />

en<strong>for</strong>ce the plat<strong>for</strong>m security policy (section 8.3.6).<br />

In subsequent sections, we will extend the generic architecture discussed in this section<br />

and explain how these dierent components come together to provide a robust and secure<br />

runtime environment <strong>for</strong> UCTD.<br />

197

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

Saved successfully!

Ooh no, something went wrong!