AirgapOS
Requirements
-
2 individuals with appropriate role
- Each needs a Personal PGP key pair
-
Tamper proofing evidence (photographs)
-
High Visibility Storage
-
2 Computers
- 1 computer should be able to boot AirgapOS (compatibility reference)
Procedure
-
Turn on one of the computers - this one will be used for writing the SD cards
-
Build the software according to the readme in the repository.
-
Use the
make reproduce
command -
Unseal the SD Card Pack
a. Retrieve digital/physical photographs of both sides of sealed bundle
b. Compare all photographs to object for differences
c. Proceed with unsealing the object if no differences are detected
-
Label each SD card that will be used "AirgapOS [date]"
-
Place all the SD cards into High Visibility Storage
-
Retrieve a labelled SD card from High Visibility Storage, and plug it into the computer where AirgapOS will be built
-
Look for your SD card device name (
<device_name>
) in the output of thelsblk
command. It will typically be listed as/dev/sdX
or/dev/mmcblk<num>
, where X is a letter (e.g.,/dev/sdb
,/dev/sdc
). You can identify it by its size or by checking if it has a partition (like/dev/sdX1
)- Mount the device using:
sudo mount /dev/<your_device> /media
- Mount the device using:
-
Flash
airgap.iso
to an SD Card:dd if=out/airgap.iso of=/dev/<device_name> bs=4M conv=fsync
-
Reset the computer, and boot the SD card
-
Once booted, the card needs to be locked using
sdtool
which is available inAirgapOS
:- Note: the device will not mount as a proper block device on QubesOS so a different OS has to be used where the device appears as /dev/mmcblk
- Note: the device will not mount as a proper block device on QubesOS so a different OS has to be used where the device appears as /dev/mmcblk
-
./sdtool /dev/<device_name> permlock
-
Once burned, unplug the SD card
-
Plug the SD card into a different computer from the one that was used to write the SD card
-
Boot the computer
-
Open a terminal
-
Verify the card can't be written to:
echo "42" | dd of=/dev/<device_name>
-
Insert object(s) into plastic sealing bag
-
Fill bag with enough plastic beads that most of the object is surrounded
-
Use vacuum sealer to remove air from the bag until the beads are no longer able to move
-
Take photographs of both sides of the sealed object using both the digital and polaroid camera
-
Date and sign the polaroid photographs and store them in a local lock box
-
Take the SD card to an online connected device, ensuring continued dual custody, and commit the tamper evidence photographs to a repository. If two individuals are present, have one create a PR with a signed commit, and the other do a signed merge commit.