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.

C.5 Secure and Trusted Channel Protocol Smart Card<br />

288 this . r e c e i v i n g B u f f e r [ childPM1 ]++;<br />

289 copyPointer = U t i l . arrayCopyNonAtomic ( this . SCRandomNumberArray ,<br />

290 ( short ) 0 , this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

291 this . SCRandomNumberArray . l e n g t h ) ;<br />

292 this . r e c e i v i n g B u f f e r [ childPM1 ]++;<br />

293 copyPointer = U t i l . arrayCopyNonAtomic ( this . EncryptedDataTag , ( short )<br />

294 0 , this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

295 this . EncryptedDataTag . l e n g t h ) ;<br />

296 copyPointer += 3 ;<br />

297 childPM2 = ( short ) ( copyPointer − ( short ) 1) ;<br />

298 this . r e c e i v i n g B u f f e r [ childPM1 ]++;<br />

299 copyPointer = U t i l . arrayCopyNonAtomic ( this . Plat<strong>for</strong>mHash , ( short ) 0 ,<br />

300 this . r e c e i v i n g B u f f e r , copyPointer ,<br />

( short ) this . Plat<strong>for</strong>mHash . l e n g t h )<br />

301 ;<br />

302 copyPointer += 2 ;<br />

303 MessageDigest myHashGen = MessageDigest . g e t I n s t a n c e<br />

304 ( MessageDigest .ALG_SHA_256, f a l s e ) ;<br />

305 short tempLength = ( short )myHashGen . doFinal ( this . ClassDH . dhModulus ,<br />

( short ) 0 ,<br />

306 ( short ) this . ClassDH . dhModulus . length ,<br />

r e c e i v i n g B u f f e r ,<br />

307 copyPointer ) ;<br />

308 this . r e c e i v i n g B u f f e r [ childPM2 ]++;<br />

309 this . shortToBytes ( this . r e c e i v i n g B u f f e r , ( short ) ( copyPointer −<br />

( short )<br />

310 2) , tempLength ) ;<br />

311 copyPointer += tempLength ;<br />

312 copyPointer = U t i l . arrayCopyNonAtomic ( this . SCIdentityTag , ( short ) 0 ,<br />

313 this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

314 this . SCIdentityTag . l e n g t h ) ;<br />

315 this . r e c e i v i n g B u f f e r [ childPM2 ]++;<br />

316 copyPointer = U t i l . arrayCopyNonAtomic ( this . SCRandomNumberArray ,<br />

317 ( short ) 0 , this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

318 this . SCRandomNumberArray . l e n g t h ) ;<br />

319 this . r e c e i v i n g B u f f e r [ childPM2 ]++;<br />

320 copyPointer = U t i l . arrayCopyNonAtomic ( this . SPRandomNumberArray ,<br />

321 ( short ) 0 , this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

322 this . SPRandomNumberArray . l e n g t h ) ;<br />

323 this . r e c e i v i n g B u f f e r [ childPM2 ]++;<br />

324 try {<br />

325 this . signGenerate ( this . r e c e i v i n g B u f f e r , ( short ) ( childPM2 + ( short )<br />

326 1) , ( short ) ( copyPointer − ( short ) ( childPM2 +<br />

327 ( short ) 1) ) , this . phSCKeyPair . g e t P r i v a t e ( ) ,<br />

328 S i g n a t u r e .MODE_SIGN) ;<br />

329 } catch ( Exception cE ) {<br />

330 ISOException . throwIt ( ( short ) 0 x3141 ) ;<br />

331 }<br />

332 this . r e c e i v i n g B u f f e r [ childPM2 ]++;<br />

333 copyPointer = U t i l . arrayCopyNonAtomic ( this . S C C e r t i f i c a t e , ( short ) 0 ,<br />

334 this . r e c e i v i n g B u f f e r , copyPointer , ( short )<br />

319

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

Saved successfully!

Ooh no, something went wrong!