Šifrování
Všechno, co bae ukládá do cloudového domova, je zašifrováno, než opustí zařízení; nešifrovaný režim neexistuje. bae neimplementuje vlastní kryptografii: celé schéma patří coven a tato stránka popisuje, jak ho bae používá.
Klíče
Odkaz na tuto sekci| Klíč | Co dělá |
|---|---|
| Klíč úložiště | šifruje knihovnu a její záznamy členství |
| Klíč kruhu každé osoby | šifruje to, co si osoba nechává soukromé: její soukromou historii přehrávání a playlisty |
| Klíč každého souboru | šifruje jeden soubor a putuje jen uvnitř šifrovaných změn jeho řádku |
| Podpisový pár klíčů osoby | podepisuje každou změnu, kterou její zařízení pošlou |
| Pečeticí pár klíčů osoby | otevírá klíče zapečetěné pro tuto osobu |
Klíč úložiště je náhodný, vytvořený ve chvíli, kdy knihovna dostane cloudový domov. Páry klíčů osoby sdílejí všechna její zařízení. Soukromé klíče a klíče knihovny žijí v klíčence operačního systému, nikdy v souboru ani v databázi. K zařízení se dostanou dvěma způsoby, oba jsou popsány v Identita a členství: kód pro obnovení nese vlastní páry klíčů osoby a správce, který schválí pozvánku, zapečetí klíče úložiště pro pečeticí klíč nové osoby.
Rotace
Odkaz na tuto sekciKlíč se nikdy nemění na místě; přidá se nový. Po odebrání osoby přidá zařízení zbývajícího člena nový klíč úložiště a nový klíč pro každý kruh, ve kterém byla, než tam zapíše další data: všechno zapsané potom je pro ni nečitelné, zatímco zbývající členové drží každý starší klíč a mohou číst celou historii. Odebrání jediného zařízení nic neobmění, protože ostatní zařízení osoby sdílejí jeho klíče; od odebrání se to, co zařízení pošle, nepočítá.
Co se pečetí
Odkaz na tuto sekciKaždý objekt v domově: změny, snapshoty, záznamy členství a soubory. Obsah se šifruje pomocí XChaCha20-Poly1305, každá změna je podepsaná Ed25519 a klíče se pro lidi pečetí zapečetěnými schránkami X25519. Soubory se šifrují v blocích po 64 KiB, každý ověřený samostatně a svázaný se svou pozicí, takže blok nelze nepozorovaně změnit, prohodit ani přeuspořádat. Díky blokům funguje streamování: přehrávač může dešifrovat přesně ty bloky, které načítá.
Co vidí poskytovatel
Odkaz na tuto sekciPočet objektů, velikosti objektů, časy nahrávání, který účet zapisuje každý objekt a které zařízení nahrálo každý soubor a snapshot, protože jejich cesty zařízení pojmenovávají. Ne názvy, ne metadata, ne audio, ne obrázky. Soubory leží pod náhodnými názvy, nikdy pod hashem svého obsahu. Neexistuje obnova na straně serveru: pokud každá osoba ztratí každé zařízení i každý kód pro obnovení, knihovna je ztracená, což odpovídá návrhu.
Klíčenka
Odkaz na tuto sekciOtevření knihovny čte její klíče z klíčenky operačního systému. Klíčenka, která je právě zamčená, zamčenou relací nebo uspanou obrazovkou, se rozlišuje od poškozené: bae ukáže knihovnu jako zamčenou a po odemčení to zkusí znovu, místo aby hlásil knihovnu jako nepoužitelnou. Zařízení může klíč také zapomenout, což knihovnu na tom zařízení zamkne, dokud se znovu neodemkne.