generalizing homomorphic macs for arithmetic circuits
play

Generalizing Homomorphic MACs for Arithmetic Circuits Dario Catalano - PowerPoint PPT Presentation

Generalizing Homomorphic MACs for Arithmetic Circuits Dario Catalano Dario Fiore Universit di Catania IMDEA Software Institute Italy Spain Rosario Gennaro Luca Nizzardo * CUNY Universit di Milano-Bicocca USA Italy *work done while


  1. Generalizing Homomorphic MACs for Arithmetic Circuits Dario Catalano Dario Fiore Università di Catania IMDEA Software Institute Italy Spain Rosario Gennaro Luca Nizzardo * CUNY Università di Milano-Bicocca USA Italy � *work done while visiting CUNY PKC’14 - Buenos Aires, March 28, 2014

  2. Outline � 2 ¨ Motivation ¨ Homomorphic MACs ¤ Definition ¤ Previous work ¨ Our results ¨ Summary & Open problems

  3. Delegating Computations on Outsourced Data � 3 v 1 , v 2 , …, v n v 1 v 2 … v n

  4. Delegating Computations on Outsourced Data � 3 “ Compute P” v 1 , v 2 , …, v n v 1 v 2 … v n

  5. Delegating Computations on Outsourced Data � 3 “ Compute P” y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … v n

  6. Delegating Computations on Outsourced Data � 3 “ Compute P” y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … v n Question: ¨ How can the client be sure that P is executed on the company’s data?

  7. Delegating Computations on Outsourced Data � 3 “ Compute P” y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … v n v 1 , v 2 , …, v n Question: ¨ How can the client be sure that P is executed on the company’s data? ¨ Trivial solution: the cloud sends all the authenticated inputs .

  8. Delegating Computations on Outsourced Data � 3 “ Compute P” y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … v n v 1 , v 2 , …, v n Question: ¨ How can the client be sure that P is executed on the company’s data? ¨ Trivial solution: the cloud sends all the authenticated inputs . TOO INEFFICIENT

  9. Delegating Computations on Outsourced Data � 3 “ Compute P” y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … v n Question: ¨ How can the client be sure that P is executed on the company’s data? ¨ Trivial solution: the cloud sends all the authenticated inputs . TOO INEFFICIENT Main Goals ¨ Integrity 
 ¨ E ffj ciency 
 Client ’ s communication and Un trusted cloud must not 
 storage must be minimized be able to send incorrect y

  10. An approach to solve the problem: Homomorphic Message Authenticators [GW13] � 4 “ Compute P“ y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … sk v n sk Main Goals ¨ E ffj ciency 
 ¨ Integrity 
 Un trusted cloud must not 
 Client ’ s communication and storage must be minimized be able to send incorrect y

  11. An approach to solve the problem: Homomorphic Message Authenticators [GW13] � 4 “ Compute P“ y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … sk v n sk proves that “y is the output of P on authenticated data” Main Goals ¨ E ffj ciency 
 ¨ Integrity 
 Un trusted cloud must not 
 Client ’ s communication and storage must be minimized be able to send incorrect y

  12. An approach to solve the problem: Homomorphic Message Authenticators [GW13] � 4 “ Compute P“ y = P ( v 1 ,…,v k ) v 1 , v 2 , …, v n v 1 y v 2 … sk v n sk proves that “y is the output of P on authenticated data” Main Goals ¨ E ffj ciency 
 ¨ Integrity 
 ✓ ✓ Un trusted cloud must not 
 Client ’ s communication and Cloud cannot forge MACs . | | << size of k input values . storage must be minimized be able to send incorrect y

  13. Homomorphic MACs & Labeled Programs [GW13] � 5

  14. Homomorphic MACs & Labeled Programs [GW13] � 5 ¨ KeyGen( λ ) → ( sk,ek ) // private key sk , public evaluation key ek

  15. Homomorphic MACs & Labeled Programs [GW13] � 5 ¨ KeyGen( λ ) → ( sk,ek ) // private key sk , public evaluation key ek ¨ Auth ( sk,v, τ ) → σ which authenticates value v w . r . t . label τ v τ sk • Idea of labels: uniquely “remember” the outsourced data 
 rd , 2012, Google stock price” 
 Auth $ 665.41 ~ “Jan, 3 th , 2012, Google stock price” 
 $ 668.28 ~ “Jan, 4 th , 2012, Google stock price” 
 $ 659.01 ~ “Jan, 5 σ ... ...

  16. Homomorphic MACs & Labeled Programs [GW13] � 5 ¨ KeyGen( λ ) → ( sk,ek ) // private key sk , public evaluation key ek ¨ Auth ( sk,v, τ ) → σ which authenticates value v w . r . t . label τ v τ sk • Idea of labels: uniquely “remember” the outsourced data 
 rd , 2012, Google stock price” 
 Auth $ 665.41 ~ “Jan, 3 th , 2012, Google stock price” 
 $ 668.28 ~ “Jan, 4 th , 2012, Google stock price” 
 $ 659.01 ~ “Jan, 5 σ ... ... ¨ Eval ( ek , P , σ 1 ,…, σ n ) → σ new tag authenticating “output of τ 1 τ 2 τ 3 labeled program P ” + x x ¨ A labeled program P is a circuit f with a label τ on each input wire + + P • e . g . , P computes the yearly average stock price for some days — each day x labeled by some τ i

  17. Homomorphic MACs & Labeled Programs [GW13] � 5 ¨ KeyGen( λ ) → ( sk,ek ) // private key sk , public evaluation key ek ¨ Auth ( sk,v, τ ) → σ which authenticates value v w . r . t . label τ v τ sk • Idea of labels: uniquely “remember” the outsourced data 
 rd , 2012, Google stock price” 
 Auth $ 665.41 ~ “Jan, 3 th , 2012, Google stock price” 
 $ 668.28 ~ “Jan, 4 th , 2012, Google stock price” 
 $ 659.01 ~ “Jan, 5 σ ... ... ¨ Eval ( ek , P , σ 1 ,…, σ n ) → σ new tag authenticating “output of τ 1 τ 2 τ 3 labeled program P ” + x x ¨ A labeled program P is a circuit f with a label τ on each input wire + + P • e . g . , P computes the yearly average stock price for some days — each day x labeled by some τ i ¨ Ver ( sk , P , v , σ ) checks whether v is output of P =( f , τ 1 , …, τ n ) on values authenticated with labels τ 1 ,…, τ n

  18. Homomorphic MACs & Labeled Programs [GW13] � 5 ¨ KeyGen( λ ) → ( sk,ek ) // private key sk , public evaluation key ek ¨ Auth ( sk,v, τ ) → σ which authenticates value v w . r . t . label τ v τ sk • Idea of labels: uniquely “remember” the outsourced data 
 rd , 2012, Google stock price” 
 Auth $ 665.41 ~ “Jan, 3 th , 2012, Google stock price” 
 $ 668.28 ~ “Jan, 4 th , 2012, Google stock price” 
 $ 659.01 ~ “Jan, 5 σ ... ... ¨ Eval ( ek , P , σ 1 ,…, σ n ) → σ new tag authenticating “output of τ 1 τ 2 τ 3 labeled program P ” + x x ¨ A labeled program P is a circuit f with a label τ on each input wire + + P • e . g . , P computes the yearly average stock price for some days — each day x labeled by some τ i ¨ Ver ( sk , P , v , σ ) checks whether v is output of P =( f , τ 1 , …, τ n ) on values authenticated with labels τ 1 ,…, τ n

  19. Properties of Homomorphic MACs � 6 ¨ Security: … in 2 slides ¨ Succinctness: size of tags (returned by Eval ) does not depend on the number of inputs of the computation ¨ Composition: authenticated outputs can be further used as inputs to other circuits

  20. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output

  21. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output τ 1 τ 2 x

  22. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output ( v 1 , σ 1 ) ( v 2 , σ 2 ) τ 1 τ 2 x ( v 1 x v 2 , σ x )

  23. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output ( v 1 , σ 1 ) ( v 2 , σ 2 ) τ 1 τ 2 x ( v 1 x v 2 , σ x ) τ 3 τ 4 + x x + + f ’ x

  24. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output ( v 1 , σ 1 ) ( v 2 , σ 2 ) τ 1 τ 2 x ( v 1 x v 2 , σ x ) ( v 3 , σ 3 ) ( v 4 , σ 4 ) τ 3 τ 4 + x x + + f ’ x

  25. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output ( v 1 , σ 1 ) ( v 2 , σ 2 ) τ 1 τ 2 x ( v 1 x v 2 , σ x ) ( v 3 , σ 3 ) ( v 4 , σ 4 ) τ 3 τ 4 + x x + + f ’ f = x o f’ x ( f ( v 1 ,v 2 ,v 3 ,v 4 ) , σ f )

  26. Composition � 7 ¨ At gate level: for every pair of authenticated inputs, obtain an authenticated output ( v 1 , σ 1 ) ( v 2 , σ 2 ) τ 1 τ 2 x ( v 1 x v 2 , σ x ) ( v 3 , σ 3 ) ( v 4 , σ 4 ) τ 3 τ 4 Very useful property if one wants to merge + x x partially authenticated computations, + + f ’ f = x o f’ e . g . , for parallelization (MapReduce) x ( f ( v 1 ,v 2 ,v 3 ,v 4 ) , σ f )

  27. Security � 8 Unforgeability against chosen-message attacks Basic idea: nobody, without sk , can create a “valid” MAC sk ek

  28. Security � 8 Unforgeability against chosen-message attacks Basic idea: nobody, without sk , can create a “valid” MAC τ i ,v i σ i = Auth ( sk, τ i ,v i ) sk ek

  29. Security � 8 Unforgeability against chosen-message attacks Basic idea: nobody, without sk , can create a “valid” MAC τ i ,v i σ i = Auth ( sk, τ i ,v i ) P ,v, σ b =Ver ( sk, P ,v, σ ) sk ek

  30. Security � 8 Unforgeability against chosen-message attacks Basic idea: nobody, without sk , can create a “valid” MAC Each τ i can be τ i ,v i queried only once σ i = Auth ( sk, τ i ,v i ) P ,v, σ b =Ver ( sk, P ,v, σ ) sk ek

Recommend


More recommend