Varmenna se 2 minuutissa
Paina F12 selaimessasi. Asentamatta mitään. Ilman ohjelmointitaitoja.
| Väite | Kuinka varmentaa | Välilehti |
|---|---|---|
| Ei evästeitä minkäänlaisia | Application → Cookies → tyhjä. Solo2 ei asenna mitään evästeitä. Istuntosi ylläpidetään localStorage:ssa, ei evästeissä. Ei _ga |
Application |
| Ei kolmannen osapuolen palveluita sovelluksessa | Network → suodata verkkotunnuksen mukaan → vain pyynnöt osoitteeseen solo2.net |
Network |
| Analytiikka vain aloitussivulla, ei sovelluksessa | Network → osoitteessa /* |
Network |
| Historiasi elää selaimessasi | Application → IndexedDB → solo2-vault-{userId} |
Application |
| Yhteystietoluettelo vain paikallisesti | Application → IndexedDB → store pares |
Application |
| Ei ulkoisia CDN:iä | Network → kaikki JS/CSS ladataan samasta verkkotunnuksesta. Ei cdn.jsdelivr.net |
Network |
| Istunnot enintään 24 tuntia | Application → localStorage → solo2_session |
Application |
| Näet käyttämäsi yhteystyypin | Chat-käyttöliittymässä: P2P-ilmaisin (vihreä) vs Mirror/TURN (oranssi) aina näkyvissä | UI |
| Umami on evästeetön | Application → Cookies → ei evästeitä osoitteesta stats.menzuri.com |
Application |
| Pääavaimesi luodaan satunnaisesti | Application → rekisteröityessäsi Solo2 luo 24 ainutkertaista sanaa. Ne eivät johdu salasanastasi — ne ovat itsenäinen avain 256 bitillä todellista entropiaa | Application |
Jos osaat käyttää DevToolsia
Varmennukset, jotka vaativat teknistä osaamista. Jos ymmärrät HTTP:tä, WebRTC:tä ja peruskryptografiaa, voit vahvistaa nämä väitteet.
| Väite | Kuinka varmentaa |
|---|---|
| E2E-salatut viestit | Network → pyynnöt osoitteeseen /cmd |
| E2E-salatut WebRTC-signaalit | Network → signaalivistit kulkevat salattuina binaariblobeina. Ne eivät ole luettavaa JSONia, jossa on offer |
| Pääavain on salasanasta riippumaton | Network → kirjautuminen vastaanottaa salatun wrapped_master_key |
| Yhtenevä täyte peilipalvelimella | Network → WebSocket/DataChannel-paketit ovat kiinteää kokoa relay-tilassa. Tarkista koot Network-välilehdeltä |
| Salasana suojattu (ei kulje selkoteksteinä) | Network → kirjautuminen lähettää tiivisteen, ei selkotekstiä. Et voi varmentaa mitä algoritmia palvelin käyttää (Argon2id), mutta voit varmentaa että alkuperäinen salasanasi ei koskaan poistu selaimesta |
| Yhdistämispyynnöt vanhenevat 3 päivässä | Luo pyyntö, älä vastaa siihen, varmenna 3 päivän jälkeen että se on kadonnut. Vaatii kärsivällisyyttä ja kaksi tiliä |
| Push-ilmoitukset salattuja | Network → push-pyynnöt Service Workeriin saapuvat salattuina (Web Push -standardi). Salattu sisältö näkyy Network-välilehdellä |
| Suora P2P-yhteys vs. relay | chrome://webrtc-internals/ |
Tätä et voi varmentaa
Olisimme tekopyhiä, jos väittäisimme että kaikki on varmenntavissa. Nämä väitteet edellyttävät luottamustasi — tai että odotat lähdekoodin julkaisua.
| Väite | Miksi tätä ei voi varmentaa |
|---|---|
| Double Ratchet avainten kierrolla | Kryptografiset operaatiot tapahtuvat WASM-binääritiedostossa. Käyttäjä näkee että se latautuu, mutta ei voi lukea mitä algoritmia se suorittaa |
| Pääavain luodaan todellisella entropialla (256 bittiä) | Luonti käyttää crypto.getRandomValues-funktiota selaimessa. Voit nähdä, että 24 sanaa luodaan, mutta et voi varmistaa F12:sta entropian laatua etkä sitä, että CSPRNG on turvallinen |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Sama ongelma: kryptografinen pino on WASM:n sisällä. Selaimesta ei voi vahvistaa käyriä tai algoritmeja |
| Palvelin on ”täysin sokea” | Voit varmentaa että asiakas ei lähetä luettavaa dataa. Mitä palvelin tekee yhteysmetatiedoilla (IP-osoitteet, aikaleimat) vaatii luottamusta tai palvelimen tarkastusta |
| Palvelin ei säilytä suhteita yhdistämisen jälkeen | Vaatii pääsyn palvelimen lähdekoodiin ja tietokantaan |
| IP-osoitteita ei kirjata | Et voi varmentaa mitä palvelin kirjaa lokeihinsa |
| Avaimet kiertevät jokaisen viestin yhteydessä | Tapahtuu WASM:n sisällä. Näet että viestejä lähetetään, mutta et voi tarkkailla avainten kiertoa |
| Poistetut tiedot todella katoavat | Voit poistaa paikallisesta IndexedDB:stä, mutta et voi varmentaa ettei palvelin säilytä kopioita (vaikka Manifesti sanoo ettei sillä koskaan ollut niitä) |
Miksi WASM on todellinen este
Solo2:n kryptografinen kerros on käännetty WebAssemblyksi — binäärimuoto, jonka selaimesi suorittaa mutta jota et voi lukea tekstinä. Tämä tarkoittaa että F12:sta et voi varmentaa mitä algoritmia käytämme.
Minifioitu JavaScript (jota käytämme käyttöliittymään) on käänteinen: selain voi muotoilla sen uudelleen ja koodirakenne on luettavissa. Se on käytännön este, ei todellinen este. Mutta Zigistä käännetty WASM on perustavanlaatuisesti erilainen
Sanomme, että se on Double Ratchet X25519:llä. Voit luottaa sanaamme tai voit odottaa, kunnes julkaisemme kryptografisen kerroksen lähdekoodin kaikkien tarkastettavaksi. Työskentelemme asian parissa.
Mitä teemme, jotta voit luottaa meihin enemmän
.wasm-tiedostojen SHA-256-tiivisteiden julkaisu
Julkaisemme jokaisen tuotannon WASM-tiedoston kryptografisen tiivisteen. Näin kuka tahansa tarkastaja voi varmentaa, että selaimessasi suoritettava binääritiedosto vastaa tarkasti sitä, minkä käänsimme.
Avata kryptografinen kerros avoimena lähdekoodina
Julkaista kryptografisen kerroksen lähdekoodi (Zig) julkisena repositoriona. Sama malli kuin Signal: avoin kryptografinen protokolla, muu koodi suljettu. Kuka tahansa voi kääntää lähdekoodin ja verrata tuloksena syntyneen .wasm-tiedoston tiivistettä tuotannossa olevaan.
Turvallisuus ei perustu salassapitoon
Turvallisuusmallimme on suunniteltu toimimaan vaikka lähdekoodi olisi julkinen. Jos turvallisuus riippuisi siitä, ettei kukaan pysty lukemaan koodia, se ei olisi turvallisuutta — se olisi toivoa.
5 dokumentoitua turvallisuuskerrosta
Salasana (pääsy palvelimelle), 24 sanaa (todellinen pääavain), laitteen salaisuus (holvin suojaus) ja Double Ratchet -kierto. Jokainen kerros on itsenäinen ja todennettavissa Läpinäkyvyysmanifestissamme.