Herkos

Tietoturvakäytäntö

Herkos käsittelee yksityisiä avaimia ja salattuja viestejä, joten otamme tietoturvailmoitukset vakavasti ja kuulemme ongelmasta mieluummin aikaisin kuin myöhään.

Haavoittuvuuden ilmoittaminen

Älä avaa julkista issueta tietoturvaongelmista.

Ilmoita siitä yksityisesti sähköpostilla osoitteeseen security@herkos.email.

Hyödyllistä kerrottavaa: mikä ongelma on, miten sen voi toistaa, millä alustalla ja versiolla testasit ja mitä hyökkääjä voisi saavuttaa. Konseptitodiste (proof of concept) auttaa paljon.

Älä koskaan liitä ilmoitukseen omaa nsec-avaintasi, salaista avaintasi tai bunkerisi salaisuutta.

Pyrimme kuittaamaan ilmoitukset muutamassa päivässä. Koska Herkos on pieni projekti, annathan kohtuullisesti aikaa korjaukselle ennen julkista paljastamista. Mainitsemme sinut mielellämme tiedotteessa, ellet toivo toisin.

Mikä kuuluu piiriin

Itse Herkos-sovellus: avainten käsittely ja tallennus, viestien salaus ja purku (mukaan lukien NIP-59-lähettäjätarkistukset ja Bcc-eristys hakemistossa local_packages/nostr_mail), sovelluslukko, viestintä releiden ja siltojen kanssa, liitteiden käsittely sekä koonti- ja julkaisuketju. Herkos Driven osalta myös sen protokollapaketti (packages/herkos_drive_protocol) ja sen linkit avaava sivu (herkos.app/f/); ks. sen omaa osiota alempana.

Mikä ei kuulu piiriin

Tunnetut rajoitukset suoraan sanottuina

Nämä ovat suunnitteluun liittyviä kompromisseja, eivät haavoittuvuuksia. Kirjoitamme ne mieluummin auki kuin annamme jonkun löytää ne kantapään kautta:

Herkos Local Relay: mitä se suojaa ja mitä ei

Herkos Local Relay säilyttää sovellustesi tapahtumat laitteellasi, myös yksityiset (luonnokset, yksityiset listat, vastaanottamasi kirjekuoret). Tässä kerrotaan, mikä niitä suojaa ja missä raja kulkee, alusta kerrallaan. Ilmoita relen tietoturvaongelmista samalla tavalla kuin muistakin (ks. yllä).

Koko tietokanta on salattu, myös sen journaali (SQLite3 Multiple Ciphers, AEGIS-256). Avain on 32 satunnaista tavua, jotka luodaan laitteella ja joita säilytetään järjestelmän suojatussa säilössä: Androidissa Keystoressa, Windowsissa DPAPI:lla, Linuxissa avainnipussa (libsecret). Sitä ei suojaa mikään sinun salasanasi, koska relen on käynnistyttävä itsestään. Ilman avainta rele ei käynnisty ja kertoo sen: se ei koskaan avaa tai luo salaamatonta tietokantaa eikä koskaan poista tietokantaa, jota se ei pysty avaamaan.

Jos… Android Windows Linux
joku kopioi tietokantatiedoston (varmuuskopio, synkronoitu kansio, levykuva) Suojattu Suojattu Suojattu
laite tai levy varastetaan sammutettuna Suojattu: avain on Keystoressa Suojattu, ellei varas tiedä Windows-kirjautumissalasanaasi: DPAPI suojaa avaimen sillä Suojattu, ellei varas tiedä avainnippusi salasanaa (lähes aina sama kuin istuntosi salasana)
toinen käyttäjätili samalla laitteella Suojattu Suojattu: DPAPI on käyttäjäkohtainen Suojattu: avainnippu on käyttäjäkohtainen
toinen sovellus tai ohjelma, joka toimii sinun käyttäjänäsi Suojattu: Android pitää jokaisen sovelluksen erillään, ja Keystore antaa avaimen vain relelle Ei: DPAPI salaa käyttäjäkohtaisesti, ei sovelluskohtaisesti; sinuna toimiva ohjelma voi pyytää avainta samoin kuin rele Ei: istuntosi avainnippu ei erottele sovelluksia toisistaan
rootattu puhelin tai työkalu, joka suorittaa koodia sovelluksena Ei — —
jollakulla on lukitsematon laite kädessään Vain relen PIN tai sormenjälki, jos otat ne käyttöön Sama Sama
joku lukee relen muistia sen ollessa käynnissä Ei Ei Ei

Työpöytäkoneella DPAPI:n ja avainnipun raja on sama kuin minkä tahansa ohjelman: ne suojaavat muilta käyttäjiltä ja siltä, joka vie levyn, mutta eivät haitalliselta ohjelmalta, joka jo toimii sinun käyttäjänäsi. Jos tämä tapaus huolestuttaa sinua, sinua suojaa järjestelmälevyn salaus (BitLocker, LUKS) ja se, ettet suorita ohjelmia, joihin et luota. Linuxissa ilman avainnippua (ei Secret Serviceä) rele ei käynnisty ja kertoo miksi: se ei koskaan säilytä avainta salaamattomana.

Kuka pääsee sisään itse laitteella. Rele kuuntelee vain osoitteessa 127.0.0.1, ja mikä tahansa laitteen sovellus tai selaimen verkkosivu voi tavoittaa tämän osoitteen. Siksi:

Mitä se ei tässä suojaa:

Lähiverkko, jos otat sen käyttöön (oletuksena se on pois päältä):

Mitä se ei tässä suojaa: kuka tahansa samassa verkossa näkee, että laitteella on avoin portti ja kuinka paljon liikennettä sen kautta kulkee, joskaan ei sitä, mitä; ja jos laitteella on julkinen osoite (ei reititintä välissä), portti näkyy internetiin, vaikka se edelleen vaatii listallasi olevan avaimen.

Kopiot. Salatulla kopiolla on salasana (scrypt ja XChaCha20-Poly1305): ilman sitä kukaan ei voi avata sitä, emme mekään. JSONL-vienti ei ole salattu, ja se sisältää yksityiset tapahtumasi selkokielisinä; sovellus varoittaa sinua siitä.

Lukko (PIN sekä sormenjälki tai Windows Hello) kysytään, kun sovellus avataan, kun olet ollut poissa 30 sekuntia ja kun hyväksyt pariliitoksen. Se on mukavuuseste, kuten Mailissa: se ei salaa mitään. Androidissa, kun PIN on asetettu, kuvakaappauksia ei voi ottaa eikä pikkukuvaa näy viimeisimpien sovellusten joukossa, ja Android 12:sta alkaen minkään muun sovelluksen ikkuna ei voi asettua relen ikkunan päälle, kun käytät sitä.

Herkos Drive: mitä se suojaa ja mitä ei

Herkos Drive säilyttää tiedostosi Blossom-palvelimilla ja tiedostojesi ja kansioidesi luettelon Nostr-releillä, molemmat laitteellasi salattuina. Tässä on se, mikä niitä suojaa, ja missä rajat ovat. Kaikki yksityiskohdat ovat tiedostossa spec-drive.md ja uhkamallissa amenazas-drive.md hakemistossa packages/herkos_drive_protocol/; se, mitä kukin rele ja palvelin näkee, on tietosuojaselosteessa. Ilmoita Driven tietoturvaongelmista samalla tavalla kuin muistakin (edellä).

Mitä releet ja palvelimet eivät voi tehdä:

Mitä se ei suojaa:

Miten sitä tarkistetaan. Kaksi sisäistä katselmointia uhkamallia vasten (2. marraskuuta 2026) ja niiden korjaukset; testit siitä, mitä kukin tapahtuma ja lohko näyttää; kaikkien ulkoa tulevaa sisältöä lukevien osien (tapahtumat, sinetit, manifestit, linkit, varmuuskopiot) fuzz-testaus. Ulkoista auditointia ei vielä ole: sellainen on suunniteltu ennen julkista betaa, ja sen raportti julkaistaan kokonaisuudessaan. Drive on vielä kehitteillä.

Tuetut versiot

Tietoturvakorjaukset tehdään uusimpaan julkaistuun versioon. Projektin koon vuoksi vanhempia versioita ei ylläpidetä — päivitä ennen kuin ilmoitat.