Code Monkey home page Code Monkey logo

oak's Introduction

Project Oak Logo

Build Status Docs

The goal of Project Oak is to provide infrastructure to transfer, store and process sensitive user data in a secure and transparent way.

To do so, Oak relies on running a Trusted Application in a Trusted Execution Environment (TEE). An example of a Trusted Application is Oak Functions. The Trusted Application can provide the client cryptographically attested evidence of the executable state of the TEE through Remote Attestation. Together with Transparent Release this binds the open-source source code to the remotely attested binary running inside the TEE. In order to feasibly review all the source code running inside the TEE, and minimize our trusted computing base, Oak provides the following infrastructure: stage 0, Oak Restricted Kernel and controlled communications interfaces, i.e., the Oak Comms Channel and microRPC.

Parties involved

  • Trusted Application Authors: The authors writing the Trusted Application running on Oak Infrastructure.
  • Oak Infrastructure Authors: The authors of the code in this repository; mostly this corresponds to the Project Oak team, but also any contributors, and, by extension, the authors of third party dependencies used in Oak.
  • Platform Provider: The entity in charge of maintaining and running the combined hardware and software stack surrounding the TEE, for instance a cloud provider; this includes their software, hardware, and employees.
  • TEE Manufacturer: The entity in charge of manufacturing the TEE, including hardware, software, and cryptographic keys.

Threat Model

  • untrusted:
    • most hardware (memory, disk, motherboard, network card, external devices)
    • Platform Provider
    • Host Operating System (kernel, drivers, libraries, applications)
    • Hypervisor / VMM
  • trusted-but-transparent
    • Oak Infrastructure Authors
    • Trusted Application Authors
  • trusted:
    • TEE Manufacturer

Side channels are out of scope for Project Oak at present. While we acknowledge that TEEs cannot defend against all possible attacks (and therefore we do need resistance to side channels) we leave their resolution to the respective TEE Manufacturers and other researchers.

Getting involved

We welcome contributors! To join our community, we recommend joining the mailing list and the slack.

Oak development covers practical steps for getting a development Oak system up and running.

oak's People

Contributors

daviddrysdale avatar tiziano88 avatar andrisaar avatar ipetr0v avatar conradgrobler avatar jul-sh avatar dependabot[bot] avatar rbehjati avatar mariaschett avatar thmsbinder avatar blaxill avatar michael-kernel-sanders avatar waywardgeek avatar wildarch avatar pmcgrath17 avatar k-naliuka avatar jblebrun avatar ernoc avatar benlaurie avatar jadephilipoom avatar bgogul avatar bmclarnon avatar ianull avatar andrewkvuong avatar aalmos avatar hansman avatar bmacswigg avatar dzmitry-huba avatar ebeasant-arm avatar sarahdeh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.