Hermod

Post-kvantesikker P2P fil- og tekstoverføring

Hermod

Post-kvantesikker P2P fil- og tekstoverføring

Jeg har alltid ønsket en enkel måte å sende tekst og filer sikkert mellom datamaskiner uavhengig hvor de befinner seg. Uten å måtte gå via skytjenester som man stoler mer eller mindre på. Derfor lagde jeg hermod!

Hurtigstart

Se hele bruksanvisningen og last ned programmet fra GitHub - aheimsbakk/hermod: Hermod is a post-quantum secure by default peer-to-peer (P2P) file and text transfer application.

# Stol på (TOFU) demo signaltjener
./hermod-linux-amd64 trust hermod.sanntid.org

# Send en fil
./hermod-linux-amd64 send rapport.pdf 
Transfer code: 39758-scam-grape-pace

# Motta filen på en annen maskin
./hermod-linux-amd64 receive 39758-scam-grape-pace
Establishing P2P connection...
Saved to rapport.pdf
Transfer complete.

Kortversjoner:

  • send | tx
  • receive | rx

Signaltjener

Jeg anbefaler å kjøre egen signaltjener. Det er superenkelt! Sørg for at TCP og UDP porten 4376 er åpen i brannmuren din. Du kan endre porten til hva du ønsker.

# Start signaltjener
./hermod-linux-amd64 serve

Historikk

I 2016 så jeg Magic-Wormhole: Get Things From One Computer To Another. Ideen er god. Men jeg synes det skortet litt på sikkerheten.

Det gikk mange år. Så kom KI-assistert koding, agentisk koding, vibbekoding, kall det hva du vil. Nå ble plutselig oppgaven om å lage programmet jeg har ønsket overkommelig. Fokus kunne være på arkitektur, implementation og resultatet uten å ta all fritid nærmeste halve året.

Resultatet ble hermod, med et sterkt fokus på sikkerhet i alle ledd.

Forskjeller mellom Hermod og Magic Wormhole

KI ble brukt til å gå igjennom Hermod sitt repo og Magic Wormhole sine tre repoer. Den ble bedt om å summere opp de 7 viktigste sikkerhetsforskjellene mellom Magic Wormhole og Hermod.

Magic Wormhole:

Hermod:

Hermod vs Magic Wormhole

Område Hermod Magic Wormhole
Tåler kvantedatamaskiner Ja. Bruker ML-KEM-768 (FIPS 203) i alle sesjoner som standard. Nei. Ingen beskyttelse mot angrep med kvantedatamaskiner.
Data på vei mellom deg og mottaker Går direkte mellom deg og mottaker via QUIC med TLS 1.3. Ingen tredjepart kan se dataene. Går via en videresendingstjener (transit relay). Du må sette opp TLS selv — standard er ubeskyttet TCP. Token og metadata er synlige på nettverket hvis du ikke gjør det.
Hva signaliseringsserveren lagrer Kanallister i minne (aldri på disk). Bare krypterte blobs — kan ikke lese meldingsinnhold. Meldingene dine i klartekst i SQLite på disk, sammen med IP-adresser og protokollfaser.
Beskyttelse mot overbelastning 3 uavhengige hastighetsbegrensere, grenser per IP og per kanal, grenser på meldingsstørrelse. Ingen. Ingen sperre mot at noen overvelder tjeneren med forespørsler.
Koden du deler (standard) 3 ord fra 1296-ordliste (~31 bits). Cirka 700 ganger vanskeligere å gjette. 2 ord fra 512-ordliste (~18 bits). En angriper kan gjette seg frem lett.
Bekreftelse av den andre parten Felles kode + midlertidige sertifikater + valgfri ekstra bekreftelse via 6 ord og identikon. Kun via felles kode (PAKE). Ingen ekstra kontroll av hvem du snakker med.
Sikkerhet ved programvareavhengigheter Én statisk kjørbar fil. Ingen kjøretidsavhengigheter. Alle kryptofunksjoner fra Go-standardbiblioteket (FIPS 140-sertifisert). 3 separate systemer (klient + 2 tjenere), mange eksterne Python-pakker, flere uten versjonslås.
app  sikkerhet  p2p 

See also