76 lines
3.1 KiB
Plaintext
76 lines
3.1 KiB
Plaintext
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA256
|
|
|
|
Powers of Tau Operational Writeup
|
|
=================================
|
|
|
|
Round: 2
|
|
Date: 2017-11-10
|
|
Name: Jason Davies
|
|
Location: London, UK
|
|
|
|
Challenge: 467bc84f6eb98ff956eaf12a1b7ef4dc0aff1093c7a0d5c1dfbdb85bbfffb20a43965d0daefee3fec6c1a47af69100e117b44b74371824ac8af1e33b6f91add5
|
|
Response: 2f728af894524f55bda7a3e2c2e2db6a57a992811e90ed57456d62aead5106cdc5c97c86532d14b5185cc74d169f1b0c2c0ef1e582231ffa7936da55047c0cb2
|
|
|
|
Preparation Steps
|
|
=================
|
|
|
|
Git repository: https://github.com/ebfull/powersoftau
|
|
Commit hash: 9e1553c437183540392a7231d0788318a19b18a3
|
|
Compiler: rustc 1.23.0-nightly (d6b06c63a 2017-11-09)
|
|
Build: cargo build --release --features=u128-support
|
|
b2sum(./target/release/compute): be42f68b07c5c857bb6561a9ac2967d671ef412a71c87c2fb31776a6ab38c756736de66e554553021e129ecab45d922092873df8b71bd9a775ec05f189485198
|
|
|
|
I used a brand new 16GB USB stick and loaded ubuntu-17.04-desktop-amd64.iso; b2sum: 6a1c975b25b4e7f2dbf4fda84fe8b5de3ed6f4532b8c4f17e533ed11a0a8b5b9ad9fb83e8e4b89447c3a427be73f77a5f7c71b7f733fcc4bebf346e9c5c0de43.
|
|
|
|
I reformatted a second brand new 16GB USB stick to ext4, then copied the
|
|
`challenge` file and the `target/release/compute` binary.
|
|
|
|
Sidechannel Defences
|
|
====================
|
|
|
|
First of all, I lined a large cardboard box with aluminium foil in order to
|
|
make a rudimentary faraday cage. Then, I assembled an airgap compute node
|
|
using some relatively cheap parts, putting them all inside the box:
|
|
|
|
* Motherboard: Asus H81 Pro BTC (no radio, bluetooth or speakers AFAIK)
|
|
* CPU: Intel G1840
|
|
* Ram: 2x cheap 1GB sticks
|
|
* PSU: EVGA SuperNOVA 1300 G2
|
|
* Monitor: old Dell TFT display
|
|
* Keyboard: generic USB keyboard
|
|
|
|
No other peripherals or cables were connected. I placed the compute node in my
|
|
cellar (~6ft below ground level) and I remained with the node during the entire
|
|
time it was computing, without using any other devices in the vicinity (no
|
|
mobile phone etc.) The only cables coming out of the box were the two power
|
|
cables, one for the PSU and one for the monitor.
|
|
|
|
Image: https://pbs.twimg.com/media/DOT55KUXUAEV44-.jpg:large
|
|
|
|
Procedure
|
|
=========
|
|
|
|
I booted the node, with "Try Ubuntu" (Live CD mode). Then, I inserted the
|
|
challenge USB stick and ran `./compute` in the USB media directory, entering
|
|
some additional entropy as requested by typing randomly on the keyboard. The
|
|
box lid was only partially opened to allow use of the keyboard and to view the
|
|
monitor at this point. After 60 minutes had passed, I looked inside the lid
|
|
and saw that the computation had completed, so I wrote down the BLAKE2b hash,
|
|
and unmounted and removed the USB stick, and then powered the node down.
|
|
|
|
Postprocessing
|
|
==============
|
|
|
|
I took the USB stick and transferred the response file to my laptop, and then
|
|
uploaded it using the laptop to S3 via Sean Bowe's transcript site.
|
|
|
|
I did not destroy the compute node but I'm unlikely to use it or plug it in for
|
|
some time.
|
|
-----BEGIN PGP SIGNATURE-----
|
|
|
|
iF4EAREIAAYFAloGQx0ACgkQuuOTgxjJDWG+vAD/ZYXU2REMoSk6YsIupwAtKfYH
|
|
TOW+4u59Jf4OLvCZrvYA/2/hFeprMh+Yt2Kqz2/QDBlvL6w2y+LkzGobzYaYZUV+
|
|
=REXu
|
|
-----END PGP SIGNATURE-----
|