Download presentation

Presentation is loading. Please wait.

Published byFabiola Toulson Modified about 1 year ago

1
White-Box Cryptography

2
Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

3
Motivation Cryptography is widely used nowadays, attack still exists. Black-Box Attack Model White-Box Attack Model

4
Black-Box Attack Model Tries to deduce the key from a list {(plaintext, ciphertext)}

5
Black-Box Attack Model Side-channel Attack Executing time Electromagnetic radiation Power consumption

6
White-Box Attack Model Attacker has full control over software execution Full access to the implementation of cryptography algorithm Full access to the platform: CPU calls, memory, registers, etc. Binary completely visible Can manipulate the execution

7
White-Box Attack Model Target for attack Implementation of cryptography Secret key

8
White-Box Attack Example Key Whitening Attack Zero lookup tables(such as S-box) using hex editor Getting output of penultimate operation Original AES key easily be derived

9
White-Box Attack Example Entropy Attack Object: Computer Memory Keys: usually chose by random generator Code: contains structure

10
White-Box Attack Example Format Analysis Analyze binary code

11
White-Box Attack Example Code Boot Attack Applicable to Bitlocker, TrueCrypt, FileVault TrueCrypt boot loader Password entered at boot time Disk encryption key needs to be stored in memory Attack: exploit data remanency property of DRAM, cooling increase time Removed & inserted into another hacked machine to read data, such as crypto keys

12
Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

13
Object Hide a cryptography key in a white-box implementation

14
A Naive Example Implement a cipher as one big lookup table No more information ‘leaks’ from the set of {(plaintext, ciphertext)} Lookup Table size: For n-bit block cipher, size would be n*2 n bit 32 bit: 2 32 *32 bit =2 37 bit=4 GBytes Using a network of lookup table instead void encrypt (uint32_t* plaintext, uint32_t* ciphertext) { char S[] = { 0x9e37b8e9, 0xaf48c9fa, 0x8d26a7d8, … }; /* Sbox */ ciphertext = S[plaintext]; }

15
What is White-Box Cryptography? Definition D wb (m): need ONE input D k (m): need TWO input Essentially, D wb (m) is the exclusive edition of D k (m) with specific cipher key.

16
What is White-Box Cryptography? Main Idea Embed both the fixed key & random data in a composition. Hard to derive the original key. Attacker knows which crypto algorithm Attacker knows where in the memory Attacker knows where in the application

17
What is White-Box Cryptography? State of Art Unfortunately, there is no white-box cryptography proved to be secure Current best method: hide keys according to characteristics of the specific crypto algorithm Only white-box DES & AES published Both have been broken No academic paper on asymmetric primitives

18
What is White-Box Cryptography? State of Art Interesting: After some company buying white-box crypto solutions, they mix their own crypto, which is not recommended in crypto application. For white-box crypto, this is reasonable. Security of white-box crypto depends on how hard the cipher key is hidden, not the cipher primitives.

19
Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

20
First White-Box Implementation Chow et al. 2002. A White-Box DES Implementation for DRM Applications Chow et al. 2002. White-Box Cryptography and an AES Implementation

21
Original DES Basic operations: Replacing, Changing places, XOR Chow, et al.: Transform to randomized networked lookup tables closely related to the crypto key

22
White-Box DES Transform a cipher into a series of key-dependent lookup tables. Secret key is hard-code into the lookup tables Protected by randomization techniques

23
Lookup Tables Example Lookup Tables: define every input & output Any finite function can transform to a lookup table Table A: Replacing Operation Table B: XOR Operation Table C: Negative Operation

24
Lookup Tables Example All basic primitives in DES transform into lookup tables:

25
Divide and Conquer Attacker may recognize every lookup table and analyze each basic operation. Mix 3 tables into 1 big lookup table:

26
Divide and Conquer BUT, the lookup table will become very huge. For n bits input & m bits output, 2 n ×m bits is required. Solution: we need a series of networked lookup tables: L 1 ◦ L 2 ◦ L 3 ◦ …

27
Partial Evaluation Chow, et al. adopted partial evaluation to mix crypto keys with algorithm. D skey (m) D wb (m) In DES: Some operation is fixed (e.g. changing place) Corresponding lookup tables are fixed -------- not affected by crypto keys Some operation is NOT fixed (e.g. replacing using crypto key) Corresponding lookup tables are NOT fixed -------- affected by crypto keys Attacker can distinguish the unfixed lookup tables by analyzing each table We need to randomize every lookup table Making distinguishing more difficult

28
Internal Encodings Considering 3 consecutive lookup tables in the network: L 3 ◦L 2 ◦L 1, L 2 contains some key information. e.g. L 2 (x)=x ⊕ k Every lookup table is available to the white-box attacker The key information can be extracted directly e.g. L 2 (0)

29
Internal Encodings Countermeasure: Add internal encoding: b 1, b 2 : randomization operations b 1 -1, b 2 -1 : opposite operations L ’ 3 ◦ L ’ 2 ◦ L ’ 1 = L 3 ◦b 2 -1 ◦b 2 ◦ L 2 ◦b 1 -1 ◦b 1 ◦ L 1 = L 3 ◦ L 2 ◦ L 1 Now, L ’ 2 does not leak any key information Attacker have to analyze all 3 encoded tables to gain information

30
Outline Motivation White-Box Cryptography White-Box Implementation White-Box In Practice Conclusion

31
Code Lifting Attacker: No need to know internal details, just need API. Embed the white-box implementation into his App. Still encrypt/decrypt data as having the key.

32
External Encodings Same as Internal Encodings. But not between 2 blocks inside cryptography implementation But outside Annihilating encoding somewhere else e.g. incorporate into the decryption functions

33
Traitor Tracing Object: Detect who has been sharing code (pirate) Use case: DRM Insert fingerprints into white-box implementation Can also be used in software tamper resistance Malware instructions can be detected Any modification leads to lookup tables collapse

34
Conclusion Being used in real-world application, mainly DRM apps. Although academic attacks have been published No attacks on commercial white-box implementation have been seen. White-box cryptography still in its early days Requires further research before being widely adopted.

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google