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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C.6 Application Acquisition and Contractual Agreement Protocol<br />

378 this . U s e r I d e n t i t y = pTemp ;<br />

379 }<br />

380 break ;<br />

381 case 0 :<br />

382 cTemp = ( ConstructedTLV )inCTLV . getNext ( ) ;<br />

383 i f ( Arrays . e q u a l s (cTemp . getTagName ( ) ,<br />

384 this . EncryptedData . getTagName ( ) ) ) {<br />

385 this . EncryptedData = cTemp ;<br />

386 } else i f ( Arrays . e q u a l s (cTemp . getTagName ( ) ,<br />

387 S C U s e r C e r t i f i c a t e . getTagName ( ) ) ) {<br />

388 this . S C U s e r C e r t i f i c a t e = cTemp ;<br />

389 } else i f ( Arrays . e q u a l s (cTemp . getTagName ( ) ,<br />

390 S C C e r t i f i c a t e . getTagName ( ) ) ) {<br />

391 this . S C C e r t i f i c a t e = cTemp ;<br />

392 }<br />

393 break ;<br />

394 default :<br />

395 System . out . p r i n t l n ( " Error In Parsing Input Message " ) ;<br />

396 }<br />

397 c h i l d s −−;<br />

398 }<br />

399 } catch ( Exception e ) {<br />

400 System . out . p r i n t l n (<br />

401 " Error i n ProtocolHanlder . ChildExtractionMethod<br />

: " + e . g e t C l a s s ( ) . getName ( ) ) ;<br />

402 }<br />

403 }<br />

404 void GenerateKeys ( byte [ ] i n b u f f ) {<br />

405 byte [ ] DHSecretKey = null ;<br />

406 try {<br />

407 DHSecretKey =<br />

408 this . myProtocolHelperObject . GenerateDHSessionKeyMaterial ( i n b u f f ,<br />

0 ,<br />

409 i n b u f f . l e n g t h ) ;<br />

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

411 System . out . p r i n t l n (<br />

412 " Exception At P r o t o c o l H e l p e r C l a s s . GenerateKeys :<br />

" + cE . g e t C l a s s ( ) . getName ( ) ) ;<br />

413 }<br />

414 byte [ ] keyGenKey = new byte [ 1 6 ] ;<br />

415 System . arraycopy ( DHSecretKey , 0 , keyGenKey , 0 , keyGenKey . l e n g t h ) ;<br />

416 byte [ ] macInputValue = new byte [ 6 4 ] ;<br />

417 System . arraycopy ( this . SPRandomNumber . getValueBytes ( ) , 0 ,<br />

macInputValue ,<br />

418 0 , 16) ;<br />

419 System . arraycopy ( this . SCRandomNumber . getValueBytes ( ) , 0 ,<br />

macInputValue ,<br />

420 16 , 16) ;<br />

421 System . arraycopy ( DHSecretKey , 16 , macInputValue , 32 , 16) ;<br />

422 <strong>for</strong> ( int i = 4 8 ; i < 6 4 ; i ++) {<br />

423 macInputValue [ i ] = ( byte ) 0x02 ;<br />

358

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

Saved successfully!

Ooh no, something went wrong!