Preskoči na sadržaj

Šifriranje

Sve što bae stavi u mjesto u oblaku šifrira se prije nego što napusti uređaj; nešifrirani način ne postoji. bae ne implementira vlastitu kriptografiju: cijela shema pripada coven-u, a ova stranica opisuje kako je bae koristi.

KljučŠto radi
Ključ spremištašifrira biblioteku i njezine zapise članstva
Ključ kruga svake osobešifrira ono što ta osoba drži privatnim: njezinu privatnu povijest reprodukcije i popise
Ključ svake datotekešifrira jednu datoteku i putuje samo unutar šifriranih promjena njezina retka
Par ključeva za potpisivanje osobepotpisuje svaku promjenu koju njezini uređaji pošalju
Par ključeva za pečaćenje osobeotvara ključeve zapečaćene za tu osobu

Ključ spremišta je nasumičan, stvoren kad biblioteka dobije mjesto u oblaku. Parove ključeva osobe dijele svi njezini uređaji. Privatni ključevi i ključevi biblioteke žive u privjesku ključeva OS-a, nikad u datoteci ni u bazi podataka. Do uređaja dolaze na dva načina, oba opisana u Identitet i članstvo: kod za vraćanje nosi vlastite parove ključeva osobe, a administrator koji odobri pozivnicu pečati ključeve spremišta za ključ za pečaćenje nove osobe.

Ključ se nikad ne mijenja na mjestu; dodaje se novi. Nakon uklanjanja osobe uređaj preostalog člana dodaje novi ključ spremišta i novi ključ za svaki krug u kojem je bila, prije nego što ondje zapiše još podataka: sve zapisano poslije za nju je nečitljivo, dok preostali članovi zadržavaju svaki stariji ključ i mogu čitati cijelu povijest. Uklanjanje jednog uređaja ništa ne rotira, jer ostali uređaji osobe dijele njegove ključeve; od uklanjanja se ono što taj uređaj pošalje ne računa.

Svaki objekt u mjestu: promjene, snimke, zapisi članstva i datoteke. Sadržaj se šifrira s XChaCha20-Poly1305, svaka promjena potpisuje se s Ed25519, a ključevi se za ljude pečate X25519 zapečaćenim kutijama. Datoteke se šifriraju u blokovima od 64 KiB, svaki zasebno autentificiran i vezan za svoj položaj, pa se blok ne može neprimjetno izmijeniti, zamijeniti ni preslagati. Blokovi su razlog zašto strujanje radi: reproduktor može dešifrirati točno one blokove koje dohvaća.

Što pružatelj može vidjeti

Poveznica na ovaj odjeljak

Broj objekata, veličine objekata, vrijeme prijenosa, koji račun piše svaki objekt i koji je uređaj prenio svaku datoteku i snimku, jer njihovi putovi imenuju uređaj. Ne nazive, ne metapodatke, ne zvuk, ne grafiku. Datoteke stoje pod nasumičnim nazivima, nikad pod sažetkom svog sadržaja. Nema oporavka na strani poslužitelja: ako svaka osoba izgubi svaki uređaj i svaki kod za vraćanje, biblioteka je izgubljena, što je namjerno ponašanje.

Privjesak ključeva

Poveznica na ovaj odjeljak

Otvaranje biblioteke čita njezine ključeve iz privjeska ključeva OS-a. Privjesak koji je trenutačno zaključan, zbog zaključane sesije ili zaslona u mirovanju, razlikuje se od pokvarenog: bae prikazuje biblioteku kao zaključanu i pokušava ponovno nakon otključavanja, umjesto da biblioteku proglasi neupotrebljivom. Uređaj može i zaboraviti ključ, što zaključava biblioteku na tom uređaju dok se ponovno ne otključa.