Skip to content

scaleoutsystems/tee-iot

Repository files navigation

CASA IoT in Trusted Execution Environment

In this PoC we mock a use case in which reducer and combiner run on an enclave in a cloud environment, while a classic human activity recognition training task (CASA) is run on an IoT board. This PoC is intended to be used with Intel SGX and it was tested using Azure Confidential Computing.

Table of Contents

Running the PoC

Get data and setup the environment

First, download the data by running:

bin/get_data.sh

Then, init the Python virtual environment by running:

bin/init_venv.sh

Note this command was tested with Python 3.8

Now you can generate the seed model by running:

client/entrypoint init_seed

The next step is to build the compute package:

bin/build_package.sh

Deploy the PoC

sudo docker-compose up -d

Note you may need to login into Scaleout's GitHub registry to access ghcr.io/scaleoutsystems/tee-gc/fedn:latest

Running the PoC

The reducer UI is now available on https://localhost:8090. The quickest way to upload package.tar.gz and seed.npz is via REST API.

# Upload package
curl -k -X POST \
    -F [email protected] \
    -F helper="keras" \
    https://localhost:8090/context

# Upload seed
curl -k -X POST \
    -F [email protected] \
    https://localhost:8090/models

Now navigate to https://localhost:8090 and start the experiment using the UI.

Clean up

You can release resources by running the following: sudo docker-compose down.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published