private function evaluation

36
Private Function Evaluation Payman Mohassel & Saeed Sadeghian University of Calgary

Upload: argyle

Post on 21-Mar-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Private Function Evaluation. Payman Mohassel & Saeed Sadeghian University of Calgary. Secure Function Evaluation. Correctness: honest parties learn the correct output Privacy: Nothing but the final output is leaked …. P 2 , x 2. P 1 , x 1. P 3 , x 3. P 4 , x 4. P 5 , x 5. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Private Function Evaluation

Private Function Evaluation

Payman Mohassel & Saeed Sadeghian University of Calgary

Page 2: Private Function Evaluation

2

Secure Function Evaluation

Parties learn f(x1,…,xn)

P1, x1

P2, x2

P5, x5

P4, x4

P3, x3

Correctness:honest parties learn the correct output

Privacy:Nothing but the final output is leaked

…

Page 3: Private Function Evaluation

Private vs. Secure Function Evaluation

𝒇 (π’™πŸ ,…, 𝒙𝒏)

𝒇 (π’™πŸ ,…, 𝒙𝒏)

SFEPFE

Page 4: Private Function Evaluation

Why Hide The Function?

β€’ Private functionso Proprietary, intellectual propertyo E.g., medical diagnosis, error reporting systems …

β€’ Sensitive functionso Revealing vulnerabilitieso E.g. IDS containing zero-day signatures

β€’ In SFE output leaks infoo Hiding the function can helpo Prevents dictionary attacks

Page 5: Private Function Evaluation

Hide Everything Fully Homomorphic Encryption

𝑃2 𝑃1

π‘₯ 𝑦 , 𝑓𝐸 (π‘₯ )

𝐸 ( 𝑓 (π‘₯ , 𝑦 ))

𝑓 (π‘₯ , 𝑦)Also hides size of and

Page 6: Private Function Evaluation

Relaxation

β€’ leako Function/circuit sizeo Input size

β€’ But o More efficient primitiveso Milder assumptions

Page 7: Private Function Evaluation

Is PFE Hard?β€’ Not really!

β€’ All SFE feasibility results extend to PFEo Using Universal Circuits

β€’ The only interesting questions are efficiency questions

Page 8: Private Function Evaluation

Universal CircuitsC Universal Circuit

x

C(x)

Page 9: Private Function Evaluation

Universal Circuitsβ€’ Boolean

o For a circuit C with g gateso [Valiant’ 76]: (good for large circuits)

β€’ Actually building it seems complicatedo [KS’ 08]: (good for small circuits )

β€’ Arithmetico For a circuit C with g gates and depth d o [Raz’ 08]: gates, i.e. in the worst caseo Or use a Boolean circuit

Page 10: Private Function Evaluation

PFE Constructionsβ€’ Two-party setting

o Universal Circuit + Yao’s protocolβ€’ or symmetric ops + OTs

o [KM’ 11]: Singly Homomorphic Enc + Yao’s protocol β€’ public-key ops + symmetric ops

β€’ Multi-party settingo Universal Circuit + GMW protocol

β€’ OTs

β€’ Arithmetic circuitso Universal Circuit + HE-based MPC [CDN’ 01]o public-key ops

Page 11: Private Function Evaluation

Efficiency Questionsβ€’ Asymptotic Efficiency

o Can we design PFE with linear complexity in all standard settings?

o The multiparty caseo The malicious case

β€’ Practical Efficiencyo Can we improve practical efficiency of universal

circuit approach?o Constant factors are important

Page 12: Private Function Evaluation

What Does UC Hide?

β€’ Function of each gate

β€’ Topology of circuit

Page 13: Private Function Evaluation

Our Framework

Page 14: Private Function Evaluation

Private Gate Evaluation

β€’ Inputs are shared

o

β€’ Gate function

o Known only to

β€’ Output is shared

π’ˆ (𝒙 , π’š )

𝑧1 𝑧 2

Actual sharing mechanism depends on the protocol

Page 15: Private Function Evaluation

Circuit Topologyβ€’ Topology captured using an extended permutation 𝑖1

𝑖2𝑖3𝑖4

𝑖5𝑖6𝑖7𝑖8

𝑖9𝑖10

π‘œ1π‘œ2

π‘œ3π‘œ4 π‘œ6

π‘œ5

𝑖1𝑖2𝑖3𝑖4𝑖5𝑖6𝑖7𝑖8𝑖9𝑖10

𝝅π‘ͺ

Page 16: Private Function Evaluation

CTH Functionality

β€’ Inputs are shared

β€’ Mappingo known by only

β€’ Outputs are shared

β€’ Query typeso Map: done internallyo Reveal: reveal result of mapo On-demand mapping

π‘₯=π‘₯1βŠ•π‘₯2π‘₯ β€² β€² 1βŠ•π‘₯ β€² β€²2=π‘₯

𝑦=𝑦1βŠ• 𝑦2𝑦 β€² 1βŠ• 𝑦 β€²2=𝑦

Map

Reveal

𝝅π‘ͺπ‘₯ β€² 1βŠ•π‘₯ β€²2=π‘₯

Page 17: Private Function Evaluation

PGE + CTH𝑖1𝑖2𝑖3𝑖4

𝑖5𝑖6𝑖7𝑖8

𝑖9𝑖10

π‘œ1π‘œ2

π‘œ3π‘œ4 π‘œ6

π‘œ5CTH

PGE

PGE

PGE

PGE

PGE

Topological orderπ‘œ5

π‘œ5

π‘œ6

π‘œ6

𝟏

𝟐

πŸ•

πŸ‘

π‘œ1

π‘œ2

π‘œ3

π‘œ4 πŸ’

πŸ“πŸ”

πŸ–

πŸ—πŸπŸŽ

𝟏𝟏

𝟏𝟐

πŸπŸ‘πŸπŸ’

πŸπŸ“

πŸπŸ–πŸπŸ”πŸπŸ•πŸπŸ—πŸπŸŽ

𝟐𝟏

RevealMap PGE

Page 18: Private Function Evaluation

Instantiating PGE

Page 19: Private Function Evaluation

PGE for GMW

g x y z0 0 g(0,0

)0 1 g(0,1

)1 0 g(1,0

)1 1 g(1,1

)

π’ˆ (𝒙 , π’š )

𝑧1 𝑧 2

g0 00 11 01 1

𝑃1 𝑃2

π‘₯2 , 𝑦 21-out-of-4 OT

Page 20: Private Function Evaluation

PGE for AC

β€’ is an additively homomrphic encryption

𝑃1

π‘Ž1 ,𝑏1 ,π‘π‘˜ 𝑃2π‘Ž2 ,𝑏2 ,π‘π‘˜ ,π‘ π‘˜πΈπ‘›π‘π‘π‘˜ (π‘Ž2 ) ,πΈπ‘›π‘π‘π‘˜ (𝑏2 ) ,πΈπ‘›π‘π‘π‘˜(π‘Ž2𝑏2)

(If )

(If )

𝐢=πΈπ‘›π‘π‘π‘˜(π‘Ž2+𝑏2+π‘Ÿ )

𝑐2β†π·π‘’π‘π‘ π‘˜(𝐢)

𝑐1←𝐅 𝐢=πΈπ‘›π‘π‘π‘˜(π‘Ž1𝑏1+π‘Ž2𝑏1+π‘Ž1𝑏2+π‘Ž2𝑏2βˆ’π‘1)

Page 21: Private Function Evaluation

Instantiating CTH

Page 22: Private Function Evaluation

Oblivious Extended Perm.

β€’ Assume inputs are ready

𝝅π‘ͺ

𝑃1

Ο€

𝑃2(𝑑1𝑑2...π‘‘π‘š

)(π‘Žπœ‹βˆ’ 1 (1 )βŠ•π‘‘1π‘Žπœ‹βˆ’ 1 (2 )βŠ•π‘‘ 2

.

.

.π‘Žπœ‹βˆ’1 (π‘š )βŠ•π‘‘π‘šβ‘

)(π‘Ž1π‘Ž2...π‘Žπ‘›

)π‘Ž1

π‘Ž2

π‘Ž3

π‘Ž4π‘Ž5π‘Ž6

π‘Ž1βŠ•π‘‘ 1

π‘Ž1βŠ•π‘‘ 5

π‘Ž2βŠ•π‘‘ 2π‘Ž3βŠ•π‘‘3

π‘Ž4βŠ•π‘‘ 4

π‘Ž5βŠ•π‘‘6π‘Ž5βŠ•π‘‘7

π‘Ž6βŠ•π‘‘ 9π‘Ž6βŠ•π‘‘8

Page 23: Private Function Evaluation

OEPβ€’ Using any MPC

o Inefficiento Not on-demand

β€’ Using singly HE o Linear complexityo Requires public-key ops

β€’ Using oblivious transfero Not linearo But better concrete efficiency (OT extension)

Page 24: Private Function Evaluation

HE-based

𝑃1 𝑃2

πΈπ‘›π‘π‘π‘˜(π‘Ž1)πΈπ‘›π‘π‘π‘˜(π‘Ž2)

πΈπ‘›π‘π‘π‘˜(π‘Žπ‘›)

πΈπ‘›π‘π‘π‘˜(π‘ŽΒΏΒΏπœ‹βˆ’ 1 (1 )βŠ•π‘‘ΒΏΒΏ1)ΒΏπΈπ‘›π‘π‘π‘˜(π‘Žπœ‹βˆ’ 1 (2 )βŠ•π‘‘ΒΏΒΏ2)ΒΏ .ΒΏ ..

πΈπ‘›π‘π‘π‘˜(π‘ŽΒΏΒΏπœ‹βˆ’1 (π‘š )βŠ•π‘‘ ΒΏΒΏπ‘š)❑¿¿

.

.

. (π‘Ž1π‘Ž2...π‘Žπ‘›

)(𝑑1𝑑2...π‘‘π‘š

)𝝅❑

Easy to make on-demand

π‘π‘˜ ,π‘ π‘˜

Page 25: Private Function Evaluation

Permutation Networks

π‘Žπ‘

1

π‘Žπ‘

0π‘Žπ‘

π‘Žπ‘

…

…

…

…

[Waksman’ 68]: any permutation can be implemented using a permutation network of size

The permutation is determined using selection bits

Permutation NetworkSwitchesselection bit

Page 26: Private Function Evaluation

EP Networksβ€’ Need one more switch type

π‘Žπ‘

1

π‘Žπ‘

0π‘Žπ‘

π‘Žπ‘ π‘Ž

𝑏

1

π‘Žπ‘

0π‘Žπ‘

π‘Žπ‘Ž

Page 27: Private Function Evaluation

EP Networks

Waksman network

Waksman network

π‘Ž1π‘Ž2...π‘Žπ‘›

𝑑𝑑...𝑑

π‘Ž1π‘‘π‘‘π‘Ž2π‘‘π‘Ž3π‘Ž4...π‘‘π‘Žπ‘›

1π‘Ž1π‘Ž1 1

π‘Ž1π‘Ž1 0 π‘Ž1

.

.

.

m π‘™π‘œπ‘”π‘šβˆ’π‘š+1+π‘š+π‘šπ‘™π‘œπ‘”π‘šβˆ’π‘š+1

Page 28: Private Function Evaluation

Oblivious Switch

π‘Ÿ1π‘Ÿ2

π‘Ÿ3π‘Ÿ 4

𝑃1

π‘Ž ,𝑏𝑃2

𝑠

ΒΏ 𝑠1-out-of-2 OT

π‘ŽβŠ•π‘Ÿ1 ,π‘βŠ•π‘Ÿ 2

𝑠=0β†’ (π‘ŽβŠ•π‘Ÿ1)βŠ• (π‘Ÿ1βŠ•π‘Ÿ 3 )=π’‚βŠ•π’“ πŸ‘

(π‘βŠ•π‘Ÿ 2)βŠ• (π‘Ÿ 2βŠ•π‘Ÿ 4 )=π’ƒβŠ•π’“ πŸ’

𝑠=1β†’(π‘βŠ•π‘Ÿ2)βŠ• (π‘Ÿ 2βŠ•π‘Ÿ 3 )=π’ƒβŠ•π’“πŸ‘

(π‘ŽβŠ•π‘Ÿ 1)βŠ• (π‘Ÿ1βŠ•π‘Ÿ4 )=π’‚βŠ•π’“ πŸ’

Page 29: Private Function Evaluation

OEP

π‘Ÿ1π‘Ÿ2

π‘Ÿ3π‘Ÿ 4 π‘Ÿ3

π‘Ÿ 4π‘Ÿ5π‘Ÿ6

0

1

π‘Ÿ6π‘Ÿ5

π‘Ÿ7π‘Ÿ8

1

π‘ŽβŠ•π‘Ÿ1 π‘ŽβŠ•π‘Ÿ3

π‘ŽβŠ•π‘Ÿ6

π‘ŽβŠ•π‘Ÿ7

MAP

Reveal

π‘ŽβŠ•π‘Ÿ 7βŠ•π‘‘7π‘ŽβŠ• 𝑑7

𝑃1

(𝑑1𝑑2...π‘‘π‘š

)(𝑠1𝑑2...π‘ π‘˜

)𝑃2

(π‘Ž1π‘Ž2...π‘Žπ‘›

)

Ο€

Page 30: Private Function Evaluation

Efficiencyβ€’ One OT per switch

o O(nlogn) OTs total

β€’ Practical thanks to OT extension

β€’ Fast online phaseo OTs done offline

β€’ Constant round

Page 31: Private Function Evaluation

Instantiationsβ€’ First Multiparty PFE with linear complexity

o GMW + HE-Based OEP

β€’ First Arithmetic PFE with linear complexityo [CDN 01] + HE-based OEP

β€’ More efficient two-party PFE with linear complexityo Yao + HE-based OEPo Subsumes and improves construction of [KM’11]

β€’ More practical PFEo Yao/GMW + OT-based OEP + OT extension

Page 32: Private Function Evaluation

Yao-based PFE𝑖1𝑖2

𝑖3𝑖4

𝑖5𝑖6𝑖7𝑖8

𝑖9𝑖10

π‘œ1π‘œ2

π‘œ3π‘œ4 π‘œ6

π‘œ5

𝑃1

𝑃2ΒΏ(𝑑1𝑑2........𝑑 20

)

OEP

)

))

)

Page 33: Private Function Evaluation

Open Questions

Page 34: Private Function Evaluation

Stronger Securityβ€’ Linear PFE with malicious security

o Recently solved! [Mohassel-Sadeghian-Smart 2014]

β€’ Linear PFE with IT securityo Our linear solution relies on HE-based OEP

β€’ Hide circuit size without FHE?o Use FHE in a limited way?o Use somewhat FHE?

Page 35: Private Function Evaluation

PFE for Practiceβ€’ Linear PFE with good concrete efficiency

o OEP with linear symmetric-key Opso Can use free-XOR if you leak number of XOR gates

β€’ Can PFE help improve efficiency of SFE?o An Idea:

β€’ One party embeds his input in the circuitβ€’ Shrinks the circuit significantlyβ€’ Circuit structure leaks information β€’ Use PFE to hide the structure

β€’ PFE for RAM programs

Page 36: Private Function Evaluation

Thank you!