Efficient Leakage Resilient Circuit Compilers

Slides:



Advertisements
Similar presentations
Quantum Software Copy-Protection Scott Aaronson (MIT) |
Advertisements

Protecting Circuits from Leakage Sebastian Rome La Sapienza, January 18, 2009 Joint work with KU Leuven Tal Rabin Leo Reyzin Eran Tromer Vinod.
Efficient Non-Malleable Codes and Key-derivations against Poly-size Tampering Circuits PRATYAY MUKHERJEE (Aarhus University) Joint work with Sebastian.
PRATYAY MUKHERJEE Aarhus University Joint work with
Computational Privacy. Overview Goal: Allow n-private computation of arbitrary funcs. –Impossible in information-theoretic setting Computational setting:
Private Circuits Protecting Circuits Against Side-Channel Attacks Yuval Ishai Technion & UCLA Based on joint works with Manoj Prabhakaran, Amit Sahai,
Cryptography and Game Theory: Designing Protocols for Exchanging Information Gillat Kol and Moni Naor.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
LEAKAGE and TAMPER Resilient Random Access Machine (LTRAM) Pratyay Mukherjee Aarhus University Joint work with Sebastian Faust, Jesper Buus Nielsen and.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
Protecting Circuits from Leakage the computationally bounded and noisy cases Sebastian Faust Eurocrypt 2010, Nice Joint work with KU Leuven Tal Rabin Leo.
PRATYAY MUKHERJEE AARHUS UNIVERSITY AARHUS UNIVERSITY PRATYAY MUKHERJEE 28. MARCH 2014 NEW RESULTS IN NON-MALLEABLE CODES PRATYAY MUKHERJEE 28. MARCH 2014.
TAMPER DETECTION AND NON-MALLEABLE CODES Daniel Wichs (Northeastern U)
Leakage-Resilient Signatures Sebastian Faust KU Leuven Joint work with Eike Kiltz CWI Krzysztof Pietrzak CWI Guy Rothblum Princeton TCC 2010, Zurich, Switzerland.
The Physically Observable Security of Signature Schemes Alexander W. Dent Joint work with John Malone-Lee University of Bristol.
Cryptography in The Presence of Continuous Side-Channel Attacks Ali Juma University of Toronto Yevgeniy Vahlis Columbia University.
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
Protecting Circuits from Computationally-Bounded Leakage Eran Tromer MIT Joint work with Sebastian Faust K.U. Leuven Leo Reyzin Boston University Crypto.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Leakage-Resilient Storage Francesco Davì Stefan Dziembowski Daniele Venturi SCN /09/2010 Sapienza University of Rome.
Cryptography on Non-Trusted Machines Stefan Dziembowski.
Protecting Circuits from Computationally-Bounded Leakage Eran Tromer MIT Joint work with Sebastian Faust K.U. Leuven Leo Reyzin Boston University MIT/Microsoft.
Secure Computation (Lecture 5) Arpita Patra. Recap >> Scope of MPC > models of computation > network models > modelling distrust (centralized/decentralized.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits and obfuscation Eran Tromer Slides credit: Boaz.
PROTECTING CIRCUITS from LEAKAGE IBM T. J. Watson Vinod Vaikuntanathan the computationally bounded and noisy cases Joint with S. Faust (KU Leuven), L.
The “Taint” Leakage Model Ron Rivest Crypto in the Clouds Workshop, MIT Rump Session Talk August 4, 2009.
1 Information Security – Theory vs. Reality , Winter Lecture 13: Cryptographic leakage resilience (cont.) Eran Tromer Slides credit:
Protecting Cryptographic Memory against Tampering Attack PRATYAY MUKHERJEE PhD Dissertation Seminar Supervised by Jesper Buus Nielsen October 8, 2015.
Cryptography Against Physical Attacks Dana Dachman-Soled University of Maryland
1 Information Security – Theory vs. Reality , Winter Lecture 9: Leakage resilience (continued) Lecturer: Eran Tromer.
Round-Efficient Multi-Party Computation in Point-to-Point Networks Jonathan Katz Chiu-Yuen Koo University of Maryland.
Non-malleable Reductions and Applications Divesh Aggarwal * Yevgeniy Dodis * Tomasz Kazana ** Maciej Obremski ** Non-Malleable Codes from Two-Source Extractors.
Intrusion Resilience via the Bounded-Storage Model Stefan Dziembowski Warsaw University and CNR Pisa.
Garbling Techniques David Evans
The Exact Round Complexity of Secure Computation
The Exact Round Complexity of Secure Computation
Lower Bounds on Assumptions behind Indistinguishability Obfuscation
Carmit Hazay (Bar-Ilan University, Israel)
Overview on Hardware Security
On the Size of Pairing-based Non-interactive Arguments
TCC 2016-B Composable Security in the Tamper-Proof Hardware Model under Minimal Complexity Carmit Hazay Bar-Ilan University, Israel Antigoni Ourania.
MPC and Verifiable Computation on Committed Data
Topic 14: Random Oracle Model, Hashing Applications
Digital Signature Schemes and the Random Oracle Model
Gate Evaluation Secret Sharing and Secure Two-Party Computation
Cryptographic Hash Functions Part I
Verifiable Oblivious Storage
A Tamper and Leakage Resilient von Neumann Architecture
Cryptography Lecture 19.
Four-Round Secure Computation without Setup
Cryptography Lecture 6.
Topic 7: Pseudorandom Functions and CPA-Security
Unknown Input Attacks in the Parallel Setting Improving the Security of the CHES 2012 Leakage Resilient PRF Marcel Medwed François-Xavier Standaert Ventzislav.
Soundness of Formal Encryption in the Presence of Key Cycles
Cryptography for Quantum Computers
On the Efficiency of 2 Generic Cryptographic Constructions
Indistinguishability by adaptive procedures with advice, and lower bounds on hardness amplification proofs Aryeh Grinberg, U. Haifa Ronen.
Provable Security at Implementation-level
Fiat-Shamir for Highly Sound Protocols is Instantiable
Cryptography Lecture 5.
Cryptography Lecture 8.
The “Taint” Leakage Model
New Frontiers in Secret Sharing
Cryptography Lecture 6.
Emanuele Viola Harvard University June 2005
Impossibility of SNARGs
Cryptography Lecture 18.
Presentation transcript:

Efficient Leakage Resilient Circuit Compilers Marcin Andrychowicz, Warsaw University, Poland Ivan Damgård, Aarhus University, Denmark Stefan Dziembowski, Warsaw University, Poland Sebastian Faust, EPFL, Switzerland Antigoni Polychroniadou, Aarhus University, Denmark

Theory Cryptographic Algorithms are often modeled as ‘black boxes’ E.g. Internal computation is opaque to external adversaries. Security is proven under various hardness assumptions.

Reality Computation Internals Leak Cache EM Radiation Power Consumption Acoustic Timing Probing

Motivation Many provably secure cryptosystems can be broken by side-channel attacks

Two Paradigms to Fight Leakage Attacks Consider Leakage at design level Only security of specific schemes How to securely implement any scheme? Wanted: Leakage resilient Compiler Transform any circuit to a leakage resilient circuit secure in a strong black-box sense. As a general comment about leakage resilient cryptography, there are works, that take leakage into account at design time. More specifically, given a cryptographic primitive and a specific security requirement, then these works try to design an algorithm that maintains security and is resilient to 'some' leakage attacks. So this means that whenever one wants leakage resilience against a different task, we need to design a new leakage-resilient algorithm. The solutions to the above situation are the so-called leakage resilient compilers, which transform any circuit to a leakage resilient circuit secure in a strong black-box sense. There is a nice article about the above arguments here http://windowsontheory.org/2012/08/09/on-leakage-resilient-cryptography/

Def: Circuit Compilers

Def: Circuit Compilers … + + … Encoder x Circuit Compiler … x - Decoder … … - Encoder In this paper, we revisit the problem of constructing general leakage resilient compilers that can transform any (Boolean) circuit C into a protected circuit C′ computing the same functionality as C, which additionally is resilient to certain classes of leakage functions.

Def: Circuit Compilers … + + … Encoder x Circuit Compiler … x - Decoder … … - Encoder In this paper, we revisit the problem of constructing general leakage resilient compilers that can transform any (Boolean) circuit C into a protected circuit C′ computing the same functionality as C, which additionally is resilient to certain classes of leakage functions. Indistinguishable Even given leakage, execution “looks like” black-box access to C(.)

Def: Circuit Compilers … + + … Encoder x Circuit Compiler … x - Decoder … … - Encoder In this paper, we revisit the problem of constructing general leakage resilient compilers that can transform any (Boolean) circuit C into a protected circuit C′ computing the same functionality as C, which additionally is resilient to certain classes of leakage functions. Goal: Reduce the overhead induced by the compiler Indistinguishable Even given leakage, execution “looks like” black-box access to C(.)

Def: Circuit Compilers In all previous works the transformed circuit C′ has size at least O(k2), where k is the security parameter. C′ … + + … Encoder x Circuit Compiler … x - Decoder … … - Encoder In this paper, we revisit the problem of constructing general leakage resilient compilers that can transform any (Boolean) circuit C into a protected circuit C′ computing the same functionality as C, which additionally is resilient to certain classes of leakage functions. Goal: Reduce the overhead induced by the compiler Indistinguishable Even given leakage, execution “looks like” black-box access to C(.)

Build Efficient Leakage Resilient Compilers Our Goal Build Efficient Leakage Resilient Compilers

All previous works introduce at least quadratic overhead. Is it possible to construct leakage resilient compilers with at most linear overhead? All previous works introduce at least quadratic overhead.

Prior Work on General Compilers Three Leakage Models: ‘Local’ bounded Wire-Probing: [ISW03,…] ‘Local’ Only Computation (OC) Leakage/ Split state model: [MR04,…] ‘Global’ computational continuous weak Leakage i.e. AC0 leakage Functions [FRRTV10,…]

Using Techniques from secure MPC Our Results Using Techniques from secure MPC Efficient Compliers: ‘Local’ Wire-Probing: O(polylog(k) ·|C|log |C|) Previous Best Overhead: O(k2|C|) by [ISW03] ‘Local’ OC Leakage : O(k log k log log k) Previous Best Overhead: Ω(k4) by [DF12] and Ω(k3) by [GR12] This talk ‘Global’ computational weak Leakage: O(k·|C|log|C|) Previous Best Overhead: O(k2) by [FRRTV10] and O(k3) by [R13]

Our result on global computational weak Leakage Informal Theorem : A compiler that makes any circuit resilient to computationally weak leakages. The compiler increases the circuit size by a factor of O(k). Global adaptive leakage Arbitrary total leakage However we must assume something [MR04]: Leakage function is computationally weak Simple opaque gates. May depend on whole state and intermediate results, and chosen adaptively by the adversary. (Bounded just per observation)

The Compiler C′ … + … Encoder … x Decoder … … - Encoder

The Compiler: From wires to wire bundles … + … Encoder … x Decoder … … - Encoder

Packed Secret Sharing (PSS) PSS is a central tool in information theoretic secure MPC protocols. f Standard Secret Sharing : P2 P3 P4 P5 P1 P6 P7 Degree of f denoted by d

Packed Secret Sharing (PSS) PSS is a central tool in information theoretic secure MPC protocols. f Packed Secret Sharing (PSS) : Transform circuit to work on PSS with O(log|C|) overhead [DIK10]* l=3 P2 P3 P4 P5 P1 P6 P7 *Introduces Permutation gates.

+ + - - C C′ x x … … … … … Every wire is encoded with PSS. Inputs are encoded; outputs are decoded. C C′ … + + … Encoder x … x - Decoder … … - Encoder Wire bundle that carries the encoding of w, e.g. k shares of w. Notation: (w1,…,wk)=[w]d Each wire w

PSS is is secure against AC0 leakages A function is in AC0 if it can be computed by a poly-size O(1) depth boolean circuit with unbounded fan-in AND, OR (and NOT) gates. PSS Encoding is AC0 indistinguishable, i.e. Inner product hard to compute in AC0.

The Compiler: From gates to gadgets … + … Encoder … x Decoder … … - Encoder

Every gate is replaced by a gadget operating on encoded PSS bundles … + + … Encoder x … x - Decoder … … - Encoder Gadgets: built from normal gates and opaque gates and operate on encodings Gates

Opaque Gates [G89,GoldOstr95]…Leak-free processor: oblivious RAM [MR04], [DP08], [GKR08], [DF12]…Leak-free memory: “only computation leaks”, one-time programs [FRRTV10],… Opaque Gates [GR12],[R13]… Ciphertext banks Opaque Gates: simple gates that sample from a fixed distribution e.g: securely draw strings with inner product 0. Stateless: No secrets are stored Small and simple Computation independent: No inputs, so can be pre-computed

The Compiler: Addition & Subtraction gadgets … + … Encoder … x Decoder … … - Encoder

The Compiler: Addition & Subtraction gadgets … + … Encoder … x Decoder … … - Encoder

The Compiler: Addition & Subtraction gadgets Goal : c=a+b⇒[a+b]d ←[a]d +[b]d [0]d← Opaque gate [a+b]d = [a]d+[b]d+[0]d OR [a-b]d = [a]d-[b]d+[0]d

The Compiler: Multiplication gadgets … + … Encoder … x Decoder … … - Encoder

The Compiler: Multiplication gadgets … + … Encoder … x Decoder … … - Encoder

The Compiler: Multiplication gadgets Goal: c = ab ⇒ [ab]d ← [a]d[b]d [r]d,[r]2d ← Opaque gate [ab]2d = [a]d[b]d [ab +r]2d =[ab]2d +[r]2d (ab+r) ← Decode([ab+r]2d) [ab+r] d ←Encode (ab+r) [ab]d = [ab+r]d − [r]d Permutation gadget follow the same approach

Compiler: High-Level Circuit topology is preserved. Every wire is encoded; Inputs are encoded; outputs are decoded. Every gate is converted into a gadget operating on encodings.

Security of the Compiled Circuit Prove security via ‘swallow’ reconstractors per gadget (technique introduced in [FRRTV10]) Reconstractor: on input the inputs and outputs of a gadget and is able to simulate its internals in a way that looks indistinguishable for leakages from AC0.

Conclusion Three efficient circuit compilers …. Question compile any circuit ‘Local’ Wire-Probing ‘Local’ OC Leakage ‘Global’ Computational weak Leakage ‘Local’ Wire-Probing ‘Local’ OC Leakage : ‘Global’ Computational weak Leakage: Question Connection to Obfuscation

Thank you!