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.3 Attestation Protocol<br />

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

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

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

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

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

267 copyPointer = U t i l . arrayCopyNonAtomic ( this . CMRandomNumberArray ,<br />

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

269 this . CMRandomNumberArray . l e n g t h ) ;<br />

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

271 try {<br />

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

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

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

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

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

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

278 }<br />

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

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

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

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

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

284 try {<br />

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

286 ( short ) 1) , ( short ) ( copyPointer − ( short )<br />

287 ( childPM2 + ( short ) 1) ) ) ;<br />

288 } catch ( Exception ce ) {<br />

289 ISOException . throwIt ( ( short ) ( copyPointer − ( short ) ( childPM2 +<br />

290 ( short ) 1) ) ) ;<br />

291 }<br />

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

293 ( short ) ( copyPointer − ( short ) ( childPM2 +<br />

( short ) 1) ) ,<br />

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

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

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

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

298 this . CMCookieArray . l e n g t h ) ;<br />

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

300 }<br />

301 }<br />

302 boolean processSecondMsg ( byte [ ] inArray ) {<br />

303 short i n O f f s e t = ( short ) ( this . CTLVDataOffset + this . CTLVDataOffset ) ;<br />

304 short inLength = ( short ) ( ProtocolHandler . bytesToShort ( inArray , ( short )<br />

305 ( i n O f f s e t − ( short ) 3) ) ) ;<br />

306 i f ( this . macGenerate ( inArray , i n O f f s e t , inLength ,<br />

307 S i g n a t u r e .MODE_VERIFY) ) {<br />

308 try {<br />

309 this . phDecryption ( inArray , i n O f f s e t , inLength ) ;<br />

310 i n O f f s e t = ( short ) ( this . CTLVDataOffset + this . PTLVDataOffset +<br />

311 ( short ) 168) ;<br />

278

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

Saved successfully!

Ooh no, something went wrong!