Multi-party computation: samen rekenen zonder geheimen te delen
Stel je voor: drie collega's willen weten wat hun gemiddelde salaris is, maar niemand wil zijn eigen salaris aan de anderen vertellen. Onmogelijk, zou je zeggen — om een gemiddelde te berekenen heb je toch de losse getallen nodig? Multi-party computation (afgekort MPC, ook wel secure multi-party computation of SMPC) is een stuk cryptografische technologie die dit probleem daadwerkelijk oplost. De drie collega's kunnen samen het gemiddelde uitrekenen zonder dat iemand ooit het salaris van een ander te zien krijgt, ook niet stiekem.
Dat klinkt als een goocheltruc, maar het berust op wiskunde die al decennia bestaat en die inmiddels ook buiten de universiteit wordt toegepast. MPC wordt gebruikt wanneer meerdere partijen — bedrijven, overheidsinstanties, ziekenhuizen — iets nuttigs willen berekenen met elkaars gegevens, maar elkaar niet vertrouwen genoeg om die gegevens gewoon te delen. Denk aan concurrerende banken die samen fraudepatronen willen opsporen, of overheidsdiensten die statistieken willen combineren zonder een centrale database met privacygevoelige informatie te creëren.
Wat is het precies?
De kern van MPC is dat een berekening wordt opgesplitst en verdeeld over meerdere deelnemers, zodat niemand alleen genoeg informatie heeft om iets zinnigs af te leiden, terwijl de deelnemers gezamenlijk wel het juiste eindresultaat produceren.
Een veelgebruikte techniek daarvoor heet secret sharing (geheimendeling), uitgevonden door cryptograaf Adi Shamir in 1979. Een getal, bijvoorbeeld een salaris, wordt daarbij wiskundig opgeknipt in meerdere stukjes ('shares') die er individueel als willekeurige ruis uitzien. Pas als je een minimumaantal van die stukjes weer bij elkaar legt, komt het oorspronkelijke getal tevoorschijn. Door met deze verspreide stukjes te rekenen — optellen, vermenigvuldigen — in plaats van met de originele getallen, kunnen de deelnemers een functie uitvoeren zonder ooit elkaars ruwe data te zien.
Een andere hoofdroute is de zogeheten garbled circuit, geïntroduceerd door informaticus Andrew Yao in 1982 met zijn beroemde 'millionaires' problem': twee miljonairs willen weten wie het rijkst is, zonder hun eigen vermogen prijs te geven. Yao liet zien dat je elke berekening kunt omzetten in een elektronisch schakelcircuit dat vervolgens wordt 'versleuteld' tot een soort ondoorzichtige puzzel die toch het juiste antwoord oplevert. In 1987 breidden Oded Goldreich, Silvio Micali en Avi Wigderson dit idee uit tot het zogeheten GMW-protocol, dat werkt voor willekeurig veel deelnemers en willekeurige berekeningen, niet alleen vergelijkingen tussen twee getallen.
Belangrijk is het onderscheid tussen twee dreigingsmodellen. Bij 'semi-honest' beveiliging wordt aangenomen dat deelnemers het protocol correct volgen maar wel proberen extra informatie af te leiden uit wat ze zien; bij 'malicious' beveiliging houdt het systeem ook rekening met deelnemers die actief proberen te frauderen of het protocol te saboteren. Dat laatste is veiliger maar rekenkundig een stuk duurder.
Wat wil men ermee bereiken?
Het achterliggende doel van MPC is simpel te omschrijven: samenwerken zonder vertrouwen nodig te hebben. In een wereld waarin data steeds gevoeliger en gereguleerder wordt — denk aan de Europese privacywetgeving AVG/GDPR — is het vaak juridisch of commercieel onwenselijk om ruwe data te delen, ook als delen op zich nuttig zou zijn.
MPC belooft dat organisaties toch de voordelen van gezamenlijke data-analyse kunnen krijgen: betere statistieken, fraudedetectie, medisch onderzoek over meerdere ziekenhuizen heen, benchmarking tussen concurrenten, zonder dat iemand een centrale, kwetsbare database met privacygevoelige of concurrentiegevoelige informatie hoeft aan te leggen. Zo'n centrale database is namelijk ook een aantrekkelijk doelwit voor hackers; MPC verkleint dat risico omdat er nooit één plek is waar alle geheime informatie samenkomt.
Een tweede, verwant toepassingsgebied is threshold cryptografie: in plaats van dat één sleutel toegang geeft tot bijvoorbeeld een cryptomunt-portemonnee of een digitale handtekening, wordt de sleutel met MPC-technieken verdeeld over meerdere apparaten of partijen. Zo kan niemand alleen de sleutel stelen of misbruiken, en is er geen enkel zwak punt dat volledig gecompromitteerd kan worden.
Voorbeelden uit de praktijk
De bekendste vroege praktijktoepassing is de Deense suikerbietenveiling uit 2008. Onderzoekers rond Ivan Damgård van Aarhus University bouwden een systeem waarmee honderden Deense boeren en verwerker Danisco via MPC een marktprijs voor suikerbietencontracten konden vaststellen, zonder dat individuele biedingen ooit aan de andere partij werden onthuld. Dit wordt vaak aangehaald als het eerste grootschalige, reële gebruik van secure multi-party computation buiten het laboratorium; het spin-offbedrijf dat hieruit voortkwam bestaat, onder de naam Partisia, nog altijd.
In 2017 gebruikte de Boston Women's Workforce Council, samen met onderzoekers van Boston University, MPC om de loonkloof tussen mannen en vrouwen in kaart te brengen bij meer dan honderd Bostonse bedrijven. Elk bedrijf voerde zijn eigen, vertrouwelijke looncijfers in; het systeem berekende alleen de geaggregeerde statistieken over de hele groep, zonder dat bedrijven elkaars of elkaars werknemers' salarissen te zien kregen.
Het Estse bedrijf Cybernetica ontwikkelde het MPC-platform Sharemind, dat de Estse overheid heeft ingezet om gegevens van de belastingdienst te koppelen aan onderwijsgegevens en zo te onderzoeken hoe werken tijdens een studie samenhangt met studie-uitval — zonder dat de twee overheidsdiensten elkaars volledige databestanden hoefden te delen.
In de private sector zette Google in 2019 de tool Private Join and Compute open source, waarmee twee partijen kunnen berekenen wat de overlap tussen twee klantenlijsten is (en statistieken daarover), zonder de lijsten zelf te delen; het wordt onder meer gebruikt om te meten hoe effectief online advertenties zijn zonder dat adverteerder en platform elkaars klantdata inzien.
In de financiële sector nam Coinbase in 2021 het bedrijf Unbound Security over, dat MPC gebruikt om cryptografische sleutels voor cryptowallets te verdelen over meerdere systemen, zodat geen enkele computer alleen de volledige sleutel bezit en dus ook niet in zijn geheel gestolen kan worden.
Hoe ver is de techniek?
De wiskundige basis van MPC staat al sinds de jaren tachtig vast en wordt als bewezen beschouwd; het is geen speculatieve technologie. Wat lange tijd ontbrak, was praktische snelheid. Vroege MPC-implementaties waren traag: berekeningen die in platte tekst een fractie van een seconde kosten, konden met MPC minuten of langer duren, vooral doordat deelnemers voortdurend berichten over een netwerk moeten uitwisselen.
De afgelopen tien à vijftien jaar is die prestatiekloof flink kleiner geworden, dankzij snellere protocollen, betere software-bibliotheken (zoals MP-SPDZ uit de academische wereld en CrypTen van Meta AI) en krachtigere hardware en netwerken. Toch blijft MPC over het algemeen aanzienlijk trager en complexer om te implementeren dan gewone berekeningen, en de kosten lopen sterk op naarmate er meer deelnemers of complexere functies bij betrokken zijn.
Standaardisatie is nog volop in beweging. Het Amerikaanse standaardisatie-instituut NIST organiseert sinds 2019 workshops over 'privacy-enhancing cryptography', waaronder MPC, als opstap naar bredere, geteste standaarden; die zijn er nog niet volledig. In de praktijk zie je MPC vooral in gespecialiseerde, goed afgebakende toepassingen — sleutelbeheer, specifieke statistische samenwerkingen — en nog niet als algemene, kant-en-klare technologie die elke organisatie zomaar kan inzetten. Expertise en zorgvuldige inrichting blijven vereist, en net als bij elke cryptografische technologie kan een fout in de implementatie de beloofde veiligheid ondermijnen ook al is de onderliggende wiskunde solide.
Wie werken eraan?
Het theoretische fundament komt grotendeels uit de academische cryptografie, met sleutelfiguren als Andrew Yao, en later Oded Goldreich, Silvio Micali en Avi Wigderson. Aarhus University in Denemarken, met onderzoekers als Ivan Damgård en Claudio Orlandi, geldt al decennia als een van de belangrijkste onderzoekscentra, mede dankzij de suikerbietenveiling. Ook Bar-Ilan University in Israël, met onderzoeker Yehuda Lindell, is toonaangevend; Lindell was mede-oprichter van het bedrijf Unbound Security.
Op bedrijfsniveau zijn er gespecialiseerde spelers als Partisia (Denemarken, voortgekomen uit de suikerbietenveiling), Cybernetica (Estland, maker van Sharemind), Inpher en Duality Technologies. Grote technologiebedrijven experimenteren en investeren eveneens: Meta AI ontwikkelde de bibliotheek CrypTen, Google bracht Private Join and Compute uit, en in de financiële sector zet Coinbase MPC in voor sleutelbeheer sinds de overname van Unbound Security.
Op beleidsniveau volgt het Amerikaanse NIST de ontwikkelingen via workshops over privacy-enhancing cryptography, en bundelt de industrieorganisatie MPC Alliance bedrijven en onderzoekers om adoptie en interoperabiliteit te bevorderen. Europese onderzoeksfinanciering, onder meer via projecten waar Aarhus University bij betrokken was, heeft eveneens bijgedragen aan de ontwikkeling van het veld.