Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Beyond M6

Ideas past the plan. None is a goal: the hard goals are M1 (sessions over SSH, kept apart) through M6 (persist, install, share), and nothing here is built toward until the owner makes it one. Each page says what the idea is, why it is not a goal, and what it would need, including the attack cases it would have to pass. Some are kept so they are not redesigned from scratch; some are recorded as ruled out, with the reason, so they are not proposed again without one.

PageThe idea
The FPGA platformRedoubt on softcores: a DE10-Nano scale model and a Kintex-7 PCIe card with DMA confined in hardware
The card’s host backendone locked-down Rust process serving the card’s console, disk and network over VFIO, never parsing a guest pointer
rv32the full stack on 32-bit RISC-V, booted in every milestone
Other runtimesPython and Java, ported to Rust
The web stackserving HTTP through isolated TCP, TLS and HTTP servers, reached only through SSH forwarding
Unattended operationbackup, crash records, field updates, monitoring and a rescue console
Swapa userspace swapper under per-budget limits
Disk encryptionauthenticated encryption of every block, for a disk outside the trust boundary
Linux on reserved coresLinux driving messy hardware and serving virtio to Redoubt
IOMMUhardware confinement of DMA through an IOMMU or IOPMP
An OS debuggera debug capability and a GDB server, never issued in production
A shared content storepackages stored once for everyone, by hash (ruled out as a channel)
A shared image cacheprogram images shared read-only between principals (ruled out as a channel)
The link layerVLANs, rate limits and routing, in linkd and routerd
A browser GUIa desktop in the browser (conflicts with the no-GUI non-goal)
Hardware approvalhigh-stakes approvals signed by a FIDO key
ASLRrandomised address-space layout
Scheduling extensionstime donation and CPU quotas
Label extensionstaint-on-read and integrity labels

A direction, the owner’s: the system-call ABI is kept free of the MMU (a transport trait, lends and transfers stated as ownership), so that a backend without one, cooperative and in one process, could implement it. Nothing builds that backend.