blob: 895670ee5ae89284ef63e49289f1d62f214e51a9 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[68],{418:function(e,t,a){"use strict";a.r(t);var r=a(11),n=Object(r.a)({},(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[a("h1",{attrs:{id:"teaclave-a-universal-secure-computing-platform"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-a-universal-secure-computing-platform"}},[e._v("#")]),e._v(" Teaclave: A Universal Secure Computing Platform")]),e._v(" "),a("p",[a("a",{attrs:{href:"LICENSE"}},[a("img",{attrs:{src:"https://img.shields.io/badge/license-Apache-green.svg",alt:"License"}})]),e._v(" "),a("a",{attrs:{href:"https://github.com/apache/incubator-teaclave/releases",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/github/v/tag/apache/incubator-teaclave?label=release&sort=semver",alt:"Release"}})]),e._v(" "),a("a",{attrs:{href:"https://coveralls.io/github/apache/incubator-teaclave?branch=master",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://coveralls.io/repos/github/apache/incubator-teaclave/badge.svg?branch=master",alt:"Coverage Status"}})]),e._v(" "),a("a",{attrs:{href:"https://teaclave.apache.org/",target:"_blank",rel:"noopener noreferrer"}},[a("img",{attrs:{src:"https://img.shields.io/badge/site-homepage-blue",alt:"Homepage"}})])]),e._v(" "),a("p",[e._v("Apache Teaclave (incubating) is an open source "),a("em",[a("strong",[e._v("universal secure computing")])]),e._v("\nplatform, making computation on privacy-sensitive data safe and simple.")]),e._v(" "),a("h2",{attrs:{id:"highlights"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#highlights"}},[e._v("#")]),e._v(" Highlights")]),e._v(" "),a("ul",[a("li",[a("strong",[e._v("Secure and Attestable")]),e._v(":\nTeaclave adopts multiple security technologies to enable secure computing. In\nparticular, Teaclave uses Intel SGX to serve the most security-sensitive tasks\nwith "),a("em",[e._v("hardware-based isolation")]),e._v(", "),a("em",[e._v("memory encryption")]),e._v(" and "),a("em",[e._v("attestation")]),e._v(".\nAlso, Teaclave is written in Rust to prevent "),a("em",[e._v("memory-safety")]),e._v(" issues.")]),e._v(" "),a("li",[a("strong",[e._v("Function-as-a-Service")]),e._v(":\nTeaclave is provided as a "),a("em",[e._v("function-as-a-service platform")]),e._v(". With many built-in\nfunctions, it supports tasks like machine learning, private set intersection,\ncrypto computation, etc. In addition, developers can also deploy and execute\nPython scripts in Teaclave. More importantly, unlike traditional FaaS,\nTeaclave supports both general secure computing tasks and "),a("em",[e._v("flexible\nsingle- and multi-party secure computation")]),e._v(".")]),e._v(" "),a("li",[a("strong",[e._v("Ease of Use")]),e._v(":\nTeaclave builds its components in containers, therefore, it supports\ndeployment both locally and within cloud infrastructures. Teaclave also\nprovides convenient endpoint APIs, client SDKs and command line tools.")]),e._v(" "),a("li",[a("strong",[e._v("Flexible")]),e._v(":\nComponents in Teaclave are designed in a modular manner, and features like remote\nattestation can be easily embedded in other projects. In addition, Teaclave\nSGX SDK and Teaclave TrustZone SDK can also be used separately to write TEE\napps for other purposes.")])]),e._v(" "),a("h2",{attrs:{id:"getting-started"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#getting-started"}},[e._v("#")]),e._v(" Getting Started")]),e._v(" "),a("h3",{attrs:{id:"try-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#try-teaclave"}},[e._v("#")]),e._v(" Try Teaclave")]),e._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/my-first-function.html"}},[e._v("My First Function")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/functions-in-python.html"}},[e._v("Write Functions in Python")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/builtin-functions.html"}},[e._v("How to Add Built-in Functions")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/azure-confidential-computing.html"}},[e._v("Deploying Teaclave on Azure Confidential Computing VM")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/executing-wasm.html"}},[e._v("Executing WebAssembly in Teaclave")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/inference-with-tvm.html"}},[e._v("Inference Task with TVM in Teaclave")])],1)]),e._v(" "),a("h3",{attrs:{id:"design"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#design"}},[e._v("#")]),e._v(" Design")]),e._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/threat-model.html"}},[e._v("Threat Model")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/mutual-attestation.html"}},[e._v("Mutual Attestation: Why and How")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/access-control.html"}},[e._v("Access Control")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/build-system.html"}},[e._v("Build System")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/service-internals.html"}},[e._v("Teaclave Service Internals")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/adding-executors.html"}},[e._v("Adding Executors")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/papers-talks.html"}},[e._v("Papers, Talks, and Related Articles")])],1)]),e._v(" "),a("h3",{attrs:{id:"contribute-to-teaclave"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contribute-to-teaclave"}},[e._v("#")]),e._v(" Contribute to Teaclave")]),e._v(" "),a("ul",[a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/release-guide.html"}},[e._v("Release Guide")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/rust-guideline.html"}},[e._v("Rust Development Guideline")])],1),e._v(" "),a("li",[a("RouterLink",{attrs:{to:"/teaclave/docs/development-tips.html"}},[e._v("Development Tips")])],1)]),e._v(" "),a("h3",{attrs:{id:"api-references"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#api-references"}},[e._v("#")]),e._v(" API References")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://teaclave.apache.org/api-docs/sgx-sdk/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave SGX SDK")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://teaclave.apache.org/api-docs/client-sdk-python/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave Client SDK (Python)")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://teaclave.apache.org/api-docs/client-sdk-rust/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave Client SDK (Rust)")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://teaclave.apache.org/api-docs/crates-enclave/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Crates in Teaclave (Enclave)")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://teaclave.apache.org/api-docs/crates-app/",target:"_blank",rel:"noopener noreferrer"}},[e._v("Crates in Teaclave (App)")])])]),e._v(" "),a("h2",{attrs:{id:"teaclave-projects"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#teaclave-projects"}},[e._v("#")]),e._v(" Teaclave Projects")]),e._v(" "),a("p",[e._v("This is the main repository for the Teaclave FaaS platform. There are several\nsub-projects under Teaclave:")]),e._v(" "),a("ul",[a("li",[a("a",{attrs:{href:"https://github.com/apache/incubator-teaclave-sgx-sdk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave SGX SDK")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/apache/incubator-teaclave-trustzone-sdk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave TrustZone SDK")])]),e._v(" "),a("li",[a("a",{attrs:{href:"https://github.com/apache/incubator-teaclave-java-tee-sdk",target:"_blank",rel:"noopener noreferrer"}},[e._v("Teaclave Java TEE SDK")])])]),e._v(" "),a("h2",{attrs:{id:"contributing"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#contributing"}},[e._v("#")]),e._v(" Contributing")]),e._v(" "),a("p",[e._v("Teaclave is open source in "),a("a",{attrs:{href:"https://www.apache.org/theapacheway/",target:"_blank",rel:"noopener noreferrer"}},[e._v("The Apache Way")]),e._v(",\nwe aim to create a project that is maintained and owned by the community. All\nkinds of contributions are welcome. Read this "),a("RouterLink",{attrs:{to:"/teaclave/CONTRIBUTING.html"}},[e._v("document")]),e._v(" to\nlearn more about how to contribute. Thanks to our\n"),a("a",{attrs:{href:"https://teaclave.apache.org/contributors/",target:"_blank",rel:"noopener noreferrer"}},[e._v("contributors")]),e._v(".")],1),e._v(" "),a("h2",{attrs:{id:"community"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#community"}},[e._v("#")]),e._v(" Community")]),e._v(" "),a("ul",[a("li",[e._v("Join us on our "),a("a",{attrs:{href:"https://lists.apache.org/list.html?dev@teaclave.apache.org",target:"_blank",rel:"noopener noreferrer"}},[e._v("mailing list")]),e._v(".")]),e._v(" "),a("li",[e._v("Follow us at "),a("a",{attrs:{href:"https://twitter.com/ApacheTeaclave",target:"_blank",rel:"noopener noreferrer"}},[e._v("@ApacheTeaclave")]),e._v(".")]),e._v(" "),a("li",[e._v("See "),a("a",{attrs:{href:"https://teaclave.apache.org/community/",target:"_blank",rel:"noopener noreferrer"}},[e._v("more")]),e._v(".")])])])}),[],!1,null,null,null);t.default=n.exports}}]);