Wat is MPC en hoe helpt het vertrouwelijke data te beschermen?
Introductie
Op 18 november schreven wij een post over de Wet Gegevensverwerking Samenwerkingsverbanden. We beschreven hoe Multi Party Computation (MPC) het mogelijk maakt om gericht inzichten te creëren uit verschillende databronnen, zonder data te delen. Veel mensen vroegen ons echter om de techniek verder toe te lichten.
Hoe werkt Multi-Party Computation nu echt?
Secure Multi-Party Computation (MPC) is een technologie uit de cryptografie waarmee meerdere partijen berekeningen kunnen uitvoeren op een gecombineerde dataset. MPC borgt dat de data van elke partij privé blijven voor de andere partijen.
Maar hoe werkt MPC nu echt? MPC dankt zijn sterke privacy waarborgen aan het feit dat een berekening verdeeld wordt over meerdere computers. Voordat partijen een berekening in MPC uitvoeren, versleutelt elke partij zijn gegevens en verdeelt deze versleutelde data (zogenaamde ‘secret shares’) over verschillende computers. Geen van deze computers heeft voldoende informatie om de originele gegevens te reconstrueren maar gezamenlijk kunnen ze wel een berekening uitvoeren met deze secret shares.
Voorbeeld use-case op basis van stemmen
Laten we een eenvoudig voorbeeld nemen met twee MPC-computers, A en B: We willen de stemmen van 100 kiezers bij elkaar optellen zonder te kunnen zien wie wat gestemd heeft. Kiezers kunnen 1 of 0 stemmen. Stel een kiezer stemt 1. Deze 1 wordt door de kiezer opgedeeld in twee random getallen, de secret shares, die opgeteld 1 zijn, bijvoorbeeld stel 8 en -7. De 8 wordt naar de MPC-computer A gestuurd en de -7 naar de MPC-computer B. De getallen die de MPC-computers nu hebben onthullen niets over de stem. Als we hetzelfde doen met 100 stemmen dan hebben de MPC-computers beiden een random set van 100 getallen. Beide MPC-computers tellen deze getallen op en nog steeds is het resultaat een random getal. Pas als we de twee random getallen van de twee MPC-computers combineren weten we hoeveel van de 100 mensen 1 gestemd hebben. We zien dus alleen het eindresultaat maar beide MPC-computers weten niet wat de input geweest is. Alleen de kiezers weten wat ze gestemd hebben, niemand anders.
Dit is een sterk vereenvoudigd voorbeeld, en we slaan bewust belangrijke details over (veilig stemmen is een complex onderwerp), maar de essentie is: data worden opgedeeld in random delen die niets onthullen maar waarmee we wel kunnen rekenen. De techniek MPC bestaat al sinds de jaren ’80. Sinds enkele jaren kunnen we MPC toepassen op steeds grotere datavolumes. En niet alleen optellen, maar ook willekeurige analyses zoals regressie, of machine learning. Nederland loopt hierin academisch voorop met organisaties als Centrum Wiskunde & Informatica, Eindhoven University of Technology en TNO die veel bijdragen aan onderzoek en doorontwikkeling van deze technologie.
Tot slot
Werkt u met gevoelige data? Maakt u zich zorgen over data veiligheid en privacy? Wilt u samenwerken met anderen zonder gegevens te delen? Neem contact met Roseman Labs op.
Contact us