Ką serveris žino apie tave
Pradėkime nuo pagrindų. Solo2 serveris žino tiksliai tris dalykus apie tave: tavo vartotojo vardą, tavo unikalų identifikatorių ir tavo slaptažodžio maišą (hash). Maišas yra negrįžtama matematinė transformacija — serveris gali patikrinti, ar tavo slaptažodis teisingas, nežinodamas, koks jis yra. Tavo tikrasis slaptažodis egzistuoja tik tavo galvoje ir tavo įrenginyje.
Ir tai viskas. Serveris niekada neišsaugo, su kuo kalbatės ir kiek tunelių turite. Jis nežino jūsų kontaktų vardų. Ši informacija egzistuoja tik jūsų saugykloje, užšifruota jūsų įrenginyje. Serveris negali jos atidaryti, net jei norėtų.
Pašto dėžutės
Įsivaizduok sunumeruotų pašto dėžučių sieną, kaip senajame pašte. Kai tavo programėlė nori prisijungti prie kažko, ji palieka raštelį dėžutėje sakydama 'Noriu kalbėtis su vartotoju X'. Daugiau nieko. Ji nepasako, kas tu esi. Ji nepasako, apie ką nori kalbėti. Tik raštelis dėžutėje.
Periodiškai visos prie Solo2 prijungtos programėlės tikrina pašto dėžutes, ar kas nors paliko joms raštelį. Tai tarsi sustoti pašte ir paklausti: 'Ar yra kas nors man?'. Jei tavo kontaktas randa tavo raštelį, jis paprašo serverio IP adreso, kurį palikai. Serveris jį pateikia, ir ta informacija iš karto ištrinama iš atminties. Ji niekada neįrašoma į jokį diską. Ji gyvena serverio laikinojoje atmintyje milisekundes, reikalingas atsakyti.
Nuo to momento serveris dingsta
Kai abu įrenginiai žino vienas kito adresą, jie kalba tiesiogiai tarpusavyje. Serveris nebedalyvauja. Jis neperduoda žinučių. Jų nesaugo. Jis nežino, ar ryšys buvo užmegztas, ar ne. Jis nežino, kiek jis trunka. Jis nežino, kiek žinučių apsikeičiama ir kokio jos dydžio.
Tiek, kad jei serveris tą akimirką išsijungtų, du vartotojai toliau kalbėtųsi lygiai taip pat. Pokalbis nepriklauso nuo serverio. Jis priklausė nuo jo tik tam, kad du įrenginiai rastų vienas kitą. Prisijungus serveris yra nereikšmingas.
Pokalbis yra saugus dar net neprasidėjęs
Kai du žmonės sukuria tunelį Solo2, jų įrenginiai apsikeičia viešaisiais kriptografiniais raktais. Nuo tos akimirkos kiekviena žinutė yra užšifruota gavėjo raktu — ir tik gavėjas gali ją iššifruoti. Tai vyksta prieš bet kokio pokalbio pradžią. Raktai yra paruošti nuo tunelio sukūrimo momento.
Todėl, kai du įrenginiai jungiasi tiesiogiai, komunikacija jau yra apsaugota. Jiems nereikia nieko derėtis. Jiems nereikia prašyti serverio leidimo. Raktai yra jų, jų įrenginiuose, ir niekas kitas jų neturi.
Ką tai reiškia praktiškai
Tai reiškia, kad jokiame serveryje nėra tavo pokalbių įrašo. Nėra metaduomenų analizuoti. Nėra istorijos perduoti teismo nurodymu. Nėra duomenų bazės įsilaužti. Solo2 serveris negali perduoti to, ko neturi. Ir jis neturi nieko, nes niekada ir neturėjo.
Kitą kartą, kai kas nors pasakys, kad programėlė „užšifruoja jūsų žinutes nuo galo iki galo“, paklauskite, kas nutinka su visa kita informacija: kas žino jūsų kontaktus, kokiu laiku kalbatės, kaip dažnai. Jei atsakymas yra „mūsų serveris, bet mes nenaudojame to niekam blogam“ — tai tik pažadas. Solo2 atsakymas yra kitoks: niekas to nesaugo. Nes nėra ko paklausti.