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.

B.7 Plat<strong>for</strong>m Binding Protocol<br />

B.7 Plat<strong>for</strong>m Binding Protocol<br />

The Casper script in this section corresponds to the Plat<strong>for</strong>m Binding Protocol (PBP)<br />

described in section 7.5.<br />

#Free variables<br />

datatype Field = Gen | Exp(Field, Num) unwinding 2<br />

halfkeySP, halfkeyTPM, sessionKey : Field<br />

SP, TPM : Agent<br />

ns, nt, nm, scos, app : Nonce<br />

s, t : Num<br />

VKey: Agent -> PublicKey<br />

SKey: Agent -> SecretKey<br />

EKey: Agent -> PublicKey<br />

DKey: Agent -> SecretKey<br />

InverseKeys = (sessionKey, sessionKey), (VKey, SKey),(EKey, DKey), (Exp, Exp), (Gen,<br />

Gen)<br />

#Protocol description<br />

0. -> SP : TPM<br />

1. SP -> TPM : SP, VKey(SP)<br />

2. TPM -> SP : {TPM, SP, nt}{VKey(SP)}<br />

2a. TPM -> SP : {Exp(Gen, t) % halfkeyTPM}{VKey(SP)}<br />

<br />

3. SP -> TPM : {SP, TPM, ns}{EKey(TPM)}<br />

3a. SP -> TPM : {Exp(Gen, s) % halfkeySP}{EKey(TPM)}<br />

<br />

4. TPM -> SP : {TPM, SP, {scos (+) ns}{SKey(TPM)}}{sessionKey}<br />

5. SP -> TPM : {SP, TPM, nt}{sessionKey}<br />

6. TPM -> SP : {TPM, SP, {app (+) ns}{SKey(TPM)}}{sessionKey}<br />

#Actual variables<br />

SerPro, TruPlaMan, MAppl : Agent<br />

Nsp, Ntpm, Nm : Nonce<br />

SCOS, APP : Nonce<br />

S, T, M : Num<br />

SCOperatingSys, SApplication : Nonce<br />

#Processes<br />

INITIATOR(SP, TPM, ns, s, app, scos) knows SKey(SP), DKey(SP), VKey, EKey<br />

RESPONDER(TPM, SP, nt, t, scos, app) knows SKey(TPM), DKey(TPM), VKey, EKey<br />

#System<br />

INITIATOR(SerPro, TruPlaMan, Nsp, S, APP, SCOS)<br />

RESPONDER(TruPlaMan, SerPro, Ntpm, T, SCOS, APP)<br />

#Functions<br />

symbolic VKey, SKey, EKey, DKey<br />

#Intruder In<strong>for</strong>mation<br />

Intruder = MAppl<br />

IntruderKnowledge = {SerPro, TruPlaMan, MAppl, MAppl, Nm, DKey(MAppl),SKey(MAppl),<br />

VKey, EKey, M}<br />

#Specification<br />

StrongSecret(SP, sessionKey, [TPM])<br />

249

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

Saved successfully!

Ooh no, something went wrong!