Skip to content
Apache Teaclave (incubating) is an open source universal secure computing platform
Rust C++ C Python CMake Shell Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Initial commit Jul 8, 2019
cmake Generate *_enclave.so instead of *.enclave.so for the convenience of (#… Dec 21, 2019
docker [docker] Fix docker building issue (#185) Dec 19, 2019
docs Generate *_enclave.so instead of *.enclave.so for the convenience of (#… Dec 21, 2019
examples Rewrite quickstart example command line interface (#186) Dec 20, 2019
keys [keys] Cleanup keys/certs and update README.md (#191) Dec 24, 2019
licenses [storage] Introduce rusty_leveldb_sgx as persistence storage (#148) Dec 13, 2019
mesatee_core [attestation] Refactor remote attestation code (#198) Dec 30, 2019
mesatee_sdk Polish measurement and signature verification (#163) Dec 15, 2019
mesatee_services [core] Add SgxTrustedServer in RPC (#194) Dec 26, 2019
teaclave_attestation [attestation] Refactor remote attestation code (#198) Dec 30, 2019
teaclave_binder Generate *_enclave.so instead of *.enclave.so for the convenience of (#… Dec 21, 2019
teaclave_cli [cli] Remove unneccessary dependency (#170) Dec 16, 2019
teaclave_common [attestation] Refactor remote attestation code (#198) Dec 30, 2019
teaclave_config [core] Optimize RPC tls config (#190) Dec 24, 2019
teaclave_utils [attestation] Refactor remote attestation code (#198) Dec 30, 2019
tests Generate *_enclave.so instead of *.enclave.so for the convenience of (#… Dec 21, 2019
third_party [third-party] Update SGX SDK to resolve DCAP issue (#200) Jan 2, 2020
.asf.yaml Add .asf.yaml to setup description of github repo (#188) Dec 20, 2019
.dockerignore Add .dockerignore (#167) Dec 15, 2019
.drone.yml Upgrade to SGX SDK v1.1.0 (#184) Dec 19, 2019
.gitattributes Initial commit Jul 8, 2019
.gitignore [keys] Cleanup keys/certs and consolidate keys with auditors (#145) Dec 12, 2019
.gitmodules Vendor all rust libraries from crates-io (#101) Nov 26, 2019
CMakeLists.txt Generate *_enclave.so instead of *.enclave.so for the convenience of (#… Dec 21, 2019
CONTRIBUTORS.md Add CONTRIBUTORS.md (#166) Dec 15, 2019
DISCLAIMER Rename to Apache Teaclave (incubating) and add NOTICE file (#164) Dec 15, 2019
LICENSE Rename mesatee_utils to teaclave_common (#160) Dec 14, 2019
NOTICE Rename to Apache Teaclave (incubating) and add NOTICE file (#164) Dec 15, 2019
README.md Rewrite README.md (#187) Dec 20, 2019
service.sh Set default value of MESATEE_CFG_DIR in service.sh (#73) Nov 22, 2019

README.md

Teaclave: A Universal Secure Computing Platform

Apache Teaclave (incubating) is an open source universal secure computing platform.

Security: Teaclave adopts multiple security technologies to enable secure computing, in particular, Teaclave uses Intel SGX to serve the most security-sensitive tasks with hardware-based isolation, memory encryption and attestation. Also, Teaclave is built in the Rust programming language to prevent memory-safety issues.

Functionality: Teaclave is provided as a function-as-a-service platform for secure computing. With many useful built-in functions, it supports tasks such as machine learning, private set intersection (PSI), crypto computation, etc. Developers can easily deploy a Python script in the Teaclave's trusted execution environment. More importantly, unlike traditional FaaS, Teaclave supports both general secure computing tasks and flexible multi-party secure computation.

Usability: Teaclave builds its components in containers, therefore, it supports deployment both locally and within cloud infrastructures. Teaclave also provides client SDKs and a command line tool.

Teaclave is originated from Baidu X-Lab (formerly named MesaTEE).

Quick Start

Download and build Teaclave services, examples, SDK, and command line tool.

git clone https://github.com/apache/incubator-teaclave.git
docker run --rm -v$(pwd)/incubator-teaclave:/teaclave -w /teaclave -it teaclave/teaclave-build-ubuntu-1804:latest
mkdir -p build && cd build
cmake -DTEST_MODE=ON .. && make

Start all Teaclave services with Docker Compose and detach into background. Make sure SGX driver and PSW package are properly installed and you have got the SPID and key to connect Intel Attestation Service.

export IAS_SPID=xxx
export IAS_KEY=xxx
(cd docker && docker-compose -f docker-compose-ubuntu-1804.yml up --build --detach)

Try the "quickstart" example.

./release/examples/quickstart echo -e release/examples/enclave_info.toml -m "Hello, World!"

Shutdown all Teaclave services.

(cd docker && docker-compose -f docker-compose-ubuntu-1804.yml down)

Contributing

Teaclave is open source in The Apache Way, we aim to create a project that is maintained and owned by the community. All kinds of contributions are welcome.

Community

Please subscribe our mailing list dev@teaclave.apache.org for development related activities. To subscribe, send an email to dev-subscribe@teaclave.apache.org.

You can’t perform that action at this time.