Przejdź do dokumentacji
Baza wiedzy

Szyfrowanie w spoczynku

Każde pole wiadomości zapieczętowane przed zapisaniem (treść, temat, adresy i bajty załączników), tak by kopia bazy danych była szyfrogramem, a nie pocztą.

Jeszcze nie

Dziś w ten sposób zapieczętowane są wyłącznie poświadczenia, które nam powierzasz; treści, tematy i załączniki są przechowywane w takiej postaci, w jakiej przyszły, a koperta, która ma je pieczętować, jest zbudowana, ale celowo do niczego niepodpięta.

Szczegóły

  • Niewdrożone. Jedna rzecz jest pieczętowana przed zapisaniem i nic poza nią: sekret podpisujący webhooki. Jest pieczętowany własnym kluczem pochodnym, żeby szyfrogramu wyjętego z jednej tabeli nie dało się otworzyć jako innego, i to jedyne miejsce w kodzie, w którym cokolwiek jest w ogóle pieczętowane. Żadna treść, temat, kontakt, notatka, wpis kalendarza ani załącznik przez to nie przechodzi.
  • To inna deklaracja niż dwie sąsiednie, a różnica polega na tym, kto trzyma klucz. Szyfrowanie end-to-end oznacza, że klucz jest Twój, a poczta jest tu nieczytelna; szyfrowanie w spoczynku oznacza, że poczta jest pieczętowana w drodze do magazynu kluczem wyprowadzanym przez ten serwer, więc zrzut bazy, zagubiona kopia zapasowa czy zapytanie, którego ktoś nie powinien był uruchomić, są szyfrogramem, a sam serwer wciąż może je otworzyć, żeby wątkować, wyszukiwać i streszczać. Pierwsze chroni Cię przed nami. Drugie chroni Cię przed wszystkimi innymi i to właśnie ono wciąż przydarza się innym.
  • To, co jest prawdą dzisiaj, warto powiedzieć wprost, zamiast zostawiać do wywnioskowania: poczta leży na infrastrukturze, która szyfruje własne dyski, żadna nasza warstwa na tym nie siedzi, a klucze trzymamy my, więc serwer może odczytać to, co przechowuje, i funkcje, które przeszukują oraz streszczają Twoją pocztę, robią dokładnie to. Strona prywatności mówi to tymi słowami od chwili jej napisania i będzie to mówić, dopóki to się nie zmieni.
  • Każde pole znaczy więcej niż treść. Temat, lista nadawcy i odbiorców oraz fragment renderowany na liście siedzą w zwykłych indeksowanych kolumnach, podobnie jak streszczenia generowane z wiadomości, notatki dołączane do wątku, nazwy kontaktów, tytuły i lokalizacje wydarzeń kalendarza oraz nazwa i typ każdego pliku. Karta mówiąca „zaszyfrowane”, podczas gdy temat leży otwartym tekstem, byłaby tą kłódką, której ten produkt odmawia rysowania gdziekolwiek indziej.
  • Koszt był otwartym pytaniem, a wyszukiwanie ma teraz liczbę zamiast argumentu. Wyszukiwanie to dziś zapytanie po pierwszych 4000 znakach najnowszej wiadomości każdego wątku, trzymanych jako zwykły tekst. Po zapieczętowaniu staje się odszyfrowaniem i skanem wewnątrz magazynu skrzynki, który i tak trzyma klucz, wykonywanym porcjami, a nie wiersz po wierszu: na syntetycznym korpusie to około 100 do 400 milisekund na 50 000 rozmów, a powyżej mniej więcej 200 000 potrzebne są wyniki napływające stopniowo, a nie naraz. Mierzone na maszynie deweloperskiej na wygenerowanej poczcie, nie na żywej skrzynce, więc to kształt kosztu, a nie obietnica dotycząca Twojej. Dopasowanie do dowolnego fragmentu słowa przetrwa więc dokładnie tak jak teraz i nic nie musi zapisywać na dysk indeksu skrótów słów, żeby ktoś mógł go później wynieść. Ten sam tekst czytają streszczacz, przebieg phishingowy po treści, kontrola pisania przez AI i każda reguła dopasowująca się do słów, a każde z nich otwiera go tak samo, i taki jest uczciwy kształt tej deklaracji: zapieczętowane przed kopią bazy danych, nigdy przed serwerem.
  • Zanim zapieczętujemy cokolwiek nie do odtworzenia, koperta musi nieść własną wersję i własny identyfikator klucza. Każdy klucz pochodny wisi dziś na jednym sekrecie, a jego rotacja kosztuje Cię sekrety podpisujące webhooki; gdyby treści były pieczętowane tak samo, rotacja kosztowałaby pocztę. Ten element jest zbudowany i nic nim nie zapieczętowano. Każda tworzona przez niego koperta niesie własną wersję i identyfikator klucza, który ją wykonał, czytelne, zanim ktokolwiek spróbuje ją otworzyć, i wiąże się z dokładnie tym wierszem, do którego należy: wartość wyjęta z jednego wiersza i wrzucona do innego nie otworzy się i powie, że została przeniesiona, zamiast zawieść jak zły klucz. Nic jeszcze tego nie wywołuje i o to właśnie chodzi w budowaniu tego najpierw. Format jest zobowiązaniem; przyjmowanie go, pole po polu, jest częścią, która pozostaje odwracalna.
  • O tym, co zostaje zapieczętowane, decyduje jedno zdanie, tak by dało się je zastosować do kolumny, o której nikt jeszcze nie pomyślał: pieczętuj wszystko, co człowiek napisał albo wybrał, zostaw wszystko, co wybrała maszyna. Temat, treść, notatka do wątku, nazwa kontaktu, tytuł wydarzenia, nazwa pliku, wpisana przez Ciebie reguła: to pochodzi od Ciebie. Identyfikator wiadomości, stan kolejki, licznik ponowień, identyfikator wiersza: to powstało tutaj, a pieczętowanie ich nic nie daje, kosztując każde zapytanie, które je czyta. Na tym siedzą dwa wyjątki. Wartość już nieodwracalna, skrót albo skrót tokena, nie staje się bezpieczniejsza przez dodatkowe zapieczętowanie. Wartość publikowana celowo pozostaje czytelna, bo zapieczętowanie jej zapieczętowałoby to jedno, po co istnieje.
  • Trzy rzeczy zostają pod tą regułą czytelne i każda jest czymś, na czym skrzynka jest zbudowana, a nie niedokończonym kątem. Znaczniki czasu, bo są kluczem sortowania i kursorem paginacji, a skrzynka, której nie da się posortować po dacie, nie jest skrzynką. Twoja domena, bo zapytanie, które ją czyta, jest sposobem, w jaki przychodząca wiadomość odnajduje swojego najemcę, zanim ktokolwiek się zaloguje i zanim będzie jakikolwiek klucz w ręku. Klucze publiczne, bo nadawca musi znaleźć Twój. Każda z tych rzeczy mówi coś o kształcie konta i żadna nie jest treścią Twojej poczty.
  • Pieczętowanie kluczem wyprowadzanym przez serwer to pierwszy szczebel i ten właśnie budowany. Drugi, pieczętowanie Twoim kluczem w chwili przyjścia poczty, tak by żaden tutejszy klucz jej nie otworzył, to większa zmiana i inny produkt: treść na trwałe opuszcza wyszukiwanie i funkcje AI, a piecza nad kluczem i fraza odzyskiwania przechodzą między Tobą a Twoją własną pocztą. To wybór do podjęcia świadomie, a nie przełącznik do pstryknięcia, i ta karta powie, które z nich zostało wdrożone, zamiast zacierać różnicę.