the curse of small domains
play

The Curse of Small Domains New Attacks on Format-Preserving - PowerPoint PPT Presentation

The Curse of Small Domains New Attacks on Format-Preserving Encryption Viet Tung Hoang Stefano Tessaro Ni Trieu Florida State University UC Santa Barbara Oregon State University CRYPTO 2018 August 20, 2018 1 Format-Preserving Encryption


  1. The Curse of Small Domains New Attacks on Format-Preserving Encryption Viet Tung Hoang Stefano Tessaro Ni Trieu Florida State University UC Santa Barbara Oregon State University CRYPTO 2018 August 20, 2018 1

  2. Format-Preserving Encryption (FPE) [FIPS 74, BS97 BR02,BRPS09, … ] Widely used to encrypt credit-card numbers and fields in legacy databases - Property : Ciphertext has the same “format” as the plaintext  Avoid disrupting the system Ciphertexts also look like credit-card numbers 5887 3229 0447 4263 2

  3. Format-Preserving Encryption (FPE) [FIPS 74, BS97 BR02,BRPS09, … ] 1234-5678-0000-5555 FPE = tweakable blockcipher with a general message space Dom FPE Key Tweak deterministic 3147-7312-4216-1319 Dom = set of credit- card numbers , set of PINs, set of SSNs, … 3

  4. The Need for Tweaks Scenario: DB enforces columns to store valid CC numbers. Customer CC # Trans. # CC # John Doe 1234-0001-4321-5678 1 1234-0001-4321-5678 Jane Doe 9876-0004-3133-7311 2 1234-0001-4321-5678 … … 3 9876-0001-1234-1234 Alice Crypto 9876-0001-1234-1234 ... … FPE-encrypt with key K FPE-encrypt with key K and tweak “transaction” and tweak “customer” Customer CC # Trans. # CC # John Doe 4931-3137-3827-5934 1 8431-5938-5229-6788 Jane Doe 3819-5724-9477-3816 2 8431-5938-5229-6788 … … 3 3015-0101-5343-3134 Alice Crypto 4820-4728-8439-1872 ... … 4

  5. Technical Challenge: FPE Domain Can Be Small Credit-card numbers: PINs: Even smaller domains: ANSI ASC X9.124 envisions an application for 5

  6. Real-world FPEs suspended but likely to get reinstated - Specified two schemes, FF1 and FF3, based on Feistel Companies offering FPE HPE Voltage, Veriphone, Ingenico, and others Other FPE solutions from industry: FNR from Cisco: DTP from Protegrity : -Proposed but not used - Claimed to be more secure than NIST’s FPEs -Use [NR99] variant of Feistel -Largely follows ad-hoc solution of [BS97] 6

  7. Prior FPE Attacks N : domain size #Msg per Known msg Paper Recover Time Adaptive Break tweak vs target FF1 [BHT16] A single 3 No Same right target FF3 half [DV17] Entire Yes N/A FF3 codebook Not applicable to generic Feistel unbroken so far Easily fixed by restricting the tweak space Scheme FF1 FF3 FNR Round # r 10 8 9 7

  8. Prior FPE Attacks N : domain size #Msg per Known msg Paper Recover Time Adaptive Break tweak vs target FF1 [BHT16] A single 3 No Same right target FF3 half [DV17] Entire Yes N/A FF3 codebook FF1 Multiple Ours No None FF3 targets FNR Scheme FF1 FF3 FNR Round # r 10 8 9 8

  9. Cost of Our Attack on FF1/FF3 Success rate Log of ciphertext # per target 9

  10. Expanding versus Contracting FF3: start with expanding FF1: start with contracting round functions round functions FF3’s design choice is inferior Domain Our cost Our cost [BHT16] ’s cost [BHT16] ’s cost (for FF1) (for FF3) (for FF1) (for FF3) 10

  11. Our Results Scheme Attack type Practical for FF1/FF3/FNR Known-plaintext attack Small domains DTP Ciphertext-only attack Any domain #ciphertexts needed to recover target with 90% success against DTP Encoding PIN SSN CCN Decimal 460,000 525,000 575,000 Alphanumeric 46,000 51,000 53,000 Protegrity uses alphanumeric encoding to enlarge domains  Make DTP actually 10 times weaker 11

  12. Attack Scenario: Known-Plaintext Attack Assumed to be distinct to avoid trivial attacks, as FPE is deterministic Random known msg Targets … … tweaks Goal : Recover all targets given FPE all ciphertexts and known msg … … … … … … 12

  13. Feistel-based FPE M and N can be very small For FF1/FF3: We consider (abstract) domain and are abelian groups is inverse of Round functions are modeled as truly random r -round Feistel ( for FF1, for FF3) 13

  14. Attack Idea: Bias [Patarin 91, BHT16 ] Question : Take two inputs and such that Same right half What’s the distribution of ? peak at 14

  15. Using Bias [BHT16 ] peak at The bias is too small to exploit directly, but can be amplified if we have enough plaintext/ciphertext pairs! 15

  16. Basically [BHT16] attack A Wishful Dream Target Ciphertexts Random known msg … … Suppose we can magically … select a known msg X s.t likely to peak at - Can trivially recover - Plot the frequency histogram of 16

  17. Narrowing Known Messages Some must have the same Random known msg right half as the target … … Select s.t. Question : How big is t so that selection is possible w.h.p? Coupon-Collector problem : -There are N types of coupons -We buy t coupons and wish to have all N types w.h.p. Classic setting : coupons have truly random types  Our setting : known msg are distinct, so coupons are biased towards new types  17

  18. Pinpointing The Correct Known Message … … … … … If There’s likely one column For each , plot the frequency beyond the threshold histogram of 18

  19. Pinpointing The Correct Known Message … … … … … If There’s likely no column For each , plot the frequency beyond the threshold histogram of 19

  20. How Many Tweaks Needed? Theorem : Suppose that we use random distinct known msg under q tweaks, and want to recover p targets. Then the recovery rate is at least Recovery rate Log (base 2) of q 20

  21. Experiments On FF3 Empirical results are even better than theoretical analysis # known msg, t # of tweaks , q Domain Recovery rate Time (min) 100% 0.9 33 66% 0.46 100% 5.92 31 86% 3.06 100% 8.72 96 66% 5.3 21

  22. Generalization Random, distinct known msg Targets … … Recover all targets given all ciphertexts and known msg Want: -Handle arbitrary distribution of known msg -Relax the requirements by recovering just some (not all) targets 22

  23. Generalized Attack Can recover every satisfying Distinct known msg Targets … … Select s.t. … To try to recover target : distinct right halves -For every , use frequency histogram to check if -If such is found, recover 23

  24. Conclusion FF1/FF3/FNR on tiny domains -Our attacks are practical for DTP on any domains Recommendation: Protegrity is already moving to FF1 - Don’t use DTP -Use double encryption for FF1/FF3 on tiny domains, as suggested by ANSI 24

Recommend


More recommend