cryptoadvance / specter-diy

DIY airgapped hardware wallet that uses QR codes for communication with the host
MIT License
441 stars 73 forks source link

Add SDCard and Smartcard support for key storage #83

Closed stepansnigirev closed 3 years ago

stepansnigirev commented 3 years ago

Flexible security model that you can set up at first boot:

Approach 1

Don't store recovery phrase (amnesic mode, forgets key when turned off), store it on internal flash (Trezor security model) or encrypted on a separate SD card (only this device will be able to decrypt the file)

Approach 2

Amnesic or store the key on a PIN-protected javacard. Uses MemoryCardApplet for that, requires extension board with the smartcard slot. Javacards have reasonably good hardware security - they are tamper-resistant, detect all kind of glitches and introduce additional countermeasures against sidechannel attacks. But they are running proprietary JavaCardOS. We still can benefit from their security features.

TODO:

bitcoinheiro commented 3 years ago

This is impressive, great work!