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.8 Application Binding Protocol - Distributed<br />

483 this . ServerAppRandomNumberArray ,<br />

( short ) 0 ,<br />

484 ( short )<br />

485 ( this . ServerAppRandomNumberArray . l e n g t h ) ) ;<br />

486 p o i n t e r += ( short ) ( this . ServerAppRandomNumberArray . l e n g t h ) ;<br />

487 } else i f ( U t i l . arrayCompare ( this . ServerAppCookieTag , ( short ) 0 ,<br />

488 i n B u f f e r , pointer , ( short ) 4) == 0) {<br />

489 U t i l . arrayCopyNonAtomic ( i n B u f f e r , pointer ,<br />

490 this . ServerAppCookieArray , ( short ) 0 ,<br />

491 ( short ) ( this . ServerAppCookieArray . l e n g t h ) )<br />

492 ;<br />

493 p o i n t e r += ( short ) ( this . ServerAppCookieArray . l e n g t h ) ;<br />

494 }<br />

495 c h i l d L e f t −= ( short ) 1 ;<br />

496 }<br />

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

498 ISOException . throwIt ( ( short ) c h i l d L e f t ) ;<br />

499 }<br />

500 }<br />

501 void protocolImplementation ( ) {}<br />

502 void d h I n i t i a l i s a t i o n ( ) {<br />

503 dhKey . setModulus ( ClassDH . dhModulus , ( short ) 0 ,<br />

( short ) ClassDH . dhModulus . l e n g t h ) ;<br />

504 }<br />

505 void dhKeyConGen(byte [ ] i n b u f f , short i n b u f f O f f s e t , byte Oper_Mode)<br />

506 {<br />

507 switch (Oper_Mode) {<br />

508 case GEN_KEYCONTRIBUTION: randomExponent =<br />

509 JCSystem . makeTransientByteArray ( ( short ) 32 ,<br />

510 JCSystem .MEMORY_TYPE_TRANSIENT_DESELECT) ;<br />

511 randomDataGen . generateData ( randomExponent , ( short ) 0 , ( short )<br />

512 randomExponent . l e n g t h ) ;<br />

513 dhKey . setExponent ( randomExponent , ( short ) 0 , ( short )<br />

514 randomExponent . l e n g t h ) ;<br />

515 pkCipher . i n i t ( dhKey , Cipher .MODE_ENCRYPT) ;<br />

516 pkCipher . doFinal ( ClassDH . dhBase , ( short ) 0 ,<br />

( short ) ClassDH . dhBase . length , i n b u f f ,<br />

517 i n b u f f O f f s e t ) ;<br />

518 break ;<br />

519 case GEN_DHKEY:<br />

520 try {<br />

521 dhKey . setExponent ( randomExponent , ( short ) 0 , ( short )<br />

522 randomExponent . l e n g t h ) ;<br />

523 pkCipher . i n i t ( dhKey , Cipher .MODE_ENCRYPT) ;<br />

524 ClientAppServerAppDHGeneratedValue =<br />

JCSystem . makeTransientByteArray (<br />

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

526 JCSystem .MEMORY_TYPE_TRANSIENT_DESELECT) ;<br />

527 pkCipher . doFinal ( i n b u f f , i n b u f f O f f s e t , ( short ) ( ( short )<br />

528 i n b u f f . l e n g t h − ( short ) this . PTLVDataOffset )<br />

388

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

Saved successfully!

Ooh no, something went wrong!