38
Private Function Evaluation Payman Mohassel University of Calgary Talks given at Bristol and Aarhus Universities Joint work with Saeed Sadeghian

Private Function Evaluation

  • Upload
    helmut

  • View
    36

  • Download
    2

Embed Size (px)

DESCRIPTION

Private Function Evaluation. Payman Mohassel University of Calgary Talks given at Bristol and Aarhus Universities. Joint work with Saeed Sadeghian. Secure Function Evaluation. Correctness: honest parties learn the correct output Privacy: Nothing but the final output is leaked . - PowerPoint PPT Presentation

Citation preview

Page 1: Private Function Evaluation

Private Function Evaluation

Payman Mohassel University of Calgary

Talks given at Bristol and Aarhus Universities

Joint work with Saeed Sadeghian

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

𝒇 (𝒙𝟏 ,…, 𝒙𝒏)

𝒇 (𝒙𝟏 ,…, 𝒙𝒏)

Page 4: Private Function Evaluation

Our Setup

𝒇 (𝒙𝟏 ,…, 𝒙𝒏)

• Function o Boolean circuitso Arithmetic circuits

• Settings we considero Two-partyo Multiparty

• Dishonest majority• Semi-honest

adversaries

Page 5: Private Function Evaluation

Motivation• Why Hide the Function?

o Private functions• Proprietary, intellectual property

o Sensitive functions• Revealing vulnerabilities

o Output of SFE leaks information• Hiding the function potentially helps• Prevents dictionary attacks on input

• Interactive program obfuscationo If interaction is possible PFE yields efficient program

obfuscation

Page 6: 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 7: Private Function Evaluation

Universal CircuitsC Universal Circuit

x

C(x)

Page 8: Private Function Evaluation

Universal Circuits• Boolean

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

• 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 case

Page 9: Private Function Evaluation

PFE Constructions• Two-party setting

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

o [KM’ 11]: 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 10: Private Function Evaluation

Efficiency Questions• Asymptotic Efficiency

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

• Practical Efficiencyo Constant factors are importanto Symmetric ops superior to public-key opso …o Can we improve practical efficiency of universal

circuit approach?

Page 11: Private Function Evaluation

Our Framework

Page 12: Private Function Evaluation

Hiding the Circuit• What is leaked

o Number of gateso Input sizeo Output size

• What is privateo Functionality of gateso Topology of the circuit

One can hide circuit size using an FHE-based construction

Page 13: 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 14: Private Function Evaluation

Circuit Topology• Topology captured using a mapping 𝑖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 15: 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 16: 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

Page 17: Private Function Evaluation

Instantiating PGE

Page 18: 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 19: 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 20: Private Function Evaluation

PGE for Garbled Circuit

• We kind of cheat!o We assume all gates are NAND gates

• Sharing associated with Yaoo To share a value o holds ( o holds

• sends a garbled table to • decrypts one row of the table

Page 21: Private Function Evaluation

Instantiating CTH

Page 22: Private Function Evaluation

Oblivious Mapping• Assume inputs are ready Oblivious mapping

𝝅𝑪

𝑃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

Oblivious Mapping• Using any MPC

o inefficiento Not clear it has the on-demand propertyo [HEK’12] implements Waksman using Yao’s protocol

• Using singly HE o Linear complexityo Requires public-key operations

• 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

Switching Networks• Our mapping is not a permutation

• Need one more switch type

𝑎𝑏

1

𝑎𝑏

0𝑎𝑏

𝑎𝑏 𝑎

𝑏

1

𝑎𝑏

0𝑎𝑏

𝑎𝑎

Page 27: Private Function Evaluation

Mapping from SN

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

𝑟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

Oblivious Switch 2

𝑟1𝑟2

𝑟3𝑟 4

𝑃1

𝑎 ,𝑏𝑃2

𝑠

¿ 𝑠1-out-of-2 OT

𝑎⊕𝑟1 ,𝑏⊕𝑟 2𝑠=0→ (𝑎⊕𝑟1)⊕ (𝑟1⊕𝑟 3 )=𝒂⊕𝒓 𝟑

(𝑏⊕𝑟 2)⊕ (𝑟 2⊕𝑟 4 )=𝒃⊕𝒓 𝟒

𝑠=1→ (𝑎⊕𝑟 1)⊕ (𝑟1⊕𝑟3 )=𝒂⊕𝒓𝟑

(𝑎⊕𝑟1)⊕ (𝑟1⊕𝑟 4 )=𝒂⊕𝒓𝟒

Page 30: Private Function Evaluation

Oblivious SN Evaluation

𝑟1𝑟2

𝑟3𝑟 4 𝑟3

𝑟 4𝑟5𝑟6

0

1

𝑟6𝑟5

𝑟7𝑟8

1

𝑎⊕𝑟1 𝑎⊕𝑟3

𝑎⊕𝑟6

𝑎⊕𝑟7

MAP

Reveal

𝑎⊕𝑟 7⊕𝑡7𝑎⊕ 𝑡7

Page 31: Private Function Evaluation

Oblivious SN Evaluation

• One OT per switcho O(mlog m) OTs total

• On-demando All OTs done offlineo Only Xoring online

• Practical when using OT extension

• Constant round

Page 32: Private Function Evaluation

Oblivious Mapping CTH Functionality

• GMW or Arithmetic Circuitso Inputs to mapping are ADDITIVE- or XOR-sharedo (MAP) Each party runs an oblivious mapping with

• uses his vector of shares as input• uses his mapping and blinding vector

o (Reveal) Each party obtains his blinded “mapped” vector of shares

o maps his own vector of shares and XOR/SUBTRACTs s to adjust values.

• Yao’s Protocolo Slightly more involved due to “weird sharing”

mechanism

Page 33: Private Function Evaluation

Summary of Results• First Multiparty PFE with linear complexity

o GMW + HE-Based oblivious mapping

• First Arithmetic PFE with linear complexityo [CDN 01] + HE-based oblivious mapping

• More efficient two-party PFE with linear complexityo Yao + HE-based oblivious mappingo Subsumes and improves construction of [KM’11]

• More practical PFEo Yao/GMW + OT-based oblivious mapping + OT extension

Page 34: Private Function Evaluation

Future Work

Page 35: Private Function Evaluation

Other Security Notions

• Security against stronger adversarieso Covert, maliciouso Can we still achieve linear complexity?

• PFE in the information theoretic settingo Our OT-based solution seems generalizable to IT settingo But linear PFE is open

• Can we hide circuit size without using FHE?o or use FHE in a limited way, or use somewhat FHE?

Page 36: Private Function Evaluation

Round Complexity of PFE

• Can we do PFE non-interactively?o Our Yao-based protocol requires at least 3 messageso SFE can be done in two messages

• Can we achieve constant round multiparty PFE with linear complexity?o We only know it for two-party case

• Can we achieve constant round arithmetic PFE?o Without switching to a Boolean circuit

Page 37: Private Function Evaluation

PFE for Practice• PFE with good concrete + asymptotic

efficiencyo E.g. designing OT-based oblivious mapping with linear

complexity• Can PFE help improve efficiency of SFE?

o Idea: • One party embeds his input in the circuit• Shrinks the circuit significantly• Circuit structure leaks information • We use PFE to hide the structure

• PFE for RAM programs

Page 38: Private Function Evaluation

Thank you!