Veelgestelde vragen (algemeen)

Hieronder staan de meest veelgestelde vragen over Roseman Labs, MPC en cryptografie

Deze pagina geeft een overzicht van typische vragen die onze gebruikers hebben over MPC en Roseman Labs. Bij andere vragen kun je contact opnemen met support@rosemanlabs.com. Hieronder staan antwoorden op de volgende vragen:

  1. Wat is MPC?
  2. Wat biedt Roseman Labs?
  3. Wat voor berekeningen kunnen er gedaan worden op data in Roseman Labs?
  4. Hoeveel partijen moeten/kunnen betrokken zijn in een project?
  5. Waar wordt de data opgeslagen?
  6. Hoe kan de data geheim blijven voor verschillende partijen?
  7. Zijn er geheime sleutels nodig, en wie beheert die?
  8. Wie beheert de data?
  9. Hoe kan de datakwaliteit worden gewaarborgd, als de data niet inzichtelijk is?
  10. Hoe veilig is Roseman Labs?

 


Wat is MPC?

Multi Party Computation is een privacytechnologie die het mogelijk maakt om met verschillende partijen gezamenlijk inzicht te krijgen in data die verdeeld is over meerdere bronnen, zonder die data te hoeven delen. Gemiddeldes, vergelijkingen en ingewikkelder berekeningen kunnen op die manier worden worden uitgevoerd over verschillende databases, terwijl de daadwerkelijke getallen versleuteld blijven. Het type berekeningen/queries dat kan worden uitgevoerd op de data is beperkt tot degene waarvoor vooraf toestemming is gegeven. De uitkomsten worden alleen gedeeld met de partijen die toestemming hebben. 

MPC is gebaseerd op wiskundige protocollen die al bestaan sinds de jaren 70. In de afgelopen 40 jaar zijn nieuwe protocollen ontwikkeld voor complexere berekeningen. In de afgelopen jaren maken verhoogde capaciteit van computers en nieuwe wiskundige ontwikkelingen het mogelijk om MPC te gebruiken voor commerciële doeleinden.

De basis van MPC is dat de data aan de bron wordt versleuteld en verdeeld in zogenoemde "secret shares". Secret shares kunnen niets onthullen over de daadwerkelijke brondata, je kunt ze vergelijken met stukjes van een puzzel. De verschillende secret shares worden verdeeld over drie of meer verschillende servers, die gezamenlijk de "engine" vormen. Die servers kunnen gezamenlijk berekeningen uitvoeren op de secret shares. Als de berekeningen zijn afgerond, ontsleutelt de engine alleen de eindresultaten aan de partij waarvan is vastgelegd dat die het recht heeft om die resultaten in te zien.

Wat biedt Roseman Labs?

Roseman Labs biedt software die MPC in de praktijk brengt. Het overkomt twee belangrijke obstakeld die toepassing van MPC vaak in de weg staan: MPC-expertise en computercapaciteit.

MPC-expertise ligt op dit moment vooral bij een kleine groep gespecialiseerde cryptografen. Weinig organisaties hebben die expertise. Het ontwikkelen en onderhouden van MPC-software vraagt voortdurende toewijding van deze crypto-experts. Roseman Labs biedt niet alleen de MPC-technologie, maar ook een interface waar data scientists mee kunnen werken. De pythonscripts die ze schrijven worden vertaald naar de MPC-engine, en daarin uitgevoerd. Er is dan ook geen MPC-kennis nodig om de technologie met onze software in de praktijk te brengen.

Net zoals bij elke cryptografische- of versleutelingstechnologie vereist MPC meer geheugen en rekenkracht dan wanneer de berekeningen op een reguliere manier worden uitgevoerd. Tevens vereist MPC voldoende bandbreedte en snelle communicatie tussen de verschillende servers binnen de engine, zodat de tijd waarin een analyse kan worden uitgevoerd werkbaar blijft. De software is op zo'n manier geconfigureerd dat de beschikbare rekenkracht van de servers maximaal wordt gebruikt, terwijl de communicatie tussen de onderlinge servers minimaal blijft.

Wat voor berekeningen kunnen er gedaan worden op data in Roseman Labs?

Alle gebruikelijke typen berekeningen kunnen worden gedaan in Roseman Labs, waaronder ingewikkelder berekeningen/analyses zoals regressies. Elk type berekeningen moet wel in de engine geïmplementeerd worden om in MPC te kunnen draaien. Geavanceerde modellen zoals diepe neural nets zijn op dit moment nog niet mogelijk in Roseman Labs, maar dit is een actief onderzoeksgebied waarin snelle vorderingen gemaakt worden.

Hoeveel partijen moeten/kunnen betrokken zijn in een project?

Het aantal servers dat nodig is in een samenwerking is onafhankelijk van het aantal partijen dat in de analyse betrokken is. Als er bijvoorbeeld twee samenwerkende partijen zijn, zullen die samen alsnog 3 of meer servers nodig hebben. Die servers kunnen overal gehost worden, zolang de toegang tot die servers strikt gescheiden blijft. In onze software-as-a-service oplossing verzorgt Roseman Labs alle MPC-servers, en waarborgt een strikte scheiding van toegang tot elk van die servers.

Waar wordt de data opgeslagen?

De gevoelige brondata wordt bij upload alleen in de vorm van secret-shares verdeeld opgeslagen over drie verschillende servers. De secret-shares zijn sterke versleutelingen van de input data. Individuele secret-shares onthullen geen informatie. Alleen als iemand toegang zou hebben tot de meerderheid of tot alle secret-shares (afhankelijk van de implementatie) zou die partij de brondata kunnen reconstrueren.

Hoe kan de data geheim blijven voor verschillende partijen?

De individuele secret-shares onthullen op zichzelf geen informatie. Omdat de secret-shares zijn verdeeld over ten minste drie verschillende servers, heeft geen van de partijen die een server beheert toegang tot de brondata. Afhankelijk van het protocol dat wordt gebruikt, zouden verschillende serverbeheerders actief moeten samenwerken om de secret-shares te gebruiken om de brondata te reconstrueren.

Zijn er geheime sleutels nodig, en wie beheert die?

Ja, er worden sleutels gebruikt tijdens script signing, en tijdens versleutelingen zoals AES. Voor meer informatie, zie ook deze pagina.

Wie beheert de data?

De eigenaar van de data behoudt een volledige controle over wat er met die data gebeurt. Bij elke analyse die er op de data wordt uitgevoerd, dient die partij de stappen in die analyse goed te keuren. Als die partij niet langer wenst samen te werken, kan die zijn data eenvoudig verwijderen of verdere analyses niet meer goedkeuren.

Hoe kan de datakwaliteit worden gewaarborgd, als de data niet inzichtelijk is?

Er zijn verschillende manieren om datakwaliteit te waarborgen:

  • Voor versleuteling en secret-sharing, kan de data worden getest op verschillende niveaus. Dit kan de dataverstrekker zelf doen binnen zijn eigen systemen, zonder dat Roseman Labs er toegang toe heeft.
  • Een Roseman Labs gebruiker kan, met toestemming van de dataverstrekker, een representatieve sample bevragen van de brondata. Hierdoor kan hij inzicht krijgen in statistische eigenschappen, terwijl gevoelige aspecten (kolomwaarden) worden weggelaten.

Hoe veilig is Roseman Labs?

Zolang de toegang tot de MPC-servers strikt gescheiden blijft, kan wiskundig worden bewezen dat er geen data kan worden onthuld. Afhankelijk van het protocol dat gekozen wordt, zou een meerderheid van de betrokken partijen moeten samenwerken om de brondata te onhullen.