Skip to content

twizzler-operating-system/obliviate

Repository files navigation

Obliviate

Obliviate is an interposition layer for efficient portable, transparent, and crash-consistent secure data deletion.

Building

Obliviate is written in Rust, and thus requires a Rust installation to be compiled. It is recommended to use rustup to manage the installation. To build Obliviate, clone this repo, cd into it, and run:

make            # Builds the binaries and shared libraries.
make install    # Installs the binaries and shared libraries.

Running

After building/installing Obliviate, the lethe-cli, lorax-cli, and usdb-cli binaries should be available (assuming binaries installed via cargo are available through your PATH).

Structure

The following diagram annotates the Obliviate file tree starting from the root. The file tree is simplified and thus doesn't include all modules/system components -- just the ones of note.

.
├── crates              # Additional crates
│   ├── lru-mem         # Memory-bounded LRU cache
│   ├── naslr           # Disabling of ASLR
│   ├── shmem           # Shared memory allocator and primitives
│   └── tempfile        # Temporary files
├── obliviate-cli       # Obliviate CLI
├── obliviate-core      # Core Obliviate library
│   ├── io              # Composable encrypted IOs
│   ├── kdf             # Key derivation functions
│   ├── kms             # Key management schemes
│   ├── state           # Shared Obliviate state
│   ├── bufcache        # Buffer cache
│   ├── enclave         # Virtualized secure enclave
│   └── wal             # Secure write-ahead log
├── obliviate-shims     # Obliviate shim layers
│   ├── lethe           # Tiered-KHF shim layer
│   ├── lorax           # Stable SDB shim layer
│   └── usdb            # Unstable SDB shim layer
└─ obliviate-trap       # Obliviate trap

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published