Aktualności · Bezpieczeństwo w Blackbear
Jak udostępnianie pozostaje zapieczętowane
Przy udostępnianiu większość produktów po cichu rezygnuje z szyfrowania. Gdy dwie osoby potrzebują tego samego dokumentu, najłatwiej odszyfrować go na serwerze i nazwać to funkcją. My nie poszliśmy na łatwiznę.
Blackbear udostępnia pliki, foldery i edycję na żywo, nie dając nam kluczy. Oto jak to działa od środka.
Uprawnienia to podpisany dokument
Każdą wspólną przestrzenią rządzi schemat uprawnień: mały dokument z zasadami, który wymienia każdego członka i to, co może robić. Podpisuje go urządzenie właściciela. Każda nowa wersja wiąże się ze skrótem poprzedniej i przesuwa licznik epok.
Gdy twoje urządzenie raz zobaczy jakąś wersję przestrzeni, odrzuca wszystko, co starsze: wersji ósmej nigdy nie zastąpi wersja siódma. Zupełnie nowe urządzenie nie ma historii do porównania i zaczyna od tego, co dostanie najpierw; od tej pierwszej chwili zapadka trzyma. Serwer rozsyła zasady. Nie może ich tworzyć i nie może ich cofnąć dla żadnego urządzenia z historią.
Jeden klucz, zapieczętowany dla każdego
Wspólna przestrzeń ma klucz do treści. Nikt nie rozsyła go jawnie. Jest pieczętowany osobno kluczem publicznym każdego członka, a serwer przechowuje te zapieczętowane kopie. Może trzymać je wszystkie i nie otworzyć żadnej.
Role, których nie da się podrobić
Czytelnik, komentujący, edytor, moderator, właściciel. Każde nadanie roli ma podpis osoby, która ją nadała. Edycja wiersza w bazie danych nikogo nie awansuje.
Odebranie dostępu zmienia klucz
Usunięcie kogoś przestawia epokę: klucz do treści się zmienia i jest ponownie pieczętowany dla wszystkich, którzy zostają. Wszystko, co jest udostępniane od tej chwili, jest dla osoby, która odeszła, niedostępne.
Uczciwość wymaga drugiej połowy: to, co ktoś już zsynchronizował, już do niego trafiło. Żaden protokół nie sięgnie do urządzenia i nie cofnie wysłanych danych. Kto twierdzi, że jego odbieranie dostępu to potrafi, próbuje ci coś sprzedać.
Edycja na żywo to przekazywany szyfrogram
Współpraca w czasie rzeczywistym przesyła przez serwer zaszyfrowane aktualizacje CRDT. Serwer widzi odciski kluczy członków, epoki kluczy i rozmiary. Porządkuje strumień i rozsyła go dalej. Słowa pojawiające się pod kursorem osoby, z którą edytujesz, są odszyfrowywane na jej urządzeniu, a nie u nas.
Autorstwo jest podpisane
Twoje działania są podpisywane kluczem twojego profilu. Pax podpisuje własnym. To, co piszesz ty, i to, co pisze twój asystent, pozostaje kryptograficznie rozróżnialne, bez żadnej konfiguracji z twojej strony.
Twoi ludzie nie płacą
Udostępnianie nie wymaga, by druga strona płaciła. Pieczętowanie treści działa tak samo dla każdego członka, na darmowym czy płatnym planie. A darmowi goście w pełni uczestniczą w przestrzeniach, które sponsoruje płacący gospodarz: piszą wiadomości, współedytują, dołączają do rozmów, na tych samych zasadach dostępu co wszyscy. Zasada pod spodem jest prosta: każde przekazywane połączenie musi obejmować co najmniej jednego gospodarza, a gdy serwer nie może tego udowodnić, odmawia.
To cała seria. Twoje treści są pieczętowane na twoim urządzeniu, zanim wyruszą w drogę. Nasze serwery prowadzą krótki, opublikowany rejestr metadanych. A udostępnianie rozszerza pieczęć, zamiast ją łamać.
Dalsza lektura
- Public-key cryptography — jak działa pieczętowanie dla konkretnej osoby
- Conflict-free replicated data types — matematyka pod wspólną edycją na żywo
- Yjs — silnik CRDT, na którym opiera się nasza edycja na żywo
- Hash chains — dlaczego uprawnień nie da się po cichu cofnąć
- Digital signatures — dlaczego ról nie da się podrobić
Bezpieczeństwo w Blackbear
- 1. Czego nie możemy przeczytać
- 2. Co widzą nasze serwery
- 3. Jak udostępnianie pozostaje zapieczętowane (jesteś tutaj)