Şifreleme
bae’in bulut evine koyduğu her şey aygıttan çıkmadan önce şifrelenir; şifresiz mod yoktur. bae kendi kriptografisini uygulamaz: düzenin tamamı coven’e aittir ve bu sayfa bae’in onu nasıl kullandığını açıklar.
Anahtarlar
Bu bölüme bağlantı| Anahtar | Ne yapar |
|---|---|
| Depo anahtarı | kitaplığı ve üyelik kayıtlarını şifreler |
| Her kişinin çember anahtarı | o kişinin özel tuttuklarını şifreler: özel çalma geçmişini ve çalma listelerini |
| Her dosyanın anahtarı | tek bir dosyayı şifreler ve yalnızca satırının şifreli değişiklikleri içinde taşınır |
| Bir kişinin imza anahtar çifti | aygıtlarının gönderdiği her değişikliği imzalar |
| Bir kişinin mühürleme anahtar çifti | o kişiye mühürlenmiş anahtarları açar |
Depo anahtarı rastgeledir ve kitaplık bulut evine kavuştuğunda üretilir. Bir kişinin anahtar çiftleri tüm aygıtlarınca paylaşılır. Özel anahtarlar ve kitaplık anahtarları OS keyring içinde yaşar, asla bir dosyada veya veritabanında değil. Bir aygıta iki yoldan ulaşırlar, ikisi de Kimlik ve üyelik’te açıklanır: geri yükleme kodu bir kişinin kendi anahtar çiftlerini taşır ve daveti onaylayan yönetici depo anahtarlarını yeni kişinin mühürleme anahtarına mühürler.
Döndürme
Bu bölüme bağlantıBir anahtar asla yerinde değiştirilmez; yenisi eklenir. Bir kişi kaldırıldıktan sonra kalan bir üyenin aygıtı, oraya daha fazla veri yazmadan önce yeni bir depo anahtarı ve kişinin bulunduğu her çember için yeni bir anahtar ekler: sonrasında yazılan her şey onun için okunamaz olur, kalan üyeler ise her eski anahtarı tutar ve tüm geçmişi okuyabilir. Tek bir aygıtı kaldırmak hiçbir şeyi döndürmez, çünkü kişinin diğer aygıtları onun anahtarlarını paylaşır; kaldırmadan itibaren o aygıtın gönderdiği sayılmaz.
Ne mühürlenir
Bu bölüme bağlantıEvdeki her nesne: değişiklikler, snapshot’lar, üyelik kayıtları ve dosyalar. İçerik XChaCha20-Poly1305 ile şifrelenir, her değişiklik Ed25519 ile imzalanır ve anahtarlar kişilere X25519 mühürlü kutularla mühürlenir. Dosyalar 64 KiB parçalar halinde şifrelenir; her parça ayrı doğrulanır ve konumuna bağlanır, böylece bir parça fark edilmeden değiştirilemez, takas edilemez veya yeniden sıralanamaz. Parçalama akışın çalışmasının nedenidir: çalar tam olarak aldığı parçaları çözebilir.
Sağlayıcı ne görebilir
Bu bölüme bağlantıNesne sayısı, nesne boyutları, yükleme zamanlaması, her nesneyi hangi hesabın yazdığı ve her dosyayı ve snapshot’ı hangi aygıtın yüklediği, çünkü yolları aygıtı adlandırır. Adlar değil, üst veri değil, ses değil, görsel değil. Dosyalar rastgele adlar altında durur, asla içeriklerinin karması altında değil. Sunucu taraflı kurtarma yoktur: herkes her aygıtını ve her geri yükleme kodunu kaybederse kitaplık kaybolur; tasarımın amaçladığı budur.
Anahtarlık
Bu bölüme bağlantıBir kitaplığı açmak anahtarlarını OS keyring’den okur. O anda kilitli olan bir anahtarlık, kilitli bir oturum veya uyuyan bir ekran yüzünden, bozuk olandan ayrılır: bae kitaplığı kitaplık kullanılamaz demek yerine kilitli gösterir ve kilit açıldıktan sonra yeniden dener. Bir aygıt anahtarı unutabilir de; bu, kitaplığı o aygıtta yeniden açılana kadar kilitler.