Pāriet uz dokumentāciju
Zināšanu bāze

Pilnīga šifrēšana (end-to-end)

OpenPGP atslēgas, kas izveidotas tavā pārlūkā. Pastu, ko sūti uz citu OpenEmail adresi, var aizzīmogot, pirms tas pamet cilni, un tev adresēts aizzīmogots pasts atveras lasīšanas rūtī, atšifrēts tavā datorā. Atslēgas nekad nav mūsu, lai tās nodotu tālāk.

Detaļas

  • Abas puses ir savienotas no gala līdz galam. Rakstot saņēmējam, kura atslēga ir publicēta, teksts tiek aizzīmogots pārlūkā, pirms pieprasījums to pamet; serverim tiek pasniegts bruņots bloks, ko tas nevar izlasīt, tas to atzīmē kā pgp-mime un uzbūvē īstu multipart/encrypted ziņojumu. Lasīšana notiek tāpat, tikai pretējā virzienā: šifrteksts tiek atnests, atšifrēts cilnē un attēlots kā parasts pasts.
  • Algoritms ir tas pats, ko jau lieto visi pārējie: OpenPGP, caur openpgp.js, un PGP/MIME pa vadu. v4 atslēga uz Curve25519, tāda pati forma, kādu izsniedz Proton un kādu ar savu noklusēto moderno algoritmu rada gpg. Tātad pasts, ko šis lasa, principā ir tas pats pasts, ko rada Thunderbird, gpg un Proton, un šeit nekas nav mūsu pašu formāts, kas vēlāk būtu jāattīsta atpakaļ.
  • Praksē tas tomēr ir no OpenEmail uz OpenEmail. Šajā kodu bāzē nekur nav ne Web Key Directory, ne atslēgu servera uzmeklēšanas, ne Autocrypt galvenes parsēšanas: vienīgā vieta, kur saņēmēja atslēga jebkad tiek atrasta, ir mūsu pašu katalogs, kas tur atslēgas, ko no šīs lietotnes publicējuši cilvēki, kuru adrese ir uz šeit mitināta domēna. Nav arī veida, kā izdot savu atslēgu citiem. Lietotne publicē tavu publisko pusi šajā katalogā un nepiedāvā nekādu tās kopiju vai eksportu, tāpēc korespondentam Thunderbird nav atbalstīta veida, kā to iegūt. Sadarbspēja ar plašāko PGP pasauli ir formāta īpašība, nevis kaut kas, ko produkts tev pagaidām izdara.
  • Lasīšana šādi ierobežota nav, jo atšifrēšanai katalogs nav vajadzīgs. Jebkurš PGP/MIME vai iekļautā PGP ziņojums, kas sasniedz šo pastkasti aizzīmogots ar šajā pārlūkā esošu atslēgu, atveras — lai kas to sūtītu un lai kādu klientu viņš lietotu. Tas ietver ziņojumus, kas aizzīmogoti ar atslēgu, no kuras kopš tā laika esi aizrotējis: atsauktās atslēgas paliek atslēgu saišķī un tiek izmēģinātas līdzās pašreizējai, tāpēc rotēšana nemaksā tev jau saņemto pastu.
  • Zaļš nozīmē „atvērts”, un citādi tas nav sasniedzams. Rinda Detaļas → Drošība kļūst zaļa tikai pēc tam, kad atšifrēšana šajā cilnē tiešām ir atgriezusi atklātu tekstu, nekad no kāda lauka uz ziņojuma, nekad no tā, ka pienāca šifrēta aploksne. Tajā rakstīts „Šifrēts no gala līdz galam. Atvērts ar tavu atslēgu šajā pārlūkā”. Visam, kas ir mazāk par to, ir savs teikums, nevis kopīgs: vēl meklē, atslēga aizslēgta, aizzīmogots ar atslēgu, kuras šajā pārlūkā nav, nevarēja atvērt, atslēgas šeit nav vispār un šis pārlūks neļāva mums paskatīties. „Mēs nevarējām pārbaudīt” un „tev nav atslēgas” ir dažādi apgalvojumi, un rinda liek tev izlasīt, kuru no tiem saņēmi.
  • S/MIME joprojām nevar atvērt. Tas ir CMS zem X.509 sertifikāta, openpgp.js tam netiek klāt, un produktā nav sertifikātu krātuves, kas turētu atslēgu, pat ja tiktu, tāpēc S/MIME ziņojums saka, ka OpenEmail to nevar atvērt, un tam netiek piedāvāta atslēgšana, kas neko nedotu.
  • Privātā puse tiek ģenerēta tavā pārlūkā un nekad to nepamet: ne šifrēta, ne rezerves kopijā, ne atbalsta rīkā. Serverim tā nekad netiek nosūtīta, tāpēc šeit nav nekā, ko nodot, pieprasīt ar tiesas rīkojumu vai nopludināt. Tā tiek glabāta ar paroles frāzi aizslēgta savā IndexedDB datubāzē openemail-keyring, apzināti ārpus „iztīri kešatmiņu” padoma un atkļūdošanas konsoles atiestatīšanas sasniedzamības: abi notīra vaicājumu kešatmiņu, un atslēga, kas glabātos tai blakus, padarītu ikdienišķu atbalsta padomu par neatgriezenisku visu šifrēto ziņojumu iznīcināšanu, ko konts jebkad ir saņēmis. Konta dzēšana to gan izdzēš, jo tur arī pasts aiziet līdzi. Atslēgšana tur to atmiņā 15 minūtes bez darbības un, ilgākais, 8 stundas, pēc kā nākamā aizzīmogotā ziņojuma lasīšana atkal prasīs paroles frāzi.
  • Nav ne deponēšanas, ne atkopšanas, un tas ir pastāvīgi, nevis neuzbūvēts. Tava paroles frāze ir vienīgais ceļš iekšā; aizmirsti to, un katrs ziņojums, ko kāds tev aizzīmogoja, paliek uz mūsu serveriem kā šifrteksts, ko neviens nevar izlasīt, arī mēs ne. Pasts ir pazudis, un nekāda lūgšanās to neatgūs. Reģistrācijas ekrāns to pasaka, pirms pastāv pirmā atslēga, aiz izvēles rūtiņas, kas jāatzīmē, un rezerves kopijas fails ir obligāts, un poga Gatavs paliek neaktīva, līdz tu to esi lejupielādējis. Šis fails apzināti tiek rakstīts bez papildu glabāšanas aizsardzības, ko lieto šis pārlūks, lai tas joprojām importētos vecākos gpg būvējumos: rezerves kopija, ko citur nevar atvērt, nav rezerves kopija. Atslēga arī dzīvo vienā pārlūkā vienā ierīcē, un tālrunim vai otrajam klēpjdatoram nav nekā, kamēr tu tur neimportē šo failu.
  • Katalogs tur publiskās atslēgas un neko citu, un atslēga pieder cilvēkam, nevis pastkastei, jo tāda, kas piesaistīta adresei, būtu jākopē starp visiem, ar kuriem šī adrese ir koplietota, kas ir deponēšana ar citu nosaukumu. Uzmeklēšanai vajag pieteiktu sesiju un atļauju sūtīt, nekad publisku galapunktu, jo atklāta adrešu aptauja ir orākuls, kas ikvienam pasaka, kuras adreses šeit ir dzīvas pastkastes. Tas atbild identiski gan uz „mēs to nemitinām”, gan „mēs to mitinām, un neviens nav publicējis atslēgu”, jo to nošķiršana tikai pārvieto orākulu aiz pieteikšanās, nevis to novērš. Un atslēga pārstāj tikt izdota brīdī, kad tās īpašnieks zaudē piekļuvi adresei, nevis tad, kad kāds atceras to atsaukt.
  • Katrs baits tiek aizzīmogots pārlūkā tajā brīdī, kad to uzraksti, un tieši tas vispār padara iespējamus aizkavētus sūtījumus: ieplānots ziņojums vai tāds, kas atrodas atsaukšanas logā, tiek glabāts kā šifrteksts un vēlāk izsūtīts ar rindu, kurai nav nevienas atslēgas un kura neko no tā nevar izlasīt. Saņēmējs, kura uzmeklēšana katalogā NEIZDEVĀS, aptur sūtījumu, nevis tiek klusi uzskatīts par tādu, kam atslēgas nav. Un aizzīmogots ziņojums aiziet tikai pa ceļu, kas nes ziņojumu veselu. Izejošs ceļš, kas tā vietā ņem HTML tekstu, nosūtītu bruņojumu kā redzamo tekstu un ziņotu par veiksmi, tāpēc sūtījums, kas tur nonāktu, tiek atteikts, pirms izlido kaut viens baits, nevis pēc tam.
  • Ko aizzīmogošana maksās, izmērīts, nevis uzminēts: bruņojums ir aptuveni 1,86 reizes lielāks par neapstrādātajiem baitiem, tāpēc 5 MB, ko atļauj sūtīšanas ceļš, ietilpst aptuveni 2,7 MB pielikumu, un redaktors atsaka lielāku kravu, pirms pavada sekundes, šifrējot tādu, ko transports noraidītu. Šifrēts pasts neziņo ne par atvēršanām, ne klikšķiem, jo izsekošana uz katru saņēmēju darbojas, mainot tekstu katram cilvēkam, bet viens aizzīmogots bloks mainīties nevar, un pārrakstīta saite ir saite, ko mēs varam lasīt, kas ir pretstats apgalvojumam. Šifrētu sūtījumu nekad nevar arī atkārtoti atpazīt pēc idempotences atslēgas: svaiga sesijas atslēga katrā mēģinājumā padara šifrtekstu par citiem baitiem, tāpēc atkārtojums nekad neatstāj tādu pašu nospiedumu kā oriģināls.
  • Ieplānošana aizzīmogo rakstīšanas, nevis sūtīšanas brīdī. Redaktors uzbūvē šifrtekstu pret atslēgām, kas tā saņēmējiem ir tajā dienā, kad tu raksti, nevis tajā, kad ziņojums aizietu, — tā pati kārtula, ko šis produkts jau piemēro veidnēm un tulkojumiem, kur ieplānots ziņojums nes to, ko tu apstiprināji, nevis to, kas mainījies pēc tam. Atšķirība ir tāda, ka novecojusi veidne ir tikai novecojusi, bet novecojusi atslēga ir nelasāma, tāpēc redaktors nosauc datumu vārdiem, nevis piedāvā atrunu: „Aizzīmogots tagad, nosūtīts …. Ikvienam adresātam būs vajadzīga tā atslēga, kas viņam ir šodien.” Atteikums, kas sargā otru pusi, ir ieviests, bet nekad nav nostrādājis, jo tāds ziņojums vēl nevar pastāvēt: ja tāds būtu, tā rediģēšana pēc tam tiktu atteikta, nevis klusi atļauta, jo teksta labošana uzrakstītu atklātu tekstu pāri šifrtekstam, bet saņēmēju maiņa mainītu to, kam tas tika aizzīmogots, un jebkurš no abiem piegādātu atklātu tekstu, kamēr katrs ekrāns to joprojām sauktu par šifrētu.
  • Divas lietas redaktors nepiedāvās vispār un to arī pasaka, nevis kļūdās pie vada. Veidne tiek attēlota serverī no publicētas versijas, tāpēc šajā pārlūkā nav nekā, ko aizzīmogot. Atbilde zem sevis citē saraksti, un šis citāts tiek pievienots pēc tam, kad teksts būtu aizzīmogots, atstājot lasāmu visas sarakstes kopiju ārpus zīmoga, tāpēc atbildes un pārsūtījumus nevar šifrēt, kamēr citētā vēsture netiek ielocīta šifrtekstā.
  • Nekas no tā neslēpj tavu tēmas rindu, to, kam rakstīji, vai kad. Tēma uz aizzīmogota ziņojuma ceļo atklātā veidā tieši tāpat kā uz jebkura cita, un lasīšanas rūts to pasaka uz paša ziņojuma: „Tēma un adreses ceļoja atklātā veidā; šis teksts ne.” PGP aptver ziņojuma tekstu, un neviena tā realizācija neaptver pārējo. Arī melnraksti ir neaizzīmogoti, jo automātiskā saglabāšana visu laiku raksta atklātu tekstu tavā pastkastē, kamēr tu raksti, jo klusa nesaglabāšana zaudētu darbu, un slēdzene to atklāj vārdiem.
  • Aizzīmogota pasta atpazīšana bija pirmā un joprojām ir spēkā. PGP/MIME, iekļautais PGP bruņojums un S/MIME agrāk attēlojās kā tukšs ziņojums ar diviem bezjēdzīgiem pielikumiem, jo parsētājs par lasāmu uzskata tikai vienkāršu tekstu un HTML, bet pārējo iemeta failu joslā. Tagad šīs daļas tiek identificētas, protokola mēbeles tiek turētas ārpus pielikumu saraksta, šifrteksts tiek saglabāts neskarts, un tieši no tā lasītājs atšifrē, nevis atnes ko jaunu, un ziņojums, ko šeit neviens nevar atvērt, to joprojām skaidri pasaka.
  • Parakstīts ziņojums tiek uzskatīts par atsevišķu lietu, jo tāds tas arī ir. Tā teksts ir lasāms, tāpēc meklēšana, kārtulas un viss pārējais uz tā turpina darboties; tas nekad netiek turēts aiz slēdzenes un nekad netiek laists caur atšifrēšanu. Rinda ziņo „Parakstījis sūtītājs. Paraksts nav pārbaudīts”, blāvi, un tā paliek blāva, līdz kaut kas šeit tiešām spēs pārbaudīt parakstu, ko pagaidām nespēj nekas, arī uz ziņojuma, kas veiksmīgi atšifrēts. Redzēt, ka ziņojums ir aizzīmogots, nav tas pats, kas to būt atvērušam, un tā atvēršana nav tas pats, kas zināt, kas to aizzīmogoja.
  • Šifrētam ziņojumam teksts tiek liegts visam, kas to citādi lasītu: meklēšanas fragmentam, pikšķerēšanas vērtētāja teksta caurskatei, MI rakstības pārbaudei, kārtulu nosacījumiem par tekstu, kalendāra ielūgumu importam un sarakstes kopsavilkumiem. Pikšķerēšanas pārbaudes autentifikācijas puse joprojām darbojas, jo DMARC, DKIM un SPF tiek nolasīti no galvenēm, ko šifrteksts neslēpj. Atšifrēšana neko no tā nemaina. Atklātais teksts pastāv tikai tajā cilnē, kas to atvēra, tāpēc aizzīmogots ziņojums paliek neatrodams meklēšanā un paliek ārpus MI funkcijām arī pēc tam, kad esi to izlasījis, un tulkošana tam netiek piedāvāta. Tā ir šī apgalvojuma cena, nevis izlaidums.