Upload binaries to Ent
The goal of Project Oak is to create a specification and a reference implementation for the secure transfer, storage and processing of data.
In present computing platforms (including virtualized, and cloud platforms), data may be encrypted at rest and in transit, but they are exposed to any part of the system that needs to process them. Even if the application is securely designed and data are encrypted, the operating system kernel (and any component with privileged access to the machine that handles the data) has unrestricted access to the machine hardware resources, and can leverage that to bypass any security mechanism on the machine itself and extract secret keys and data.
Oak Functions is a server binary that exposes an API (over gRPC / HTTP) that allows clients to send data, and the server to execute untrusted business logic code over client-provided data in a controlled way, enforcing strong privacy guarantess about its execution.
In order for these guarantees to be transferred to remote clients, Oak Functions is expected to be run in a Trusted Execution Environment (TEE), so that clients can perform Remote Attestation in order to establish that a legitimate version of the Oak trusted runtime is indeed running server side, before actually sending any data to it.
Further information is included in the following documents:
Side channels are out of scope for Project Oak software implementation. While we acknowledge that most existing TEEs have compromises and may be vulnerable to various kinds of attacks (and therefore we do need resistance to side channels) we leave their resolution to the respective TEE Manufacturers and other researchers.
End users are considered “partly trusted” in that we assume that when two users exchange data, there is a pre-existing basic trust relationship between them; in particular we assume that the recipient of the data is not going to intentionally circumvent robust protection mechanisms on their device in order to extract the received data.
We welcome contributors! To join our community, we recommend joining the mailing list and the slack.