pull down to refresh
That's a really useful point. I hadn't thought enough about what happens to the private key in memory when running SkySigner from a regular USB drive.
I'm actually experimenting with a bootable Linux environment for SkySigner rather than simply running the application from USB. My idea is to avoid using the computer's installed operating system, although I understand that doesn't eliminate every security risk.
The USB-sized computer you showed is interesting too. Having its own processor and memory could make a real difference since the private key wouldn't need to be loaded into the host computer's RAM. I hadn't considered that approach before.
I'm trying to keep this project as inexpensive as possible, but you've given me another idea worth exploring. Thanks for the detailed explanation!
experimenting with a bootable Linux environment
An image file that uses the native operating systems built-in virtualization might be a good prototype... Windows has WSL powered by Hyper-V, Linux has KVM/QEMU... and Mac has some similar thing.
Not sure if there's one image type that will work on all 3 though.
That gets some kernel level isolation at least so you can decrypt the key in the VM directly rather than from the host OS.
Then, that image can be used from a USB stick so all your policies and listener is portable.
You're still loading the key into memory on the system you plug it into, so the USB stick is no different than an encrypted VM image on the main disk.
OS kernel level virtualization can demarcate the memory between the host and VM, but then again the USB stick isn't adding anything, it's just a backup of that VM.
Encrypted VM's are good for a lot of things like reducing footprint for the host to be pwned or apps from pwning each other, I think there's a few QubesOS lurkers here even, but the usb-on-host doesn't do much if the host itself is the risk.
There are these things:
https://m.stacker.news/162472
It's not just a USB stick, its basically a mini PC that uses USB for power and could run as an appliance without a host dependency.
I have not tinkered with one, I assume the supply chains are sketchy and storage is too weak for a Lightning node which is my interest, but might work for a simple signer.
Might even be able to hack something onto a Roku stick, those are abundant and cheap.