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.2 Online Attestation Mechanism<br />

C.2.1<br />

Online PRNG Algorithm<br />

The Java Card implementation of the oine PRNG algorithm discussed in section 4.5.2.<br />

1 package selftestOnlinePRNG ;<br />

2<br />

3 import javacard . framework .APDU;<br />

4 import javacard . framework . Applet ;<br />

5 import javacard . framework . ISO7816 ;<br />

6 import javacard . framework . ISOException ;<br />

7 import javacard . framework . JCSystem ;<br />

8 import javacard . framework . U t i l ;<br />

9 import javacard . s e c u r i t y . AESKey ;<br />

10 import javacard . s e c u r i t y . Key ;<br />

11 import javacard . s e c u r i t y . KeyBuilder ;<br />

12 import javacard . s e c u r i t y . KeyPair ;<br />

13 import javacard . s e c u r i t y . MessageDigest ;<br />

14 import javacard . s e c u r i t y . RSAPrivateKey ;<br />

15 import javacard . s e c u r i t y . RSAPublicKey ;<br />

16 import javacard . s e c u r i t y . RandomData ;<br />

17 import javacard . s e c u r i t y . S i g n a t u r e ;<br />

18 import javacardx . apdu . ExtendedLength ;<br />

19 import javacardx . crypto . Cipher ;<br />

20 import javacard . s e c u r i t y . MessageDigest ;<br />

21<br />

22 public class S e l f t e s t O f f l i n e extends Applet implements ExtendedLength {<br />

23 private s t a t i c byte [ ] MemoryContents = {<br />

24 ( byte ) 0x37 , ( byte ) 0x7a , ( byte ) 0xbc , ( byte ) 0xc0 , ( byte ) 0xea , ( byte )<br />

25 0x07 , ( byte ) 0x94 , ( byte ) 0x59 , ( byte ) 0xd6 , ( byte ) 0x37 , ( byte ) 0x6b ,<br />

26 ( byte ) 0x4c , ( byte ) 0x82 , ( byte ) 0xdb , ( byte ) 0x54 , ( byte ) 0xb2 ,<br />

27 ( byte ) 0xe8 , ( byte ) 0xea , ( byte ) 0x71 , ( byte ) 0xe1 , ( byte ) 0xa4 ,<br />

28 ( byte ) 0x41 , ( byte ) 0x06 , ( byte ) 0x44 , ( byte ) 0 xfe , ( byte ) 0x86 ,<br />

29 ( byte ) 0x8e , ( byte ) 0 x4f , ( byte ) 0x39 , ( byte ) 0 xf5 , ( byte ) 0xdb ,<br />

30 ( byte ) 0xd1 , ( byte ) 0 xf1 , ( byte ) 0xc5 , ( byte ) 0xd8 , ( byte ) 0xac ,<br />

31 ( byte ) 0xbb , ( byte ) 0x73 , ( byte ) 0x51 , ( byte ) 0xa1 , ( byte ) 0xa3 ,<br />

32 ( byte ) 0x8a , ( byte ) 0x26 , ( byte ) 0x5d , ( byte ) 0 xf3 , ( byte ) 0x61 ,<br />

33 ( byte ) 0x55 , ( byte ) 0x56 , ( byte ) 0x39 , ( byte ) 0 x3f , ( byte ) 0x4c ,<br />

34 ( byte ) 0x2a , ( byte ) 0x43 , ( byte ) 0xc4 , ( byte ) 0xd7 , ( byte ) 0xa1 ,<br />

35 ( byte ) 0xaa , ( byte ) 0xc1 , ( byte ) 0 xf2 , ( byte ) 0xd6 , ( byte ) 0x07 ,<br />

36 ( byte ) 0xa8 , ( byte ) 0x58 , ( byte ) 0x9a , ( byte ) 0x70 , ( byte ) 0x84 ,<br />

37 ( byte ) 0x15 , ( byte ) 0x19 , ( byte ) 0x56 , ( byte ) 0x61 , ( byte ) 0x3d ,<br />

38 ( byte ) 0x88 , ( byte ) 0x2a , ( byte ) 0x44 , ( byte ) 0x54 , ( byte ) 0x29 ,<br />

39 ( byte ) 0x29 , ( byte ) 0x26 , ( byte ) 0x36 , ( byte ) 0x06 , ( byte ) 0 xfe ,<br />

40 ( byte ) 0xad , ( byte ) 0x27 , ( byte ) 0x13 , ( byte ) 0x86 , ( byte ) 0x0e ,<br />

41 ( byte ) 0x85 , ( byte ) 0x3c , ( byte ) 0x32 , ( byte ) 0xe2 , ( byte ) 0x38 ,<br />

42 ( byte ) 0xd2 , ( byte ) 0x91 , ( byte ) 0x82 , ( byte ) 0x89 , ( byte ) 0 xce ,<br />

43 ( byte ) 0x79 , ( byte ) 0x02 , ( byte ) 0x43 , ( byte ) 0 xfd , ( byte ) 0 xaf ,<br />

44 ( byte ) 0x18 , ( byte ) 0xe8 , ( byte ) 0x5b , ( byte ) 0xd4 , ( byte ) 0x72 ,<br />

45 ( byte ) 0x03 , ( byte ) 0x63 , ( byte ) 0x2b , ( byte ) 0x29 , ( byte ) 0x72 ,<br />

46 ( byte ) 0xe0 , ( byte ) 0x92 , ( byte ) 0x54 , ( byte ) 0x06 , ( byte ) 0x1c ,<br />

47 ( byte ) 0 x7f , ( byte ) 0xc7 , ( byte ) 0x37 , ( byte ) 0x93 , ( byte ) 0 x2f ,<br />

48 ( byte ) 0x7a , ( byte ) 0x84 , ( byte ) 0x95 , ( byte ) 0 xec , ( byte ) 0x5e ,<br />

263

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

Saved successfully!

Ooh no, something went wrong!