GARBLED CIRCUITS CHECKING GARBLED CIRCUITS MORE EFFICIENT AND SECURE TWO-PARTY COMPUTATION Payman...

Preview:

Citation preview

GARBLED CIRCUITS CHECKING GARBLED CIRCUITS MORE EFFICIENT AND SECURE TWO-PARTY COMPUTATION

Payman Mohassel Ben Riva University of Calgary Tel Aviv University

Secure Two-Party Computation

๐‘ƒ1 ๐‘ƒ2

๐’™ ๐’š

๐‘“ 1(๐‘ฅ , ๐‘ฆ ) ๐‘“ 2(๐‘ฅ , ๐‘ฆ)

Privacy: Only learn the outputCorrectness: Learn the intended function

Contributionsโ€ข 2PC with low overheadโ€ข Inputโ€“consistency checkโ€ข Two-output functions

โ€ข New Definitionโ€ข Strengthen covert adversariesโ€ข Better efficiency/security trade-off for practiceโ€ข Protocols meeting the definition

4

Garbled Circuit

๐บ๐ถseed

๐บ๐ผ ๐‘ฅ๐’š

๐บ๐ผ ๐‘ฆ

๐บ๐ถ๐บ ๐ผ ๐‘ฆ

๐บ ๐ผ ๐‘ฅEval( ) ๐บ๐‘‚๐บ๐‘‚

๐ถ (๐‘ฅ , ๐‘ฆ )= ๐‘“ (๐‘ฅ , ๐‘ฆ )

๐’™ ๐‘‡๐‘‡

๐‘‡๐‘‡๐’‡ (๐’™ ,๐’š )

5

Useful Propertiesโ€ข Privacy: Knowing , , and does no leak any info

โ€ข Output Authenticity: P2 cannot compute another valid output

๐บ๐ถ๐บ ๐ผ ๐‘ฆ

๐บ ๐ผ ๐‘ฅ

๐บ๐‘‚ โ€˜

๐บ๐ถ๐บ ๐ผ ๐‘ฆ

๐บ ๐ผ ๐‘ฅ ๐‘‡๐‘‡ ๐’‡ (๐’™ ,๐’š )

๐บ๐ถ๐บ ๐ผ ๐‘ฆ

๐บ ๐ผ ๐‘ฅ

๐บ๐ถ1

Malicious 2PC Cut-and-Choose

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ5 ๐บ๐ถ5

Open Evaluate

๐บ๐ถ3

๐บ๐ถ6

๐บ๐ถ3

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ6

๐‘ง 2

๐‘ง 4

๐‘ง 6

Majority

๐‘ง= ๐‘“ (๐‘ฅ , ๐‘ฆ)โ‹ฎ

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ฅโ‘

๐‘งโ‘

Are all inputs the same?

Is the output correct?

Question

Question

๐‘ƒ1

๐’™

๐บ๐ถ1

1) Is the output correct?

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ5 ๐บ๐ถ5

Open Evaluate

๐บ๐ถ3

๐บ๐ถ6

๐บ๐ถ3

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ6

๐‘ง 2

๐‘ง 4

๐‘ง 6

Majority

โ‹ฎ

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ง ,๐‘ฎ๐‘ถ๐Ÿ ,๐‘ฎ๐‘ถ๐Ÿ’ ,๐‘ฎ๐‘ถ๐Ÿ”

๐บ๐‘‚2

๐บ๐‘‚4

๐บ๐‘‚6

๐‘ง= ๐‘“ (๐‘ฅ , ๐‘ฆ)

But this leaks info to

Send GOs as proof

๐‘ƒ1

๐’™

๐บ๐ถ1

2) Is the output correct?

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ5 ๐บ๐ถ5

Open Evaluate

๐บ๐ถ3

๐บ๐ถ6

๐บ๐ถ3

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ6

๐‘ง 2

๐‘ง 4

๐‘ง 6

Majority

โ‹ฎ

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ฅโ‘

z

๐บ๐‘‚โ‘

๐บ๐‘‚โ‘

๐บ๐‘‚โ‘

๐‘ง= ๐‘“ (๐‘ฅ , ๐‘ฆ ) ,๐‘ฎ๐‘ถ

Use same output labels in all circuits

But learns labels in open phase& can forge output

๐บ๐ถ1

3) Is the output correct?

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ5 ๐บ๐ถ5

OpenEvaluate

๐บ๐ถ3

๐บ๐ถ6

๐บ๐ถ3

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ6

๐‘ง 2

๐‘ง 4

๐‘ง 6

Majority

โ‹ฎ

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ฅโ‘

๐‘๐‘œ๐‘š (๐‘ง ) ,๐‘๐‘œ๐‘šยฟ

๐บ๐‘‚โ‘

๐บ๐‘‚โ‘

๐บ๐‘‚โ‘

z ,๐‘ฎ ๐‘ถโ‘

Extensionsโ€ข Extend to two-output functionsโ€ข XOR โ€™s output with a random value provided by himโ€ข Then apply the above solution

โ€ข Make solution โ€œstreaming-friendlyโ€โ€ข Hard to garble/evaluate circuits โ€œon-the-flyโ€โ€ข Need to store circuits until they are openedโ€ข See paper for a streaming-friendly versionโ€ข Similar ideas and efficiency

Covert 2PC

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ 4

๐บ๐ถ5

๐บ๐ถ3

๐บ๐ถ6

โ‹ฎ

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ฅโ‘

๐‘ง= ๐‘“ (๐‘ฅ , ๐‘ฆ)

o Costs to get caught o Pays to cheat and wino is probability of not getting caughto Cost > Pay

o maybe sufficient

What about cost/pay for honest party?Question

cost/pay for malicious party

All-or-Nothing Securityโ€ข What about the honest party?โ€ข with probability โ€ข His input is leaked!โ€ข He learns an incorrect output!

o Pays to learn correct outputo Costs to be cheated ono Pay > Cost

o If is large enougho Honest parties may not participate

A Stronger Definition

โ€ข Increase the pay-off (of learning correct output)โ€ขOrthogonal to MPC

โ€ขReduce the cost of being cheated on!โ€ขBy strengthening the security definition

CovIDA Security

โ€ข Guarantee correctnessโ€ข Honest parties cannot be tricked into learning bad output

โ€ข Only leak limited information in case of cheatingโ€ข With probability nothing is leakedโ€ข With probability only one bit is leaked

๐‘‡๐‘‡

Dual-Ex 2PC

๐‘ƒ1

๐’™๐‘ƒ2

๐’š

๐บ๐ถ๐บ ๐ผ ๐‘ฅ๐บ ๐ผ ๐‘ฆ

๐‘‡๐‘‡ ๐บ๐ถ ๐บ ๐ผ ๐‘ฅ โ€ฒ

๐บ ๐ผ ๐‘ฆ โ€ฒ

๐‘ง ,๐บ๐‘‚ ๐‘ง

๐‘ง โ€ฒ ,๐บ๐‘‚๐‘ง โ€ฒ

๐’›=? ๐’› โ€ฒYes/no

Yes/no Use for authentication

o Correctness prob. = 1-neg(k)o Leakage prob. = 1

o Bad circuito Different inputs

Dual-Ex + Covert 2PC

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ3

๐บ๐ถ 4

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ3

๐บ๐ถ 4

๐’›=? ๐’› โ€ฒYes/no

Yes/no

o Correctness prob. = 1-neg(k)o Leakage prob. = 1

o Bad circuito Different inputs

Dual-Ex + Covert 2PC

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ3

๐บ๐ถ 4

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ3

๐บ๐ถ 4

o Correctness prob. = 1o Leakage prob. =

o Bad circuito Different inputs

๐‘ฅ1๐‘Ÿ1๐‘ฅ2๐‘Ÿ2

๐‘ฅ3๐‘Ÿ3

๐‘ฅ4๐‘Ÿ 4

๐‘ฅ โ€ฒ 1๐‘Ÿ โ€ฒ 1๐‘ฅ โ€ฒ 2๐‘Ÿ โ€ฒ 2๐‘ฅ โ€ฒ 3๐‘Ÿ โ€ฒ 3๐‘ฅ โ€ฒ 4๐‘Ÿ โ€ฒ 4

๐‘Ÿ1๐‘Ÿ โ€ฒ 1ยฟ?

๐‘Ÿ2๐‘Ÿ โ€ฒ 2ยฟ?

๐‘Ÿ 4๐‘Ÿ โ€ฒ 4ยฟ?

๐‘ฅ3โŠ•๐‘Ÿ 3๐‘ฅ3โ€ฒ โŠ•๐‘Ÿ โ€ฒ 3ยฟ?

It is possible make probability using a few tricks

๐‘ƒ1

๐’™๐‘ƒ2

๐’š

Are inputs the Same? Malicious 2PC

๐บ๐ถ1

๐บ๐ถ2

๐บ๐ถ3

๐บ๐ถ 4

๐‘ฅ1๐‘Ÿ1๐‘ฅ2๐‘Ÿ2

๐‘ฅ3๐‘Ÿ3

๐‘ฅ4๐‘Ÿ 4

๐‘ฅโ‘๐‘Ÿ โ€ฒ 1๐‘ฅโ‘๐‘Ÿ โ€ฒ 2๐‘ฅโ‘๐‘Ÿ โ€ฒ 3๐‘ฅโ‘๐‘Ÿ โ€ฒ 4

๐‘Ÿ1๐‘Ÿ โ€ฒ 1ยฟ?

๐‘ฅ2โŠ•๐‘Ÿ2๐‘ฅโŠ•๐‘Ÿ โ€ฒ 2ยฟ?

๐‘Ÿ 4๐‘Ÿ โ€ฒ 4ยฟ?

๐‘ฅ3โŠ•๐‘Ÿ 3๐‘ฅโŠ•๐‘Ÿ โ€ฒ 3ยฟ?

โŠ•

โŠ•

โŠ•

โŠ•

Use same OT for x

๐‘ƒ1

๐’™๐‘ƒ2

๐’š

Linear in s symmetric-keyOps for input-consistency (using OT extension)

QUESTIONS?

Recommended