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.4 Secure and Trusted Channel Protocol Service Provider<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 . SCRandomNumberArray . l e n g t h ) ;<br />

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

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

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

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

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

328 this . signGenerate ( this . r e c e i v i n g B u f f e r , e n c r y p t i o n O f f s e t ,<br />

329 ( short ) ( copyPointer − e n c r y p t i o n O f f s e t ) ,<br />

330 ph<strong>User</strong>KeyPair . g e t P r i v a t e ( ) ,<br />

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

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

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

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

335 this . S C U s e r C e r t i f i c a t e . l e n g t h ) ;<br />

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

337 messageEncryption ( this . r e c e i v i n g B u f f e r , e n c r y p t i o n O f f s e t ,<br />

338 ( short ) ( copyPointer − e n c r y p t i o n O f f s e t ) ) ;<br />

339 this . shortToBytes ( r e c e i v i n g B u f f e r , ( short ) ( e n c r y p t i o n O f f s e t −<br />

340 ( short ) 3) , ( short ) ( copyPointer −<br />

341 e n c r y p t i o n O f f s e t ) ) ;<br />

342 macGenerate ( this . r e c e i v i n g B u f f e r , e n c r y p t i o n O f f s e t , ( short )<br />

343 ( copyPointer − e n c r y p t i o n O f f s e t ) ,<br />

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

345 this . r e c e i v i n g B u f f e r [ c h i l d P o i n t e r M e s s a g e ]++;<br />

346 copyPointer = U t i l . arrayCopyNonAtomic ( this . SPCookieArray ,<br />

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

348 this . SPCookieArray . l e n g t h ) ;<br />

349 this . r e c e i v i n g B u f f e r [ c h i l d P o i n t e r M e s s a g e ]++;<br />

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

351 } else i f (msgNumber == 2) {<br />

352 copyPointer = ( short ) 0 ;<br />

353 short tempLength = ( short ) 0 ;<br />

354 short mainChildPointer = ( short ) 6 ;<br />

355 short mainLengthPointer = ( short ) 4 ;<br />

356 short encryptedChildPointer = ( short ) 1 3 ;<br />

357 short g e n e r a l L e n g t h P o i n t e r = ( short ) 0 ;<br />

358 this . r e c e i v i n g B u f f e r [ mainChildPointer ] = ( short ) 0 ;<br />

359 this . r e c e i v i n g B u f f e r [ encryptedChildPointer ] = ( short ) 0 ;<br />

360 copyPointer = U t i l . arrayCopyNonAtomic ( this . MessageHandlerTagTwo ,<br />

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

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

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

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

365 copyPointer += ( short ) 3 ;<br />

366 e n c r y p t i o n O f f s e t = copyPointer ;<br />

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

368 0 , r e c e i v i n g B u f f e r , copyPointer , ( short ) 4) ;<br />

369 g e n e r a l L e n g t h P o i n t e r = copyPointer ;<br />

370 copyPointer += ( short ) 2 ;<br />

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

297

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

Saved successfully!

Ooh no, something went wrong!