apache / apache/teaclave-sgx-sdk

Port Tungstenite Websocket Library to SGX

Open
#355 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.2k
Forks
268
PR merge metrics
No merged PRs in 30d

Description

In our organization ([Integritee](https://github.com/integritee-network)) the need arose for a secure web-socket server, run entierly inside the enclave. After some investigation, we found that [Tungstenite](https://github.com/snapview/tungstenite-rs) offers exactly that (based on [Rustls](https://github.com/rustls/rustls)) and has dependencies that are mostly already ported to SGX in [MesaLock-Linux](https://github.com/mesalock-linux).

So I forked and ported `Tungstenite` to SGX -> [here](https://github.com/integritee-network/tungstenite-rs-sgx) on branch `sgx-experimental`. You could probably use my work and do an 'official' MesaLock-Linux fork of Tungstenite?

### Remarks

#### Testing
My fork does not port the unit tests to SGX - the GitHub Actions fail

#### Dependencies
There are some dependencies that I had to port to SGX, they can be found here (always on branch `sgx-experimental`):
* https://github.com/integritee-network/rust-utf8-sgx
* https://github.com/integritee-network/httparse-sgx
* https://github.com/integritee-network/bytes-sgx

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the linked integritee-network/tungstenite-rs-sgx fork on its sgx-experimental branch and compare its port with the teaclave-sgx-sdk. Inspect the linked rust-utf8-sgx, httparse-sgx, and bytes-sgx dependency ports, then determine how the missing SGX unit tests and failing GitHub Actions should be handled. Done means an official SGX-compatible Tungstenite port with working tests and dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.