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.

7.3 UCTD Firewall<br />

application. There are two ways the current state of individual applications might be<br />

veried: both of the SPs can opt <strong>for</strong> a third party evaluation of their respective applications,<br />

or they can issue a certicate to each other's application that contains the hash of the<br />

application. In both of these cases, the certied state of the application is treated as a<br />

trusted state by the other entity.<br />

The state validation of individual applications is carried out by the Trusted Environment<br />

& Execution Manager (TEM), requesting the application and issued certicates.<br />

Consider the scenario of application sharing between App C and App S . When App C is<br />

installed onto a smart card, the relevant TEM establishes a secure relationship (shared<br />

key: K AppC −T EM) with the installed application. The TEM does not calculate the application<br />

state validation message (i.e. hash of the application), unless it is authorised<br />

to do so by the application itself, or by the application's SP. When an application authorises<br />

the TEM to generate its hash value, it generates a message encrypted with the<br />

shared symmetric key. The authorisation message generated by an application is referred<br />

to as an Integrity Measurement Authorisation (IMA) message. The IMA sent by the<br />

client application will be E AppC −T EM(App C ||App S ||RandomNumber AppS ). The contents<br />

of the messages are the identity of the client and server application, along with a random<br />

number generated by the server application. The state validation message would be<br />

E AppS −T EM(App C ||App S ||RandomNumber AppS ||hash(App C )) that is encrypted with the<br />

TEM and the server application's shared key as this message is intended <strong>for</strong> the server<br />

application. The server application can match the hash calculated by the TEM with the<br />

one in the client application's certicate that is issued either by a third party evaluator or<br />

by the server application's SP. If they match, the server application can securely ascertain<br />

that the state of the client application is secure. A similar process can be per<strong>for</strong>med in the<br />

opposite direction where a client application veries the state of the server application.<br />

After applications authenticate and validate their states to each other, they generate a<br />

cryptographic key that is referred to as the application binding key. This key is used in all<br />

future communications between the applications.<br />

7.3.3 Using Shareable Resources<br />

A client application can request to use the server application's shareable resources if required<br />

(subject to valid access permissions) as illustrated by gure 7.4.<br />

The request message sent to the corresponding ARM consists of a ClientAID, an authenticator<br />

(message encrypted with the application binding key), access permission, the<br />

required resource and a random number to provide freshness [132]. By verifying the authenticator,<br />

the ARM ascertains the origin of the message that is, the client application.<br />

167

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

Saved successfully!

Ooh no, something went wrong!