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.

6.3 Secure and Trusted Channel Protocol Service Provider<br />

The SP generates a random number N SP and computes the Die-Hellman exponential<br />

g r SP . The SPSup deals with the capabilities of the SP along with the details of how it<br />

will authenticate the user (e.g. password, biometric, or token based authentication, etc.).<br />

These details communicate to the smart card the way the SP would like to per<strong>for</strong>m the user<br />

authentication. The MAC f kSP (g r SP<br />

||N SP ||SC IP ) serves as a session cookie (SI), and it<br />

is appended with each subsequent message sent by the smart card. It indicates the session<br />

in<strong>for</strong>mation and facilitates protection against DoS attacks. Finally, the SP will request the<br />

smart card to provide an assurance that its current state is the same as it was at the time<br />

of third party evaluation by sending the V R. The V R indicates whether the SP requires<br />

an oine or online attestation (section 4.5) to be per<strong>for</strong>med by the smart card.<br />

If the smart card does not support the Die-Hellman group selected by the SP (SP Sel ),<br />

then it will send a rejection message, including a list of groups supported by the smart card<br />

(SC Sup ). If the smart card supports the selected group (i.e. SP Sel ), then it will proceed<br />

with the second message. The SC generates a random number, and a Die-Hellman<br />

exponential g r SC . It can then calculate the K which is the shared secret from which the<br />

rest of session keys (k SC−SP and mk SC−SP ) will be generated. Furthermore, in a similar<br />

manner, we can generate more session keys <strong>for</strong> the application download protocol [170].<br />

STCP SP -2. SC : hs = h(SC i ||SP i ||g r SC<br />

||g r SP<br />

||N SP ||N SC )<br />

SC : AU SC = Sign SC (SC i ||SP i ||V M||hs)<br />

SC : mE = ek SC−SP (AU SC ||Cert SC )<br />

SC → SP : g r SC<br />

||N SC ||SC Config ||mE||f mkSC−SP (mE)||SI<br />

The type of validation mechanism the TEM executes will depend upon the choice of the<br />

SP, which will generate a (valid) signed message if the attestation is successful. In the case<br />

of online attestation, the SC receives a validation message (V M) from the respective CM,<br />

and it will include V M in the AU SC message. If the SP selects oine attestation, then<br />

the V M will not be included. Beside VM, the signed message also includes the identities<br />

of the smart card and the SP, along with the hs. The hs includes the identities of the<br />

communicating entities, the generated Die-Hellman exponentials and random numbers.<br />

The hs veries to the SP that SC has used the same values (e.g. Die-Hellman exponentials<br />

and random numbers) as the SP, thereby avoiding potential man-in-the-middle<br />

attacks. The signed message AU SC will be dierent if the state of the plat<strong>for</strong>m is modied;<br />

there<strong>for</strong>e, by verifying the signature the SP can ascertain the current state of the plat<strong>for</strong>m<br />

(in oine attestation mode). In the case of online attestation, the CM will not issue V M<br />

to the SC and the SC will not be able to proceed with the protocol. In the message, the<br />

SC includes SC config that provides the SP with the conguration of the SC including<br />

supported cryptographic algorithms and APIs.<br />

On receipt of message two, the SP will check the hs to avoid main-in-the-middle and replay<br />

attacks, and it will then check whether the SC Config satises SP's ALP. Subsequently, it<br />

137

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

Saved successfully!

Ooh no, something went wrong!