Ik wil beter begrijpen hoe het product werkt

Dit artikel geeft de achtergrondinformatie die nodig is om het product te gebruiken, inclusief informatie over de modules waaruit de software bestaat en hoe die tot elkaar verhouden. Voor elke module wordt toegelicht hoe die gebruikt kan worden.

Softwaremodules

De omgeving bestaat uit drie verschillende modules: de engine op de achtergrond, dat verantwoordelijk is voor de daadwerkelijke versleuteling en verwerking van de data, en twee gebruikersomgevingen die daarmee in contact staan. Hieronder worden ze alle drie in detail beschreven.

Figuur 1: Roseman Labs softwaremodules

MPC servers

Een berekening onder Multi-Party-Computation (MPC) is afhankelijk van een aantal MPC servers. Om een analyse onder MPC te kunnen voltooien, zullen gebruikers dan ook eerst hun data moeten versleutelen/"secret-sharen" en verdelen over die verschillende servers. De servers gaan tevens na of de goedkeuringen voor scripts correct zijn, en voeren dat script vervolgens uit op de data die ze opgeslagen hebben. 

De MPC servers kunnen door Roseman Labs worden beheerd, of ze worden ondergebracht bij een gebruiker. In het eerste geval is toegang tot de servers strikt gescheiden binnen de organisatie en wordt elke server bij een andere clouddienst geplaatst. Dit waarborgt de veiligheid van de versleutelde data.

Platform

Het online interface draait in de browser. Het kan gebruikt worden om rollen en de bijbehorende gebruikersrechten toe te wijzen aan personen die bij de analyse betrokken zijn. Ook kunnen via het platform databronnen worden geupload, en kunnen analyses worden aangevraagd en goedgekeurd danwel afgekeurd. Voor een exacte toelichting van alle rollen in het platform verwijzen we naar deze pagina.

    Voor meer informatie over het platform en hoe het gebruikt kan worden, verwijzen we je graag naar de documentatie.

    Crandas

    Om een analysescript te schrijven en data of instructies uit te wisselen met de MPC servers, heeft Roseman Labs een Python package ontwikkeld genaamd crandas. crandas gebruikt grofweg dezelfde syntax als het populaire pandas, maar het daadwerkelijk uitvoeren van de operaties wordt uitbesteed aan de MPC servers zodat ze versleuteld worden uitgevoerd.

    Voor uitgebreidere informatie over crandas en hoe het te installeren en gebruiken, verwijzen we naar de crandas-documentatie.

    Figuur 2: datastroom

    Als je dit artikel nuttig vond, laat het ons dan hieronder weten!