Herkos

Biztonsági szabályzat

A Herkos privát kulcsokat és titkosított üzeneteket kezel, ezért komolyan vesszük a biztonsági bejelentéseket, és inkább korán értesülünk egy problémáról, mint későn.

Sebezhetőség bejelentése

Kérjük, biztonsági problémák miatt ne nyisson nyilvános hibajegyet (issue-t).

Jelentse be privát módon e-mailben a security@herkos.email címen.

Hasznos, ha megadja: mi a probléma, hogyan lehet reprodukálni, melyik platformon és verzión tesztelte, és mit érhetne el vele egy támadó. Egy koncepcióbizonyítás (proof of concept) sokat segít.

Soha ne tegye bele a bejelentésbe a saját nsec kulcsát, titkos kulcsát vagy bunkertitkát.

Arra törekszünk, hogy néhány napon belül visszaigazoljuk a bejelentéseket. Mivel a Herkos kis projekt, kérjük, hagyjon észszerű időt a javításra, mielőtt nyilvánosságra hozná. Szívesen feltüntetjük a nevét a biztonsági közleményben, hacsak nem kéri másként.

Mire terjed ki

Magára a Herkos alkalmazásra: a kulcsok kezelésére és tárolására, az üzenetek titkosítására és visszafejtésére (beleértve a NIP-59 feladóellenőrzéseket és a titkos másolat (Bcc) elkülönítését a local_packages/nostr_mail csomagban), az alkalmazászárra, a relékkel és hidakkal folytatott kommunikációra, a mellékletek kezelésére, valamint a fordítási és kiadási folyamatra. A Herkos Drive esetében a protokollcsomagjára (packages/herkos_drive_protocol) és a linkjeit megnyitó oldalra (herkos.app/f/) is; lásd a saját szakaszát lent.

Mire nem terjed ki

Ismert korlátok, kertelés nélkül

Ezek tervezési kompromisszumok, nem sebezhetőségek. Inkább leírjuk őket, mint hogy valaki a saját kárán fedezze fel:

Herkos Local Relay: mit véd, és mit nem

A Herkos Local Relay az alkalmazásai eseményeit az Ön eszközén tárolja, a privátakat is (piszkozatok, privát listák, az Ön által kapott borítékok). Az alábbiakban az áll, mi védi őket, és hol a határ, platformonként. A relé biztonsági hibáit ugyanúgy jelentse, mint bármely mást (lásd fent).

A teljes adatbázis titkosítva van, a naplófájljával együtt (SQLite3 Multiple Ciphers, AEGIS-256). A kulcs 32 véletlenszerű bájt, amelyet az eszközön hoz létre, és a rendszer biztonságos tárolójában őriz: Androidon a Keystore-ban, Windowson a DPAPI-val, Linuxon a kulcstartóban (libsecret). Nem az Ön valamelyik jelszava védi, mert a relének magától kell elindulnia. A kulcs nélkül a relé nem indul el, és ezt közli is: soha nem nyit meg és nem hoz létre titkosítatlan adatbázist, és soha nem töröl olyat, amelyet nem tud megnyitni.

Ha… Android Windows Linux
valaki lemásolja az adatbázisfájlt (biztonsági mentés, szinkronizált mappa, lemezkép) Védett Védett Védett
ellopják az eszközt vagy a lemezt kikapcsolt állapotban Védett: a kulcs a Keystore-ban van Védett, hacsak nem ismerik az Ön Windows-bejelentkezési jelszavát: a DPAPI azzal védi a kulcsot Védett, hacsak nem ismerik a kulcstartója jelszavát (szinte mindig a munkamenetéé)
egy másik felhasználói fiók ugyanazon az eszközön Védett Védett: a DPAPI felhasználónként működik Védett: a kulcstartó felhasználónként külön van
egy másik alkalmazás vagy program, amely az Ön felhasználójaként fut Védett: az Android minden alkalmazást elkülönít, és a Keystore csak a relének adja ki a kulcsot Nem: a DPAPI felhasználónként titkosít, nem alkalmazásonként; egy az Ön nevében futó program ugyanúgy elkérheti a kulcsot, mint a relé Nem: a munkamenete kulcstartója nem választja el egymástól az alkalmazásokat
rootolt telefon, vagy olyan segédprogram, amely az alkalmazás nevében futtat kódot Nem — —
valakinek a kezében van a feloldott eszköz Csak a relé PIN-kódja vagy ujjlenyomata, ha beállítja őket Ugyanígy Ugyanígy
valaki kiolvassa a relé memóriáját futás közben Nem Nem Nem

Asztali gépen a DPAPI és a kulcstartó határa ugyanaz, mint bármely programé: védenek a többi felhasználó ellen és az ellen, aki elviszi a lemezt, de nem egy olyan kártékony program ellen, amely már az Ön felhasználójaként fut. Ha ez az eset aggasztja, a rendszerlemez titkosítása (BitLocker, LUKS) véd, valamint az, hogy nem futtat olyan programokat, amelyekben nem bízik meg. Kulcstartó nélküli Linuxon (Secret Service nélkül) a relé nem indul el, és elmagyarázza, miért: a kulcsot soha nem tárolja titkosítatlanul.

Ki jut be, magán az eszközön. A relé csak a 127.0.0.1 címen figyel, és ezt a címet az eszköz bármely alkalmazása vagy a böngészőben megnyitott weboldal elérheti. Ezért:

Amit itt nem véd:

A helyi hálózat, ha bekapcsolja (alapértelmezés szerint ki van kapcsolva):

Amit itt nem véd: aki ugyanazon a hálózaton van, látja, hogy az eszköznek nyitott portja van, és mekkora forgalom halad át rajta, azt viszont nem, hogy mi; és ha az eszköznek nyilvános címe van (nincs közte és az internet között router), ez a port az internetről is látszik, bár továbbra is az Ön listáján szereplő kulcsot kér.

Mentések. A titkosított mentésnek jelszava van (scrypt és XChaCha20-Poly1305): nélküle senki sem tudja megnyitni, mi sem. A JSONL-export nincs titkosítva, és a privát eseményeit titkosítatlanul tartalmazza; az alkalmazás figyelmezteti erre.

A zár (PIN-kód, valamint ujjlenyomat vagy Windows Hello) az alkalmazás megnyitásakor, 30 másodperc távollét után és egy párosítás jóváhagyásakor kéri a feloldást. Ez kényelmi akadály, mint a Mailben: semmit sem titkosít. Androidon beállított PIN-kóddal nem készülhet képernyőkép, és nem jelenik meg miniatűr a legutóbbi alkalmazások között, az Android 12 óta pedig semmilyen más alkalmazás ablaka nem kerülhet a reléé fölé, amíg Ön használja.

Herkos Drive: mit véd, és mit nem

A Herkos Drive a fájljait Blossom-szervereken, a fájljai és mappái listáját pedig Nostr-reléken tárolja, mindkettőt az Ön eszközén titkosítva. Az alábbiak védik őket, és itt vannak a határok. A teljes részletek a spec-drive.md fájlban és az amenazas-drive.md fenyegetésmodellben találhatók, a packages/herkos_drive_protocol/ mappában; hogy az egyes relék és szerverek mit látnak, az adatvédelmi szabályzatban olvasható. A Drive biztonsági problémáit ugyanúgy jelentse, mint bármely mást (lásd fent).

Amire a relék és a szerverek nem képesek:

Amit nem véd:

Hogyan ellenőrizzük. Két belső felülvizsgálat a fenyegetésmodell alapján (2026. november 2.) és az azokból következő javítások; tesztek arra, hogy mit mutatnak az egyes események és blokkok; minden olyan olvasó fuzzolása, amely kívülről érkező adatot dolgoz fel (események, pecsétek, manifestek, linkek, mentések). Külső audit még nincs: egyet a nyilvános béta előtt tervezünk, és a jelentését teljes egészében közzétesszük. A Drive még fejlesztés alatt áll.

Támogatott verziók

A biztonsági javításokat a legutóbb kiadott verzióba építjük be. A projekt méretéből adódóan a régebbi verziókat nem tartjuk karban — kérjük, a bejelentés előtt frissítsen.