Skip to content

Implementation of UC3 secure collaborative computation.

Notifications You must be signed in to change notification settings

glaciation-heu/sap-uc3

Repository files navigation

Secure Collaborative Computation

The Secure Collaborative Computation consists of components for computation on encrypted data via secure multi-party computation (MPC). For component details and MPC terminology refer to the component descriptions.

Project overview

  • Charts contains the HelmCharts used to deploy the secure collaborative computation service.

  • .github/workflows contains definition of GitHub workflows.

    • Testing workflow is triggered when a new version tag is pushed. It will execute the unit tests of the client_service, computation_service and cs_mock.
    • Docker deployment workflow is triggered if the testing workflow succeeds. This workflow will build the docker images used in the secure collaborative computation service and deploy them on the GitHub docker registry.
    • HelmChart deployment workflow ts triggered if the testing workflow succeeds. It will create a release for all HelmCharts used in the secure collaborative computation service and publish it to github-pages.
  • Client Service implementation of the client service.

  • Coordination Service implementation of the coordination service.

  • CS Mock A mock implementation of CarbyneStack used for testing. Due to the non-collusion assumption of MPC, the computation service is typically deployed in different computation environments (e.g., different cloud providers or regions). To simplify testing, a mock implementation is used to perform test operations.

Local test deployment with docker compose

A docker-compose.yaml file is provided for an easy way to test out the services.

First install docker and the docker compose plugin.

Run

docker compose up -d

to build and run the services. After startup the services can be tested using the interactive OpenAPI documentations of the Client Service, Coordination Service and the CS Mock.

Deployment with helm

Using the helm chart is straightforward.

First add the helm chart repository helm repo add scc-charts https://...

Install the combined helm chart using helm install secure-collab-service secure-collab-service

This will deploy a client service, the coordination service and a cs-mock instance for testing. If you would like to only deploy the client or coordination service use the client_service or cordination_service helm chart.

About

Implementation of UC3 secure collaborative computation.

Resources

Stars

Watchers

Forks

Packages