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

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