Proposed Workflow for OpenPGP Clean Room Live Environment

By Jacob Adams (Tookmund) for GSoC 2018

First Boot

Storage Devices

Why two backups with RAID1?

Flash drives and SD cards, as with all computer storage, can fail randomly. You don't want your master key to be stored in your regular backups, but you don't want a single point of failure either. Two flash drives with identical contents seems like the best option to ensure the safety of one's master key. There are other disk mirroring options, like btrfs or zfs, but they are generally used and designed for larger disks. RAID1 seems like the simplest and best option for mirroring two small storage devices.

USB Port Exhaustion

Setup Storage

On Disk

On A PGP Smartcard

Initial Key Generation

On Disk

On A Security Key

Manage Subkeys

Smartcard

Or Export Private Subkeys

Finish up

Key Management

If we detect an existing setup, go into key management mode

Keysigning

Key Revocation

Misc

Testing, testing, testing!

Once skeleton workflow is in place, this should be tested on non-technical users. How can explainations be improved, what makes sense and what doesn't, etc. GPG will always have some level of complexity but it should be minimized as much as safely possible.

A call for testing via planet debian might be a good idea once the project is close to completion.

Networking Concerns

Networking should be disabled as much as possible but preferably using Debian packages. If we use custom packages, its probably more likely that they would become out of date over time and thus more vulnerable than the original packages, especially with significant modifications.

Device Detection

We'll need some way to distinguish between USB drives and SD cards as opposed to HDDs and SSDs. We don't want to present the user with devices they shouldn't be using for this.

Translation

gettext should allow easy translation.