“mpc in the head”mp/crypto/mpc2017/... · –distribute server between clients ... (1,2)...

34
“MPC in the Head” Yuval Ishai Technion and UCLA

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

“MPCintheHead”

YuvalIshaiTechnion andUCLA

Page 2: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Backtothe1980s• Zero-knowledgeproofsforNP[GMR85,GMW86]

• ComputationalMPCwithnohonestmajority[Yao86,GMW87]

• UnconditionalMPCwithhonestmajority[BGW88,CCD88,RB89]

• UnconditionalMPCwithnohonestmajorityassumingidealOT[Kilian88]

• Aretheseunrelated?

Page 3: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Messageofthistalk

• Honest-majorityMPCisusefulevenwhenthereisnohonestmajority!

• Establishesunexpectedrelationsbetweenclassicalresults

• NewresultsforMPCwithnohonestmajority• Newapplicationdomainsforhonest-majoritytoolsandtechniques

Page 4: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Bernard

Researchinterests:- zero-knowledgeproofs- efficienttwo-partyprotocols

Researchinterests:- information-theoreticcryptography- honest-majorityMPC

somerelevance

norelevance?

Allison

Page 5: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Bernard

Researchinterests:- zero-knowledgeproofs- efficienttwo-partyprotocols

Researchinterests:- information-theoreticcryptography- honest-majorityMPC

Allison

WanttohearaboutmylatestandcoolestVSSprotocol?

whatadork…

Page 6: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Helpingmakethematch• AddtoAllison’sworldasimpleidealfunctionality– Idealcommitment oracleforZK(Com-hybrid model)– IdealOT oracleforgeneralprotocols(OT-hybrid model)

• Makesunconditional(andUC)securitypossible– AnalogoustosecurechannelsinBernard’sworld

• WhyshouldAllisonbehappy?– Generality:ComorOTcanberealizedinavarietyofmodels,underavarietyofassumptions

– Efficiency:ComorOTcanberealizedwithlittleoverhead• Essentiallyfreegivenpreprocessing[BG89]• Cheappreprocessing:fastOT[…,PVW08,…], fasterOTextension[Bea96,IKNP03…]

• Still:WhyshouldBernard’sresearchberelevant?

Page 7: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Helpingmakethematch• AddtoAllison’sworldasimpleidealfunctionality– Idealcommitment oracleforZK(Com-hybrid model)– IdealOT oracleforgeneralprotocols(OT-hybrid model)

• Makesunconditional(andUC)securitypossible– AnalogoustosecurechannelsinBernard’sworld

• WhyshouldAllisonbehappy?– Generality:ComorOTcanberealizedinavarietyofmodels,underavarietyofassumptions

– Efficiency:ComorOTcanberealizedwithlittleoverhead• Essentiallyfreegivenpreprocessing[BG89]• Cheappreprocessing:fastOT[…,PVW08,…], fasterOTextension[Bea96,IKNP03…]

• Still:WhyshouldBernard’sresearchberelevant?

Ahighlevelidea:

• RunMPC“inthehead”.• Committogeneratedviews.• Useconsistencychecks toensurehonestmajority.

Page 8: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Zero-knowledgeproofs

• Goal:ZKproofforanNP-relationR(x,w)– Completeness– Soundness– Zero-knowledge

• TowardsusingMPC:– definen-partyfunctionality

g(x;w1,...,wn)=R(x,w1Å...Å wn)– useany2-secure,perfectlycorrect protocolforg

• securityinsemi-honest(passiveadversary)model• honestmajoritywhenn³5

Page 9: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

MPCà ZK[IKOS07]

Prover Verifier

w=w1Å...Å wn

P1 P2

P3

P4P5

Pn

w1 w2

w3w4w5

wn

V1 V2

V3V4V5

Vn viewsp

commit to views V1,...,Vn

random i,j

open views Vi, Vj

w accept iff output=1 &

Vi,Vj are consistent

Given MPC protocol p for g(x; w1,...,wn) = R(x, w1Å...Å wn)

Page 10: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Analysis

• Completeness:Ö• Zero-knowledge: by 2-security of p and randomness of wi, wj. (Note: enough to use w1,w2,w3 )

Prover Verifiercommit to views V1,...,Vn

random i,j

open views Vi, Vj

accept iff output=1 &

Vi,Vj are consistent

w=w1Å...Å wn

Page 11: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Analysis

• Soundness: Suppose R(x, w)=0 for all w.è either (1) V1,...,Vn consistent with protocol p

or (2) V1,...,Vn not consistent with p

Prover Verifiercommit to views V1,...,Vn

random i,j

open views Vi, Vj

accept iff output=1 &

Vi,Vj are consistent

w=w1Å...Å wn

(2) Þ for some (i,j), Vi,Vj are inconsistent.Þ Verifier rejects with prob. ³ 1/n2.

(1) Þ outputs=0 (perfect correctness)Þ Verifier rejects

Infact,proofofknowledge

Page 12: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

AnalysisProver Verifier

commit to views V1,...,Vn

random i,j

open views Vi, Vj

accept iff output=1 &

Vi,Vj are consistent

w=w1Å...Å wn

Communication complexity: ≤ (comm. complexity + rand. complexity + input size) of p.

Page 13: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Extensions• Variant:Use1-secureMPC– Openoneviewandoneincidentchannel

• ExtendstoOT-basedMPC– Simpleconsistencycheckwhent≥2– Slightlymoreinvolvedwitht=1[HV16,IKPSY16]

• ExtendstoMPCwitherror• Variant:Directlyget2-k soundnesserrorviasecurityinmaliciousmodel(activeadversary)– Twoclients,n=O(k)servers– W(n)-securitywithabort– Broadcastis“free”

• RealizeCom usingaone-wayfunction

Page 14: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Applications

• SimpleZKproofsusing:– (1,3)semi-honestMPC[BGW88,CCD88]or[Mau02]– (2,3)oreven(1,2)semi-honestMPCOT [GMW87,GV87,GHY87]

• PracticalZKproofs(“ZKBoo” [GMO16])• ZKproofswithO(|R|)+poly(k)communication

– UsingefficientMPC+AGcodes[DI06,CC06]• ManygoodZKprotocolsimpliedbyMPCliterature

– ZKforlinearalgebra[CD01,…]

Page 15: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

General2-partyprotocols[IPS08]• Lifeiseasierwheneveryonefollowsinstructions…• GMWparadigm [GMW87]:

– semi-honest-securepàmalicious-securep’– useZKproofstoprove“stickingtoprotocol”

• Non-black-box:ZK proofsinp’ involvecode of p– Typicallyconsidered“impractical”– Notapplicableatallwhenp usesanoracle

• Functionalityoracle:OT-hybridmodel• Cryptoprimitiveoracle:black-boxPRG• Arithmeticoracle:black-boxfieldorring

• Is there a “black-box alternative” to GMW?

Page 16: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Adreamgoal

• Possibleforsomefixed f– e.g.,OT[IKLP06,Hai08]

• Impossibleforgeneralf– e.g.,ZKfunctionalities[IKOS07]

p’realizesfin

maliciousmodel

prealizesfin

semi-honestmodel

Page 17: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Idea• Combinetwotypesof“easy” protocols:– Outerprotocol:honest-majorityMPC

– Innerprotocol:semi-honest2-partyprotocol• possiblyinOT-hybridmodel

• Bothareconsiderablyeasierthanourgoal• Bothcanhaveinformation-theoreticsecurity

Page 18: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Outerprotocol

18

k Servers

Client Aholds input x

Client Bholds input y

Secureagainstmalicious adaptiveadversarycorruptingoneclientandt=ckservers,forsomeconstantc>0.

Securitywithabortsuffices.

Straight-linesimulation.

Example:“BGW-lite”

Page 19: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Innerprotocol

Secureagainstsemi-honestadversary

(Adaptivesecurityw/erasures)

Example:“GMW-lite”

Client Aholds input x

Client Bholds input yOT

Page 20: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Combiningthetwoprotocols

Playervirtualization

OTcallsbyinnerprotocolare“risky”

obliviouswatchlists

outerprotocolforf

panopticon

Page 21: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Acloserlookatserveremulation• Assumeserversaredeterministic

– Thisisalreadythecasefornaturalprotocols– Canbeensuredingeneralwithsmalloverhead

• Inouterprotocol,serveri– getsmessagesfromAandB– sendsmessagestoAandB– mayupdateasecretstate

• Capturedbyreactive2-partyfunctionalityFi– Inputs=incomingmessages– Outputs=outgoingmessages

• Usesemi-honestprotocolforFi– Distributeserverbetweenclients– “Local” computationsdonotneedtobedistributed.

Page 22: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Acloserlookatwatchlists• Innerprotocolcan’tpreventclientsfromcheatingbysending“badmessages”

• Watchlistmechanismensuresthatcheatingdoesnotoccurtoooften– Clientdoesn’tknowwhichinstancesofinnerprotocolarewatched

– Twocases:• Clientcheatsin£ tinstancesð cheatingistoleratedbyt-securityofouterprotocol

• Clientcheatsin>tinstancesð willbecaughtwithoverwhelmingprobability

• Non-interactiveformof“cut-and-choose”

Page 23: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Settingupthewatchlists• Eachclientpicksnlongone-timepadsRi• |Ri|=lengthofmessages+randomnessinexecutionofi-thinnerprotocol– ShortPRGseedsufficesforcomputationalsecurity

• EachclientusesOTtoselect~t/2oftheotherclient’spadsRi

• ImplementedviaRabin-OTforeachserver– Reducestoaconstantnumberof(1,2)string-OTsperserverforanyrationalprobabilityp

– Withoverwhelmingprobability,p±0.01 fractionofRiarereceived

Page 24: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Usingthewatchlists} ConsiderhereBwatchingA– AwatchesBsymmetrically• AusessequentialpartsofeachRi tomaskher(progressive)viewofthei-thinnerprotocol– IfBobtainedRi,hehasfullviewofi-thinnerprotocol– Candetect(andabort)assoonasAcheats–WhataboutidealOTcallsininnerprotocol?

• Cheatingcaughtw/prob½ifOTinputsarerandom• UseOTtorandom-OTreduction

Page 25: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Example• Considera“BGW-style” outerprotocol• Eachserverperformstwotypesofcomputations:– Sendaibi+zi toA,whereai isasecretreceivedfromAandbi,zi aresecretsreceivedfromB• O(|C|)suchcomputationsoverall• Canbeimplementedbysimpleinnerprotocols

– unconditionallyusingOT[GMW87,IPS09]– usinghomomorphicencryption(e.g.,Paillier)– usingcodingassumptionsandOT[NP99,IPS09]

– SendtoAapubliclinearcombinationofsecretssentbyB(andviceversa)• CanbeimplementedvialocalcomputationofB

• Givesefficientprotocolsforarithmeticcomputations

Page 26: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Simulation(roughidea)• SupposeAiscorruptedinfinalprotocol• Mainsimulatorrunsoutersimulatorto– extractinputofA– generateouterprotocolmessagesfromB– generatefullviewofinnerprotocolswatchedbyA(requirescorrupting~t/2servers)

– generateA’sinputsandoutputsinotherinnerprotocols(communicationofAwithservers)• feedtoinnersimulatortogenerateinnerprotocolview• validaslongasAdoesnotdeviatefrominnerprotocol

• Mainsimulatorcanobservedeviationfrominnerprotocol– WhenAcheatsoni-thinnerprotocol,outersimulatorcorruptsi-thserverandmainsimulatorabortsw/prob.p

Page 27: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Ageneralprotocolcompiler

§ Givena2-partyfunctionalityF§ Getanhonest-majority-secureouterprotocolΠforthefunctionalityF

(with2clientsandkservers)§ Getasemi-honest-secureinnerprotocolρOT fora

2-partyfunctionalityGΠ correspondingtotheservers’programinΠ

(GΠ isareactivefunctionalitydefinedblack-box w.r.tΠ)

§ Our(2-party)protocolΦOT,withblack-box accesstoΠandρ,isamalicious-secureprotocolforF.

m

m

m

m

Page 28: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

Applications• Revisitingtheclassics

– BGW-lite+GMW-liteè Kilian

• EfficientMPCwithnohonestmajority– O(1)bitspergateinOT-hybridmodel(+additiveterm)– Allcryptocanbepushedtopreprocessing

• Constant-round MPCOT (t<n)usingblack-box PRG– Extending2-party“cut-and-choose” Yao

• EfficientOTextensioninmaliciousmodel• Constant-rateb.b.reductionofOTtosemi-honestOT• Securearithmeticcomputationoverblack-boxfields/rings• Protocolsmakingblack-boxuseofhomomorphicencryption

Page 29: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

More“MPCintheHead”:OTcombinersandOTextractors

• OTcombiners[HKNRR05]– Givenn instancesofOT,ofwhicht arefaulty,producem goodOTs– Canbeobtainedviahonest-majorityMPC[HIKN08,IPS08]

• Outerprotocol:honest-majorityMPCformOTs• Innerprotocol:OT-based2-partyprotocolforemulatingMPCserver

– Usedforconstant-rateOTfromnoisychannels[HIKN08,IKOPSW11]

• OTextractors[IKOS09]– GeneralizeOTcombinersbyallowinggloballeakage– Constructionmakesanad-hocuseofsuitable“outerprotocol” and

“innerprotocol”– Yieldconstant-rateOTprotocolsfromimperfectnoisychannels,

constant-rateOTfrom(computational)“q-Hidingassumption”.

Page 30: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

OTExtractor

OTCombiner Randomnessextractor

Extractorforbit-fixingsources

Randomcodes

Arithmeticcodes

Page 31: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

More“MPCintheHead”:Non-InteractiveSecureComputation• Goal:Protectnon-interactiveOT-basedprotocolsagainstmalicioussender

• Challenge:allowReceivertodetectwhenSender’sOTinputsareinconsistentwithprotocol

OT OT OT OT OT

Sender

Receiver

Page 32: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

More“MPCintheHead”:Non-InteractiveSecureComputation• AnMPC-basedapproach[IKOPS11]

OT OT OT OT OT

Sender

Receiver

Inputclient

Servers

Outputclients

Protectagainst“correlatedabort”attacksbyencodingreceiver’sinput

[Kil98,LP07,IKOPS11]

Page 33: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

FurtherresearchI• Findotheruseful“black-box” connections• Formalizedviaoraclegame:

– Protocolmove:givenoracleg,get(arbitrary)protocoloraclepg

– Buildmove:givenoraclef,buildoracleg

– Goal:givenoraclef,obtainaprotocolpf ina“strong” modelusingonlyprotocolmovesin“weaker” model(s)

• Previousexamples– ZKfromMPC:

build– protocol– build– Newprotocolcompiler:

protocol– build– protocol- build

Page 34: “MPC in the Head”mp/crypto/mpc2017/... · –Distribute server between clients ... (1,2) string-OTs per server for any rational probability p –With overwhelming probability,

FurtherResearch

• Otheruseful“black-box” connections?– Formalizedvia“MPCtransformations” framework[IKPSY16]– Giveshopeforprovingnegativeresults

• Findleanerversionsofprotocolcompilers– Weakerouterprotocol?

• Minimizeconstantsinconstant-rateprotocols– Better“arithmeticcodes”?

• Optimizeforpracticalefficiency?– Manydegreesoffreedom!– Progressmadein[LOP11]