Ko serveris zina par tevi
Sāksim ar pamatiem. Solo2 serveris zina tieši trīs lietas par tevi: tavu lietotājvārdu, tavu unikālo identifikatoru un tavas paroles jaucējkodu. Jaucējkods ir neatgriezeniska matemātiska transformācija — serveris var pārbaudīt, vai tava parole ir pareiza, nezinot, kāda tā ir. Tava īstā parole eksistē tikai tavā galvā un tavā ierīcē.
Un tas ir viss. Serveris nekad nesaglabā to, ar ko jūs runājat vai cik tuneļu jums ir. Tas nezina jūsu kontaktu vārdus. Šī informācija pastāv tikai jūsu seifā, šifrēta jūsu ierīcē. Serveris nevar to atvērt pat tad, ja gribētu.
Pastkastītes
Iedomājies sienu ar numurētām pastkastītēm, kā vecā pasta nodaļā. Kad tava lietotne vēlas savienoties ar kādu, tā atstāj zīmīti pastkastītē, sakot 'Es gribu runāt ar lietotāju X'. Nekas vairāk. Tā nesaka, kas tu esi. Tā nesaka, par ko tu gribi runāt. Tikai zīmīte pastkastītē.
Periodiski visas ar Solo2 savienotās lietotnes pārbauda pastkastītes, lai redzētu, vai kāds ir atstājis zīmīti tām. Tas ir kā apstāties pasta nodaļā un jautāt: 'Vai man kaut kas ir?'. Ja tavs kontakts atrod tavu zīmīti, tas pieprasa serverim IP adresi, ko tu atstāji. Serveris to nodrošina, un šī informācija tiek izdzēsta no atmiņas nekavējoties. Tā nekad netiek ierakstīta nevienā diskā. Tā dzīvo servera pagaidu atmiņā milisekundēs, kas nepieciešamas, lai atbildētu.
No šī brīža serveris pazūd
Kad abas ierīces zina viena otras adresi, tās runā tieši viena ar otru. Serveris vairs nepiedalās. Tas nepārsūta ziņojumus. Tas tos neglabā. Tas nezina, vai savienojums tika izveidots vai nē. Tas nezina, cik ilgi tas ilgst. Tas nezina, cik ziņojumu tiek apmainīti vai cik lieli tie ir.
Tik ļoti, ka, ja serveris tajā brīdī izslēgtos, abi lietotāji turpinātu runāt tieši tāpat. Saruna nav atkarīga no servera. Tā bija atkarīga no tā tikai tāpēc, lai abas ierīces varētu atrast viena otru. Kad savienojums izveidots, serveris ir nebūtisks.
Saruna ir droša vēl pirms tā sākas
Kad divi cilvēki izveido tuneli Solo2, viņu ierīces apmainās ar publiskajām kriptogrāfiskajām atslēgām. No šī brīža katrs ziņojums tiek šifrēts ar saņēmēja atslēgu — un tikai saņēmējs to var atšifrēt. Tas notiek pirms jebkuras sarunas sākuma. Atslēgas ir gatavas no brīža, kad tunelis tiek izveidots.
Tāpēc, kad abas ierīces savienojas tieši, komunikācija jau ir aizsargāta. Tām nav jāvienojas par neko. Tām nav jāprasa serverim atļauja. Atslēgas pieder tām, to ierīcēs, un nevienam citam to nav.
Ko tas nozīmē praksē
Tas nozīmē, ka nevienā serverī nav tavu sarunu ierakstu. Nav metadatu, ko analizēt. Nav vēstures, ko nodot tiesas orderim. Nav datubāzes, ko uzlauzt. Solo2 serveris nevar nodot to, kas tam nav. Un tam nav nekā, jo nekad nebija.
Nākamreiz, kad kāds jums saka, ka lietotne "šifrē jūsu ziņojumus no sākuma līdz beigām", pajautājiet viņam, kas notiek ar visu pārējo: kurš zina jūsu kontaktus, cikos jūs runājat, cik bieži. Ja atbilde ir "mūsu serveris, bet mēs to neizmantojam nekam sliktam" — tas ir tikai solījums. Solo2 gadījumā atbilde ir atšķirīga: neviens to nesaglabā. Jo nav kam pajautāt.