towards practical whitebox cryptography optimizing
play

Towards(Practical(Whitebox Cryptography:( - PowerPoint PPT Presentation

Towards(Practical(Whitebox Cryptography:( Optimizing(Efficiency(and(Space(Hardness Andrey'Bogdanov ,(Takanori Isobe and(Elmar Tischhauser DTU(and(Sony Hanoi,(Vietnam Asiacrypt16 5 December(2016 Motivation


  1. Towards(Practical(Whitebox Cryptography:( Optimizing(Efficiency(and(Space(Hardness Andrey'Bogdanov ,(Takanori Isobe and(Elmar Tischhauser DTU(and(Sony Hanoi,(Vietnam Asiacrypt’16 5 December(2016

  2. Motivation • What(can(our(techniques(from(symmetricQkey( domain(say(about(whitebox primitives?( • Is(it(possible(to(attain(any(arguable(level(of( residual(security(in(the(whitebox setting?

  3. In(this(talk • Setting(and(Requirements • Applications • Existing(Whitebox Solutions • SPACEcipher :(AESQbased(Whitebox Block(Cipher • SPNbox :(Dedicated(Whitebox Block(Cipher • Implementations(in(the(Black(and(White(Boxes

  4. Part(1 IN'THE'WHITE'BOX

  5. Theory

  6. Theory:(Black(Box

  7. More(Realistic:(Grey(Box

  8. Practice:(White(Box

  9. Black(Box(vs(White(Box Black box White(box • Security mechanisms(invisible • Malware,(Trojans • Trustworthy(hardware(and( • Memory(leakage,(side(channels software • Critical(weaknesses in(OS(and • Computer(security(is(based(upon(( applications confidentiality(of(secret(key

  10. Black(Box(vs(White(Box Black box White(box • Security mechanisms(invisible • Malware,(Trojans • Trustworthy(hardware(and( • Memory(leakage,(side(channels software • Critical(weaknesses in(OS(and • Computer(security(is(based(upon(( applications confidentiality(of(secret(key

  11. Black(Box(vs(White(Box Black box White(box • Security mechanisms(invisible • Malware,(Trojans • Trustworthy(hardware(and( • Memory(leakage,(side(channels software • Critical(weaknesses in(OS(and • Computer(security(is(based(upon(( applications confidentiality(of(secret(key

  12. [P09] White(Box:(Attacker(in(Full(Control • What(the(whitebox attacker(can(do – Read(memory/registers – Memory(inspection – CPU(call(interception – Debugging – ReverseQengineering – Code(tampering – Cache(attacks – Inserting(breakQpoints – Force(a(system(crash – Modification(of(internal(variables – Dynamic(analysis(of(the(implementation – …

  13. White(Box:(Attacker(in(Full(Control • Adversarial(capacity – access(to(intermediate(states – access(to(memories – access(to(execution • Designer’s(goal – attain(some(residual(security • Important5note – We5cannot5protect5against5 every5adversary!

  14. White(Box:(Residual(Security • Weak'whitebox security • It is(difficult(to(recover(the( cipher’s(key • Strong'whitebox security • Weak(whitebox security + • It is(difficult(to(encrypt(given( decryption(functionality(in(WB • It is(difficult(to(decrypt(given( encryption(functionality(in(WB

  15. Part(2 APPLICATIONS

  16. Content(Distribution • DRM'in'the'cloud • Cloud(server(encrypts( for(devices • ConstantQtime(blackbox implementation(in(the( cloud • Whitebox implementation(on(the( device

  17. Host(Card(Emulation(in(CloudQbased( Mobile(Payments – HCE(enables(NFC(transactions(in(pure(software( – HCE(supported(from(Android(4.4(KitKat on

  18. Other(Applications • Authentication( • Mobile(banking • Governments(and(military • Protection(against(massQsurveillance((

  19. P A S S S S Table A Table Table S S S S Table Table A C Part(3 EXISTING'WHITEBOX'SOLUTIONS

  20. Traditional(Approach:(Tables • Whitebox(Implementation([C+02] – Encoded(table • Convert(computations(of(a(cipher((e.g.,(AES(and(DES)(into(tableQ based(ones(and(put(key(into(table(to(protect(it(from(WB(attacker( – External(encoding • Add(a(secret(permutation(in(the((beginning(and(end(of(the(cipher NonQlinear((secret) P linear((secret) secret(key S Table Table IN Q1 Dec OUT C’ P’ M Table Table linear((secret) Table NonQlinear((secret) C

  21. Traditional(Approach:(Tables • Whitebox AES(implementations – 8Qbit(table(based([C+02] – polynomial(equations(based([BCD06] – 16Qbit(table(based([XL09] – dual(AES(table based([K10] • Whitebox DES(implementation – 8Qbit(table(based([C+02]

  22. Traditional(Approach:(Tables All(published(WB(implementations(of(AES/DES(are(broken key(extraction • Whitebox implementations(of(AES • 8Qbit(table(based([C+02] – • table(decomposition Practical(attacks([BGE04][MGH08] • Polynomial(equations(based([BCD06] – P • Practical(attacks([M14] 16(bit(table(based([XL09] – Practical(attacks([MRP12] [MGH08] • – Dual(AES(tableQbased([K10] Table Practical(attacks([M14] • Table Whitebox implementation(of(DES • Table 8(bit(table(based([C+02] – Practical(attacks([W09] • Table Table Adhoc solutions,'limited'fundamental'base • C Most(implementations(are(insecure(even(in(gray(box • DPA(by(Ruhr(University(Bochum,(FSE’16 • DCA(by(NXP,(CHES’16 • DFA(by(Riscure from(BlackHat EU’15 •

  23. Dedicated(Approach:(ASASA • Dedicated(construction:(ASASA(construction([BBK14] – TableQbased(decompositionQhard(problem • A:(affine/linear(bijective(transform( • S:(nonlinear(bijective(transform( P A affine/linear S nonlinear S S S Table Table A Table S S S S Table Table A C

  24. Dedicated(Approach:(ASASA • Security – Hard(to(quantitatively(evaluate • Generic(attack:(nQbit(block((ASASA)(and(mQbit(SQbox – Time(to(compose(:(2 (nQm)m » If(m(=(8,(n(=(16(:(security(64(bits – Practically(broken • key(recovery([IDKL15,(MDFK15] • code(lifting(((decomposition(of(table)([IDKL15,(MDFK15] – At(least(12(layers(are(needed(to(attain(security([BK15] – The(underlying(problem(needs(more(analysis

  25. Existing(Approaches Summary(of(Practical(SymmetricQKey(Whitebox Proposals Blackbox Whitebox Key Recovery Distinguishing Key(Recovery( Decomposition WBQAES( Secure Secure Insecure( Insecure( [C+02](and( [BGE04] [BGE04] similar ASASA Secure? Secure? Insecure( Insecure [BBK14] [IDKL15,( [IDKL15,( MDFK15] MDFK15] Any(comparable(approach(with( some(security(in(the(whitebox?

  26. Challenge:( Robust(Whitebox Cryptography BB( • Key(recovery(security( security • Indistinguishability WB( • Key extraction(security security • Incompressibility • Compact and(fast(in(BB Efficiency • Efficient(in(WB

  27. F r Part(4 SPACE'CIPHER'(ACM'CCS’15):' AESRBASED'WHITEBOX BLOCK'CIPHER

  28. What(is(Different? Traditional'WB'solutions'[C+02] SPACEcipher and'others X 0 n a n(Q n a NonQlinear((secret) P P linear((secret) secret(key AES K S Table Table Table Table M n(Q n a n a Table Table disregard Table linear((secret) Table Table Table j NonQlinear((secret) C C y

  29. Design(Goals 1. Security(of(the(whitebox solution(relies(on(a( wellQanalyzed(problem key(recovery(problem(for(a(block(cipher,(e.g.(AES – 2. No(external(encoding executable(in(the(standQalone(manner(to(be( – applicable(in(a(wide(range(of(environments 3. Multiple(code((table)(sizes(if(needed Apply(differently(sized(tables(in(different(rounds –

  30. Security(Requirements • Security(in(the(black(box – Key'recovery resistance • computationally(hard(to(extract(a(key – Distinguishing'resistance • computationally(hard(to(distinguish(it(from(random(keyed(perm. • Security(in(the(white(box – Key'recovery resistance • computationally(hard(to(extract(a(key – Space'hardness'(decomposition'resistance) • computationally(hard(to(decompose(internal(component((table) – ( T / 2 ,5 128)Qspace(hardness – cf.((in)compressibility(in(SAC’13 – cf.(bigQkey(symmetric(encryption(in(CRYPTO’16(and(key(derivation(in(AC’16

  31. What(is(Space(Hardness? E.g.,(( T / 2 ,5 128)Qspace(hardness(: An(attacker(needs(to(obtain(at(least(half(of(the(total(table(size(to( compute(any(plaintext(or(ciphertext(with(probability(of(2 − 128 It(enables(us(to(quantitatively(evaluate(security(of(code(lifting( attacks(by(the(amount(of(required(code((table)(size(to(be( isolated(from(whiteQbox(environments(for(an(attacker.

  32. Unbalanced(TargetQHeavy Feistel Network • Block(size(:(n( • #branches:(l( • Size(of(each(line(:(n/l(bit( • Function((Table)(size:((n a to((n(– n a )(bits(( n(– n a bits n a bit( n a to((nQn a )(bit(function F r

  33. The(FQfunction • n a to((nQ n a )Qbit(function( – based(on(wellQanalyzed(block(cipher(E k X • e.g.,(AES,(PRESENT,(etc 0 – y(=(F r (X)(=(trunc nQna (E k (i ||(X))(^((j n a n(Q n a • i =(0,(j(=(r((excluded(from(table)( E K – Same(FQfunction(w/(round(constants( K (AESQ128) n(Q n a n a disregard j y trunc x (Y)((:((output(x(bit(of(Y(,(x(<(n

  34. Example:(SPACEcipherQX • 4(variants(with(differently(sized(FQfunctions

  35. Security(in(the(White(Box • Key(extraction(in(WB( – Relies(on(the(block(cipher(security(in(BB • What(an(WB(attacker(can(do(is(to(know/choose(input( and(output(of(table • A(subset(of(attacks(on(AES(possible(only(

  36. Security(in(the(White(Box • Space(hardness((decomposition) – ( T / 2 ,5 128)Qspace(hardness An(attacker(needs(to(obtain(at(least(half(of(the(total(table(size(to(( • compute(any(plaintext(or(ciphertext(with(probability(of(more(than(2 − 128 TradeQoff(between(M(and(T T(:(((total(table(size M:((code(isolated

  37. Security(in(the(Black(Box • Evaluation(against(distinguishing(attacks(

  38. Performance(in(white(box Target L1(cache L3(cache RAM HDD

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend