Skip to content
Permalink
Browse files

Rewrite README.md (#187)

  • Loading branch information
mssun committed Dec 20, 2019
1 parent 708831d commit ea05488c93874ea37544708871fac10006871290
Showing with 70 additions and 89 deletions.
  1. +70 −89 README.md
159 README.md
@@ -1,97 +1,78 @@
<p align="center"><img src="docs/images/logo.png" width=500/></p>

# A Framework for Universal Secure Computing

[![Build Status](http://ci.mesalock-linux.org/api/badges/mesalock-linux/mesatee/status.svg)](http://ci.mesalock-linux.org/mesalock-linux/mesatee)
[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://mesatee.org/doc/mesatee_sdk/)
[![Codecov Status](https://codecov.io/gh/mesalock-linux/mesatee/branch/master/graph/badge.svg?token=Cwv13guOBi)](https://codecov.io/gh/mesalock-linux/mesatee)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

## Highlights

* MesaTEE is the next-gen solution to enable general computing service for security-critical scenarios. It will allow even the most sensitive data to be securely processed to enable offshore businesses without leakage.

* The solution combines the advanced Hybrid Memory Safety (HMS) model and the power of the Trusted Computing technologies (e.g. TPM) as well as the Confidential Computing technologies (e.g. Intel® SGX).

## What Is MesaTEE?

The emerging technologies of big data analytics, machine learning, cloud/edge
computing, and blockchain are significantly boosting our productivity, but at
the same time they are bringing new confidentiality and integrity concerns. On
**public cloud** and **blockchain**, sensitive data like health and financial
records may be consumed at runtime by untrusted computing processes running on
compromised platforms; during **inhouse data exchange**, confidential
information may cross different clearance boundaries and possibly fall into the
wrong hands; also not to mention the privacy issue arises in **offshore data
supply chains**.

Although the consequences of data breaching have been extensively elaborated,
we should also note that proprietary computing algorithms themselves, such as
AI models, also need to be well protected. Once leaked, attackers can steal the
intellectual properties, or launch whitebox attacks and easily exploit the
weakness of the models.

Facing all these risky scenarios, we are in desperate need of a trusted and
secure mechanism, enabling us to protect both private data and proprietary
computing models during a migratable execution in potentially unsafe
environments, yet preserving functionalities, performance, compatibility, and
flexibility. MesaTEE is targeting to be, as we call it, the full “Universal
Secure Computing” stack, so it can help users resolve these runtime security
risks.

<p align="center"><img src="docs/images/overview.png" width="600"/></p>
<p align="center"><i>Figure 1: MesaTEE stack redefines future AI and big data analytics by
providing a trusted and secure offshore computing environment. The
confidentiality and integrity of both data and code can be well protected even
if clients and service/platform providers do not trust each other.</i></p>

As illustrated in the Figure 1, the confidentiality and privacy of data and
models can be well protected with MesaTEE, even if data and model originate
from different parties with no mutual trust. Moreover, the computing platform
itself is not necessarily trusted either. The Trusted Computing Base (TCB) can
thus be largely reduced to MesaTEE framework alone.

More details can be found in the following documents:
* [Threat Model](docs/threat_model.md)
* [Design](docs/design.md)
* [Hybrid Memory Safety and Non-bypassable Security](docs/hms_and_nbsp.md)
* [Case Studies](docs/case_study.md)

## Getting Started

* [How to Build](docs/how_to_build.md)
* [How to Run](docs/how_to_run.md)
* [FAQs in Build and Run](docs/faq.md)
* [Application Examples](examples/README.md)
* [How to Add A Function](docs/how_to_add_your_function.md)
* [How to Test](tests)
* [Repository Structure](docs/repo_structure.md)
* [Dependencies Vendoring](third_party/README.md)
* [Blogs about MesaTEE](https://medium.com/@baidu.xlab)
# 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

## Contributing

The open-source version of MesaTEE is a prototype. The code is constantly
evolving and designed to demonstrate types of functionality.
Download and build Teaclave services, examples, SDK, and command line tool.

We still have lots of working-in-progress tasks. We are very happy if you are
interested to submit pull requests. Please refer to
[Issues](https://github.com/mesalock-linux/mesatee/issues) to help out
or report new bugs/suggestions.
```
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
```

Please adhere to the [Rust Development Guideline](docs/rust_guideline.md) and remember to ``make format`` before submitting PRs.
Start all Teaclave services with
[Docker Compose](https://docs.docker.com/compose/) and detach into background.
Make
sure [SGX driver and PSW package](https://01.org/intel-software-guard-extensions/downloads)
are properly installed and you have got the
[SPID and key](https://api.portal.trustedservices.intel.com/EPID-attestation)
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

## Sibling Projects
Teaclave is open source in [The Apache Way](https://www.apache.org/theapacheway/),
we aim to create a project that is maintained and owned by the community. All
kinds of contributions are welcome.

* Rust SGX SDK:
[https://github.com/baidu/rust-sgx-sdk](https://github.com/baidu/rust-sgx-sdk)
* MesaLock Linux:
[https://github.com/mesalock-linux/mesalock-distro](https://github.com/mesalock-linux/mesalock-distro)
* MesaLink:
[https://github.com/mesalock-linux/mesalink](https://github.com/mesalock-linux/mesalink)
* MesaPy:
[https://github.com/mesalock-linux/mesapy](https://github.com/mesalock-linux/mesapy)

## Contact
## Community

We encourage you to discuss open source related matters in [Issues](https://github.com/mesalock-linux/mesatee/issues). For other questions, you may reach out to MesaTEE mailing list: [developers@mesatee.org](mailto:developers@mesatee.org) or each [maintainer](MAINTAINERS.md) individually.
Please subscribe our mailing list
[dev@teaclave.apache.org](https://lists.apache.org/list.html?dev@teaclave.apache.org)
for development related activities. To subscribe, send an email to
`dev-subscribe@teaclave.apache.org`.

0 comments on commit ea05488

Please sign in to comment.
You can’t perform that action at this time.