رمز بندی
bae جو کچھ کلاؤڈ گھر میں رکھتا ہے وہ آلہ چھوڑنے سے پہلے رمز بند ہوتا ہے؛ رمز بندی کے بغیر کوئی حالت نہیں۔ bae اپنی رمز نگاری خود نہیں بناتا: پورا منصوبہ coven کا ہے، اور یہ صفحہ بتاتا ہے کہ bae اسے کیسے استعمال کرتا ہے۔
کلیدیں
اس حصے کا ربط| کلید | کیا کرتی ہے |
|---|---|
| store key | لائبریری اور اس کے رکنیت ریکارڈ رمز بند کرتی ہے |
| ہر شخص کی circle key | جو شخص نجی رکھتا ہے اسے رمز بند کرتی ہے: اس کی نجی سننے کی تاریخ اور playlists |
| ہر فائل کی کلید | ایک فائل رمز بند کرتی ہے، اور صرف اس کی قطار کی رمز بند تبدیلیوں کے اندر سفر کرتی ہے |
| شخص کا دستخطی کلید جوڑا | اس کے آلات کی بھیجی ہر تبدیلی پر دستخط کرتا ہے |
| شخص کا مہری کلید جوڑا | اس شخص کے لیے مہر بند کی گئی کلیدیں کھولتا ہے |
store key بے ترتیب ہے، لائبریری کو کلاؤڈ گھر ملنے پر بنتی ہے۔ شخص کے کلید جوڑے اس کے سب آلات بانٹتے ہیں۔ نجی کلیدیں اور لائبریری کی کلیدیں OS کلید خانہ میں رہتی ہیں، کبھی کسی فائل یا database میں نہیں۔ وہ آلے تک دو طریقوں سے پہنچتی ہیں، دونوں شناخت اور رکنیت میں بیان ہیں: restore code شخص کے اپنے کلید جوڑے لے جاتا ہے، اور دعوت منظور کرنے والا admin store keys کو نئے شخص کی مہری کلید کے لیے مہر بند کرتا ہے۔
کلید کی تبدیلی
اس حصے کا ربطکلید کبھی اپنی جگہ نہیں بدلی جاتی؛ نئی شامل کی جاتی ہے۔ کسی شخص کو ہٹانے کے بعد باقی رکن کا آلہ وہاں مزید ڈیٹا لکھنے سے پہلے نئی store key شامل کرتا ہے، اور ہر اس circle کے لیے نئی کلید جس میں وہ تھا: بعد میں لکھا گیا سب کچھ اس کے لیے ناقابل مطالعہ ہے، جبکہ باقی ارکان ہر پرانی کلید رکھتے ہیں اور پوری تاریخ پڑھ سکتے ہیں۔ ایک آلہ ہٹانے سے کچھ نہیں بدلتا، کیونکہ شخص کے دوسرے آلات اس کی کلیدیں بانٹتے ہیں؛ ہٹائے جانے کے بعد وہ آلہ جو بھیجے وہ شمار نہیں ہوتا۔
کیا بند ہوتا ہے
اس حصے کا ربطگھر کی ہر شے: تبدیلیاں، snapshots، رکنیت ریکارڈ اور فائلیں۔ مواد XChaCha20-Poly1305 سے رمز بند ہوتا ہے، ہر تبدیلی پر Ed25519 سے دستخط ہوتے ہیں، اور کلیدیں لوگوں کے لیے X25519 sealed boxes سے مہر بند ہوتی ہیں۔ فائلیں 64 KiB chunks میں رمز بند ہوتی ہیں، ہر chunk الگ سے تصدیق شدہ اور اپنی جگہ سے بندھا ہوا، اس لیے کوئی chunk پکڑے جانے کے بغیر بدلا، تبدیل یا آگے پیچھے نہیں کیا جا سکتا۔ chunking ہی کی وجہ سے بہاؤ کام کرتا ہے: player ٹھیک وہی chunks کھول سکتا ہے جو وہ لاتا ہے۔
فراہم کنندہ کیا دیکھ سکتا ہے
اس حصے کا ربطاشیا کی تعداد، اشیا کے سائز، اپ لوڈ کا وقت، کون سا اکاؤنٹ ہر شے لکھتا ہے، اور کس آلے نے ہر فائل اور snapshot اپ لوڈ کیا، کیونکہ ان کے راستوں میں آلے کا نام ہوتا ہے۔ کوئی نام نہیں، کوئی metadata نہیں، کوئی آواز نہیں، کوئی تصویر نہیں۔ فائلیں بے ترتیب ناموں کے تحت رہتی ہیں، کبھی اپنے مواد کے hash کے تحت نہیں۔ سرور کی طرف سے کوئی بحالی نہیں: اگر ہر کوئی ہر آلہ اور ہر restore code کھو دے تو لائبریری کھو جاتی ہے؛ یہی ڈیزائن کا مقصد ہے۔
کلید خانہ کا کردار
اس حصے کا ربطلائبریری کھولتے وقت اس کی کلیدیں OS کلید خانہ سے پڑھی جاتی ہیں۔ اس وقت مقفل کلید خانہ، مقفل سیشن یا سوئی ہوئی اسکرین کی وجہ سے، خراب کلید خانہ سے الگ پہچانا جاتا ہے: bae لائبریری کو مقفل دکھاتا ہے اور کھلنے کے بعد دوبارہ کوشش کرتا ہے، یہ کہنے کے بجائے کہ لائبریری ناقابل استعمال ہے۔ کوئی آلہ کلیدیں بھول بھی سکتا ہے، جس سے اس آلے پر لائبریری دوبارہ کھولے جانے تک مقفل رہتی ہے۔