Přejít na dokumentaci
Znalostní báze

Šifrování uložených dat

Každé pole zprávy zapečetěné dřív, než se zapíše (tělo, předmět, adresy i bajty příloh), takže kopie databáze je šifrovaný text, ne pošta.

Zatím ne

Dnes jsou takto zapečetěné jen přihlašovací údaje, které nám předáte; těla, předměty a přílohy se ukládají tak, jak dorazily, a obálka, která je jednou zapečetí, je postavená, ale záměrně není napojená na nic.

Podrobnosti

  • Nenasazeno. Zapečetěná před zápisem je jedna jediná věc a nic víc: podpisové tajemství webhooku. Pečetí se pod vlastním odvozeným klíčem, takže šifrovaný text vytažený z jedné tabulky nelze otevřít jako jinou, a je to jediné místo v celé kódové základně, kde se vůbec něco pečetí. Neprochází tím žádné tělo, předmět, kontakt, poznámka, položka kalendáře ani příloha.
  • Je to jiné tvrzení než ta dvě okolo a rozdíl je v tom, kdo drží klíč. End-to-end šifrování znamená, že klíč je váš a pošta je tady nečitelná; šifrování uložených dat znamená, že se pošta pečetí cestou do úložiště pod klíčem, který odvozuje tento server, takže výpis databáze, zatoulaná záloha nebo dotaz, který někdo neměl spustit, jsou šifrovaný text, zatímco server sám si ji pořád umí otevřít, aby ji navlákal, prohledal a shrnul. To první vás chrání před námi. To druhé vás chrání před všemi ostatními, a právě to se pořád dokola stává jiným lidem.
  • Co platí dnes, stojí za to říct rovnou, místo aby se to muselo odvozovat: pošta je uložená na infrastruktuře, která šifruje vlastní disky, žádná naše vlastní vrstva nad tím není a klíče držíme my, takže server umí přečíst, co ukládá, a funkce, které vaši poštu prohledávají a shrnují, přesně to dělají. Stránka o soukromí to v těchto slovech říká od chvíle, kdy vznikla, a bude to říkat dál, dokud tohle nevyjde.
  • Každé pole je víc než tělo. Předmět, seznam odesílatele a příjemců i úryvek, který vykresluje seznamový pohled, sedí v obyčejných indexovaných sloupcích, a stejně tak shrnutí vygenerovaná ze zprávy, poznámky, které připojujete k vláknu, jména kontaktů, názvy a místa událostí v kalendáři i název a typ každého souboru. Karta, která by říkala šifrováno, zatímco řádek předmětu zůstává nezašifrovaný, by byla přesně ten zámek, který tenhle produkt odmítá kreslit kdekoli jinde.
  • Otevřenou otázkou bylo, co to stojí, a vyhledávací polovina má teď místo argumentu číslo. Vyhledávání je dnes dotaz nad prvními 4 000 znaky nejnovější zprávy každého vlákna, držených jako prostý text. Zapečetěné se z toho stane dešifrování a průchod uvnitř úložiště schránky, které klíč už drží, po blocích místo po řádcích: na syntetickém korpusu to je zhruba 100 až 400 milisekund na 50 000 konverzacích a zhruba nad 200 000 to potřebuje výsledky, které přicházejí postupně místo najednou. Měřilo se to na vývojářském stroji proti vygenerované poště, ne na živé schránce, takže je to tvar té ceny, ne slib o té vaší. Shoda na libovolném úlomku slova tedy přežije přesně tak, jak funguje dnes, a nic nemusí zapisovat na disk index hashů slov, aby si ho někdo později odnesl. Tentýž text čte i sumarizátor, průchod tělem u hodnocení phishingu, kontrola psaní AI i každé pravidlo hledající shodu ve slovech, a každý z nich si ho otevírá stejně, což je poctivý tvar tohoto tvrzení: zapečetěno proti kopii databáze, nikdy ne proti serveru.
  • Než se zapečetí cokoli nenahraditelného, musí obálka nést vlastní verzi a vlastní id klíče. Každý odvozený klíč dnes visí na jednom tajemství a jeho rotace vás stojí podpisová tajemství webhooků; kdyby se stejně pečetila těla, stála by rotace poštu. Ten kus je postavený a nic jím zapečetěno nebylo. Každá obálka, kterou vyrobí, nese vlastní verzi a id klíče, který ji vyrobil, čitelné dřív, než se ji někdo pokusí otevřít, a váže se k přesnému řádku, kam patří: hodnota vytažená z jednoho řádku a vložená do jiného se neotevře a řekne, že byla přesunuta, místo aby selhala jako špatný klíč. Zatím to nic nevolá, a právě proto se to stavělo první. Formát je ten závazek; jeho přijetí, pole po poli, je ta část, která zůstává vratná.
  • O tom, co se pečetí, rozhoduje jediná věta, aby se dala použít i na sloupec, na který zatím nikdo nepomyslel: zapečeť všechno, co člověk napsal nebo vybral, nech být všechno, co vybral stroj. Předmět, tělo, poznámka k vláknu, jméno kontaktu, název události v kalendáři, název souboru, pravidlo, které jste napsali: to přišlo od vás. Id zprávy, stav fronty, počet opakování, id řádku: to vzniklo tady a zapečetění nepřinese nic, zatímco stojí každý dotaz, který to čte. Nad tím stojí dvě výjimky. Hodnotu, která už je nevratná, hash nebo otisk tokenu, zapečetění bezpečnější neudělá. Hodnota publikovaná záměrně zůstává čitelná, protože zapečetit ji by znamenalo zapečetit to jediné, kvůli čemu existuje.
  • Podle toho pravidla zůstávají čitelné tři věci a každá z nich je něco, na čem schránka stojí, ne nedodělaný kout. Časová razítka, protože jsou řadicím klíčem a kurzorem stránkování, a schránka, která neumí řadit podle data, není schránka. Vaše doména, protože dotaz, který ji čte, je způsob, jak příchozí zpráva najde tenanta, kam patří, ještě než je kdokoli přihlášený a než je po ruce jakýkoli klíč. Publikované klíče, protože si ten váš odesílatel vyhledá. Každá z nich něco říká o tvaru účtu a žádná z nich není obsahem vaší pošty.
  • Pečetění pod klíčem, který odvozuje server, je první příčka a ta právě stavěná. Druhá, tedy pečetění na váš klíč hned při příchodu pošty tak, aby ji žádný zdejší klíč neotevřel, je větší změna a jiný produkt: tělo natrvalo opouští vyhledávání i funkce AI a úschova klíče i obnovovací fráze se přesouvá mezi vás a vaši vlastní poštu. To je rozhodnutí, které se dělá záměrně, ne přepínač k přehození, a tahle karta řekne, které z toho vyšlo, místo aby to obojí smíchala.