Model hrozeb
Kdo co může vidět a co ho zastaví
Model hrozeb je užitečný jen tehdy, když protivníky, s nimiž prohrává, jmenuje stejně jasně jako ty, které porazí. Každý řádek níže uvádí, co daný protivník vidí, kam nedosáhne, jaká obrana platí a co přesto zůstává možné.
PrivaMesh je navržen proti provozovateli, který chce vaše data, pozorovateli řetězce, který čte vše veřejné, a podvodníkovi, který se snaží zachytit přidání kontaktu. Nejslabší je proti globálnímu analytikovi časování a proti kompromitovanému zařízení nenabízí vůbec nic.
| Protivník | Vidí | Nemůže | Obrana | Stále možné |
|---|---|---|---|---|
| PrivaMesh, provozovatel | Že nějaký účet zaplatil odeslání, a kdy | Číst zprávy, zjistit příjemce, vypsat vaše kontakty ani zrekonstruovat historii | Žádná databáze účtů ani úložiště zpráv; slepé tokeny oddělují platbu od odeslání | Mohli bychom být donuceni ukázat, že nějaký účet v daný čas něco odeslal |
| Poskytovatel RPC | Vaši IP adresu, čas požadavků, odesílané transakce | Cokoli dešifrovat nebo poznat, komu patří která jednorázová adresa | Koncový bod je vyměnitelný a dá se hostovat sám | Poskytovatel, který loguje, si na úrovni sítě sestaví obraz toho, kdy jste aktivní |
| Pozorovatel řetězce | Doplněný šifrový text, jednorázové adresy, přesné časy transakcí | Přečíst obsah nebo spojit dvě zprávy z téže konverzace | Skryté adresy, pevné úrovně doplnění, volitelný maskovací provoz | Bez maskovacího provozu je váš vzorec aktivity v čase zcela viditelný |
| Globální analytik časování | Korelovanou aktivitu v celé síti najednou | Dešifrovat nebo kryptograficky spojit adresy | Maskovací provoz v náhodných intervalech 3-10 minut, je-li zapnutý | Proti tomuto protivníkovi se bráníme nejhůř; pozorovatel celé sítě s neomezeným uchováváním je mimo to, co dokáže vyřešit jakýkoli návrh na úrovni jednotlivých zpráv |
| Někdo s vaším odemčeným telefonem | Vše: otevřený text, kontakty, klíče | Obnovit zprávy, které ratchet už smazal | Uložení v klíčence za Face ID nebo Touch ID; dopředné utajení omezuje minulost; nouzový kód účet smaže, místo aby ho otevřel | Kompromitace zařízení je úplná pro vše, co na něm právě je, a nouzový kód pomůže jen ve chvíli, kdy vás někdo žádá o odemčení - ne pokud bylo úložiště zkopírováno předem |
| Někdo, kdo má vaši frázi pro obnovení | Vaši identitu, a může se za vás od teď vydávat | Přečíst ratchetovou část minulých konverzací - ty klíče byly náhodné a jen v zařízení | Fráze nikdy neopustí vaše zařízení a nikdy se nepřenáší | Klíč identity, podepsaný prekey i PQ prekey se odvozují z fráze a žádné jednorázové prekey se nezveřejňují, takže úvodní zprávu každé konverzace lze přepočítat z fráze a trvalé obálky v řetězci. Odvolání také neexistuje |
| Zlovolný kontakt | Vše, co mu posíláte, a může to zachytit snímkem obrazovky nebo přeposlat | Dosáhnout na další lidi, s nimiž mluvíte, nebo číst jiné konverzace | Blokování a oddělené klíče pro každou konverzaci | Žádná kryptografie nezabrání tomu, aby váš protějšek nebyl důvěryhodný |
| Podvodník při přidávání kontaktu | Nic, pokud ověření uspěje | Podstrčit svůj klíč místo kontaktu, jehož balíček je podepsán v řetězci | Balíčky prekey podepsané peněženkou a zveřejněné v řetězci, takže žádný registr nemůže klíč účtu podvrhnout | Neexistuje bezpečnostní číslo ani otisk k porovnání, takže potvrzení, že účet patří zamýšlené osobě, probíhá zcela mimo aplikaci a bez pomoci |
| Apple | Že vaše Apple ID koupilo předplatné | Vidět zprávy, kontakty nebo spojit nákup s vaší aktivitou odesílání | Slepé tokeny stojí mezi nákupem a každým odesláním | Apple ví, že jste zákazník PrivaMesh; na iOS se tomu nelze vyhnout |
| Cenzor na úrovni sítě | Že jste se spojili s koncovým bodem RPC Solany | Číst nebo selektivně zahazovat jednotlivé zprávy | Koncové body RPC jsou vyměnitelné, i za vaše vlastní | Blokace Solany nebo všech RPC zcela zablokuje doručování |
Co tento model předpokládá
Že kryptografická primitiva vydrží: X3DH, Double Ratchet, AES-256-GCM a na iOS 26 ML-KEM-768. Že vaše zařízení už není kompromitované. Že ověříte, že kontakt, který přidáváte, je zamýšlená osoba. Pokud cokoli z toho selže, zbytek návrhu vás nezachrání.
Předpokládá také, že naše implementace těchto primitiv je správná - proto je zdrojový kód veřejný a nalezená chyba se platí. Úplný seznam toho, co pokryto není, najdete ve známých omezeních.
Časté dotazy
Proti čemu se PrivaMesh brání nejhůř?
Proti globálnímu protivníkovi, který nepřetržitě sleduje celou síť a vše si uchovává. Maskovací provoz zdražuje korelaci časování, ale pozorovatele takového rozsahu neporazí a řetězec mu uchovává trvalý záznam.
Pokud mi zabaví zařízení, co je odhaleno?
Vše, co na něm právě je: otevřený text, kontakty a klíče, pokud není zamčené a útočník neprojde přes Face ID. Dopředné utajení omezuje škody na to, co ratchet ještě nesmazal - staré zprávy už obnovit nejdou. Pokud vás nutí odemknout ho sami, nouzový kód účet smaže, místo aby ho otevřel.
Lze PrivaMesh donutit vydat moje data?
Požádat lze. K vydání existuje jen to, že nějaký účet v daný čas zaplatil odeslání. Není tu obsah zpráv, příjemce, seznam kontaktů ani záznam účtu, protože nic z toho se neukládá.
Pomůže VPN?
Ano, proti poskytovateli RPC a pozorovateli na úrovni sítě - dvěma protivníkům, kteří vidí vaši IP. Na tom, co se zapisuje do řetězce, nic nemění, a to je stejně nečitelné.