Model prijetnji
Tko što može vidjeti i što ga zaustavlja
Model prijetnji koristan je samo ako protivnike protiv kojih gubi imenuje jednako jasno kao one koje pobjeđuje. Svaki redak u nastavku navodi što taj protivnik vidi, do čega ne može doći, koja obrana postoji i što ipak ostaje moguće.
PrivaMesh je osmišljen protiv operatera koji želi vaše podatke, promatrača lanca koji čita sve javno i varalice koja pokušava presresti dodavanje kontakta. Najslabiji je protiv globalnog analitičara vremena, a protiv kompromitiranog uređaja ne nudi ništa.
| Protivnik | Vidi | Ne može | Obrana | Još moguće |
|---|---|---|---|---|
| PrivaMesh, operater | Da je neki račun platio slanje, i kada | Čitati poruke, saznati primatelje, popisati vaše kontakte ili rekonstruirati povijest | Nema baze računa ni spremišta poruka; slijepi tokeni odvajaju plaćanje od slanja | Mogli bismo biti prisiljeni pokazati da je neki račun nešto poslao u određeno vrijeme |
| RPC pružatelj | Vašu IP adresu, vrijeme zahtjeva, transakcije koje šaljete | Išta dešifrirati ili saznati čija je koja jednokratna adresa | Krajnja točka je zamjenjiva i može se samostalno hostati | Pružatelj koji bilježi stvara sliku, na razini mreže, o tome kada ste aktivni |
| Promatrač lanca | Nadopunjeni šifrirani tekst, jednokratne adrese, točna vremena transakcija | Pročitati sadržaj ili povezati dvije poruke iz istog razgovora | Skrivene adrese, fiksne razine nadopune, neobavezan maskirni promet | Bez maskirnog prometa vaš je obrazac aktivnosti kroz vrijeme potpuno vidljiv |
| Globalni analitičar vremena | Koreliranu aktivnost na cijeloj mreži odjednom | Dešifrirati ili kriptografski povezati adrese | Maskirni promet u nasumičnim razmacima od 3 do 10 minuta, ako je uključen | Protiv ovog protivnika branimo se najlošije; promatrač cijele mreže s neograničenim čuvanjem izvan je onoga što bilo koji dizajn na razini pojedinačnih poruka može riješiti |
| Netko s vašim otključanim telefonom | Sve: otvoreni tekst, kontakti, ključevi | Vratiti poruke koje je ratchet već izbrisao | Pohrana u privjesku za ključeve iza Face ID-ja ili Touch ID-ja; tajnost unaprijed ograničava prošlost; kod pod prisilom briše račun umjesto da ga otvori | Kompromitacija uređaja potpuna je za sve što je trenutno na njemu, a kod pod prisilom pomaže samo u trenutku kad se od vas traži otključavanje - ne ako je pohrana prije kopirana |
| Netko tko ima vašu frazu za oporavak | Vaš identitet, i može se ubuduće predstavljati kao vi | Pročitati ratchet dio prošlih razgovora - ti su ključevi bili nasumični i samo na uređaju | Fraza nikad ne napušta vaš uređaj i nikad se ne prenosi | Ključ identiteta, potpisani prekey i PQ prekey izvode se iz fraze, a jednokratni prekeyji se ne objavljuju, pa se početna poruka svakog razgovora može ponovno izračunati iz fraze i trajne omotnice na lancu. Opoziv također ne postoji |
| Zlonamjeran kontakt | Sve što mu šaljete, i može napraviti snimku zaslona ili proslijediti | Doći do drugih ljudi s kojima razgovarate ili čitati druge razgovore | Blokiranje i zasebni ključevi za svaki razgovor | Nikakva kriptografija ne sprječava da vaš sugovornik bude nepouzdan |
| Varalica pri dodavanju kontakta | Ništa, ako provjera uspije | Podmetnuti svoj ključ umjesto kontakta čiji je paket potpisan na lancu | Paketi prekeyja potpisani novčanikom i objavljeni na lancu, pa nijedan registar ne može podmetnuti ključ računa | Nema sigurnosnog broja ni otiska za usporedbu, pa se potvrda da račun pripada željenoj osobi obavlja u potpunosti izvan aplikacije i bez pomoći |
| Apple | Da je vaš Apple ID kupio pretplatu | Vidjeti poruke, kontakte ili povezati kupnju s vašom aktivnošću slanja | Slijepi tokeni stoje između kupnje i svakog slanja | Apple zna da ste korisnik PrivaMesha, što je na iOS-u neizbježno |
| Cenzor na razini mreže | Da ste se spojili na Solana RPC krajnju točku | Čitati ili selektivno odbacivati pojedinačne poruke | RPC krajnje točke su zamjenjive, uključujući vlastite | Blokiranje Solane ili svih RPC-ova potpuno blokira dostavu |
Što ovaj model pretpostavlja
Da kriptografski primitivi drže: X3DH, Double Ratchet, AES-256-GCM i, na iOS-u 26, ML-KEM-768. Da vaš uređaj već nije kompromitiran. Da provjeravate je li kontakt koji dodajete osoba koju ste namjeravali. Ako išta od toga zakaže, ostatak dizajna vas neće spasiti.
Pretpostavlja i da je naša implementacija tih primitiva ispravna - zato je izvorni kod javan i pronađen propust se plaća. Potpuni popis onoga što nije obuhvaćeno nalazi se u poznatim ograničenjima.
Česta pitanja
Protiv čega se PrivaMesh najlošije brani?
Protiv globalnog protivnika koji neprestano promatra cijelu mrežu i sve čuva. Maskirni promet poskupljuje korelaciju vremena, ali ne pobjeđuje promatrača takvih razmjera, a lanac mu čuva trajan zapis s kojim može raditi.
Ako mi zaplijene uređaj, što je izloženo?
Sve što je trenutno na njemu: otvoreni tekst, kontakti i ključevi, osim ako je zaključan i napadač ne može proći Face ID. Tajnost unaprijed ograničava štetu na ono što ratchet još nije izbrisao - stare poruke već se ne mogu vratiti. Ako vas prisiljavaju da ga sami otključate, kod pod prisilom briše račun umjesto da ga otvori.
Može li se PrivaMesh prisiliti da preda moje podatke?
Može se zatražiti. Jedino što postoji za predaju jest da je neki račun platio slanje u određeno vrijeme. Nema sadržaja poruka, primatelja, popisa kontakata ni zapisa računa, jer se ništa od toga ne pohranjuje.
Pomaže li VPN?
Da, protiv RPC pružatelja i promatrača na razini mreže, dvaju protivnika koji vide vaš IP. Ne mijenja ništa u onome što se zapisuje na lanac, a to je ionako nečitljivo.