All Projects → project-oak → Oak

project-oak / Oak

Licence: apache-2.0
Meaningful control of data in distributed systems.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Oak

Akka
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Stars: ✭ 11,938 (+1610.32%)
Mutual labels:  hacktoberfest, distributed-systems
Cape Python
Collaborate on privacy-preserving policy for data science projects in Pandas and Apache Spark
Stars: ✭ 125 (-82.09%)
Mutual labels:  hacktoberfest, policy
Dbfs
Distributed Blockchain-based File Storage 📡
Stars: ✭ 45 (-93.55%)
Mutual labels:  hacktoberfest, distributed-systems
Hazelcast
Open-source distributed computation and storage platform
Stars: ✭ 4,662 (+567.91%)
Mutual labels:  hacktoberfest, distributed-systems
Lagom
Reactive Microservices for the JVM
Stars: ✭ 2,590 (+271.06%)
Mutual labels:  hacktoberfest, distributed-systems
Osbrain
osBrain - A general-purpose multi-agent system module written in Python
Stars: ✭ 157 (-77.51%)
Mutual labels:  hacktoberfest, distributed-systems
Zookeeper
Apache ZooKeeper
Stars: ✭ 10,061 (+1341.4%)
Mutual labels:  hacktoberfest, distributed-systems
Bastion
Highly-available Distributed Fault-tolerant Runtime
Stars: ✭ 2,333 (+234.24%)
Mutual labels:  hacktoberfest, distributed-systems
Cortx
CORTX Community Object Storage is 100% open source object storage uniquely optimized for mass capacity storage devices.
Stars: ✭ 426 (-38.97%)
Mutual labels:  hacktoberfest, distributed-systems
Memento
Simple + Powerful interface to the Mnesia Distributed Database 💾
Stars: ✭ 597 (-14.47%)
Mutual labels:  hacktoberfest, distributed-systems
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 31,664 (+4436.39%)
Mutual labels:  hacktoberfest
Symfony
The Symfony PHP framework
Stars: ✭ 26,220 (+3656.45%)
Mutual labels:  hacktoberfest
Emacs Dashboard
An extensible emacs dashboard
Stars: ✭ 694 (-0.57%)
Mutual labels:  hacktoberfest
Fae
CMS for Rails. For Reals.
Stars: ✭ 701 (+0.43%)
Mutual labels:  hacktoberfest
Gitea
Git with a cup of tea, painless self-hosted git service
Stars: ✭ 27,320 (+3814.04%)
Mutual labels:  hacktoberfest
React Native Web Monorepo
Code sharing between iOS, Android & Web using monorepo
Stars: ✭ 697 (-0.14%)
Mutual labels:  hacktoberfest
Mevn Cli
Light speed setup for MEVN(Mongo Express Vue Node) Apps
Stars: ✭ 696 (-0.29%)
Mutual labels:  hacktoberfest
H1st
The AI Application Platform We All Need. Human AND Machine Intelligence. Based on experience building AI solutions at Panasonic: robotics predictive maintenance, cold-chain energy optimization, Gigafactory battery mfg, avionics, automotive cybersecurity, and more.
Stars: ✭ 697 (-0.14%)
Mutual labels:  hacktoberfest
Offix
GraphQL Offline Client and Server
Stars: ✭ 694 (-0.57%)
Mutual labels:  hacktoberfest
Tech Refrigerator
🍰 기술 냉장고입니다. 🛒 기술 면접 , 전공 시험 , 지식 함양 등 분명 도움될 거예요! 🤟
Stars: ✭ 699 (+0.14%)
Mutual labels:  hacktoberfest

Project Oak

Build Status codecov Docs Slack Mailing list

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.

As part of Project Oak, data are end-to-end encrypted between enclaves, which are isolated computation compartments that can be created on-demand, and provide strong confidentiality, integrity, and attestation capabilities via a combination of hardware and software functionality. Enclaves protect data and code even from the operating system kernel and privileged software, and are intended to protect from most hardware attacks.

Additionally, data are associated with policies when they enter the system, and policies are enforced and propagated as data move from enclave to enclave.

Further information is included in the following documents:

  • Oak Development covers practical steps for getting a development Oak system up and running.
  • Oak Concepts describes the key concepts involved in Oak applications.
  • Oak ABI documents the core Oak ABI.
  • Oak SDK describes the SDK that is provided on top of the Oak ABI, to allow more convenient development of Oak applications.
  • Programming Oak discusses programming for the Oak system.

Terminology

  • Enclave: A secure CPU compartment that can be created on-demand, containing code and data; it enforces isolation from the host and other enclave instances running on the same system. It guarantees confidentiality and integrity of both data and code running within it, and it is capable of creating hardware-backed remote attestations to prove to other parties a measurement (i.e. hash) of the code and data within the enclave itself. Also known as Trusted Execution Environment (TEE).
  • Enclave Manufacturer: The entity in charge of manufacturing the CPU or System on a Chip (SoC) supporting enclaves.
  • Platform Provider: The entity in charge of maintaining and running the combined hardware and software stack surrounding the TEE, for instance in a cloud context.
  • Trusted Computing Base (TCB): The set of hardware, firmware, software components critical to the security of the system; bugs or vulnerabilities inside the TCB may jeopardise the security properties of the entire system.
  • Independent Software Vendor (ISV): The entity or person providing the code for the service running on top of the Project Oak; in the most common case this may be a third party developer.

Threat Model

  • untrusted:
    • most hardware (memory, disk, motherboard, network card, external devices)
    • Operating System (kernel, drivers, libraries, applications)
    • platform provider (hardware, software, employees)
    • third-party developers
  • trusted-but-verifiable:
    • Project Oak codebase (and its transitive dependencies)
  • trusted:
    • enclave manufacturer (and therefore at least some hardware / software)
  • partly or conditionally trusted:
    • end users

Side channels are out of scope for Project Oak software implementation. While we acknowledge that most existing enclaves 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 enclave 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.

Getting involved

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].