Bitcoin Forum
June 26, 2024, 11:07:16 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Safe file transfer via Ethernet  (Read 97 times)
TierNolan (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1084


View Profile
January 04, 2018, 06:47:08 PM
 #1

I wrote a ethernet library for transferring files from a Raspberry PI over ethernet.

It uses an "Ethernet Module ENC28J60" add on board for the ethernet connection.  This costs around $2.50 - $5.00.

This board can be connected to the Raspberry PI via the GPIO (general purpose IO) pins.

The software handles the entire IP stack (Repo).

- GPIO driver (handles raw read and write to the Ethernet board)
- Ethernet driver (handles ethernet packets)
- IP Stack (handles ping and 1 TCP connection at a time)
- Web-server (handles uploading and downloading)

The critical point is that the ethernet board is not registered with the operating system in any way.

It is a board that is purely controlled by the software.  You don't need to ask about auto-running or anything by the OS, since the OS is not involved.

This means that it is safe to connect the ethernet board to your computer via ethernet.

You can run it using:

Listen for file upload

./etransfer -i 192.168.0.50

Host my-file.txt

./etransfer -i 192.168.0.50 my-file.txt

If you don't give an IP address it uses one of the 192.254.*.* addresses.

The software is functional, but probably needs another pass at least (and maybe a re-write) to verify that it is actually secure.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 3682
Merit: 1347

Armory Developer


View Profile
January 04, 2018, 07:37:31 PM
 #2

Are you trying to turn your Pi into some sort of automated hardware signer?

TierNolan (OP)
Legendary
*
Offline Offline

Activity: 1232
Merit: 1084


View Profile
January 04, 2018, 08:53:46 PM
 #3

Are you trying to turn your Pi into some sort of automated hardware signer?

It is intended as an alternative to using USB to transfer the files to/from the offline computer.

The PI would be setup with Armory and the ethernet transfer program.  After that, the only thing the offline computer needs to do is offline signing.

I am also thinking about setting up the PI with a 50MB RAM drive as Armory's data directory.  This means that all saved files from Armory are reset after each powerup.

The process would be

- create unsigned tx on PC
- disconnect PC from internet
- connect PC to PI via ethernet
- upload unsigned transaction via ethernet transfer (PC - PI)
-- save in RAM drive
- start Armory on PI
- restore wallet from paper backup fragments to RAM drive
- sign transactions
- download signed transactions via ethernet transfer (PI - PC)
- check signed transaction on PC
- disconnect PI from PC
- connect PC to internet
- broadcast signed transactions

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!