सामग्री पर जाएँ

एन्क्रिप्शन

bae क्लाउड घर में जो कुछ रखता है, वह उपकरण छोड़ने से पहले एन्क्रिप्ट होता है; कोई बिना एन्क्रिप्शन वाला मोड नहीं है। bae अपनी cryptography implement नहीं करता: पूरी योजना coven की है, और यह पेज बताता है कि bae उसे कैसे उपयोग करता है।

कुंजीक्या करती है
store कुंजीलाइब्रेरी और उसके सदस्यता रिकॉर्ड एन्क्रिप्ट करती है
हर व्यक्ति की circle कुंजीवह एन्क्रिप्ट करती है जिसे व्यक्ति निजी रखता है: उसका निजी सुनने का इतिहास और प्लेलिस्ट
हर फाइल की कुंजीएक फाइल एन्क्रिप्ट करती है, और केवल उसकी पंक्ति के एन्क्रिप्टेड बदलावों के भीतर चलती है
व्यक्ति का हस्ताक्षर कुंजी-जोड़उसके उपकरणों द्वारा भेजे गए हर बदलाव पर हस्ताक्षर करता है
व्यक्ति का sealing कुंजी-जोड़उस व्यक्ति के लिए sealed कुंजियां खोलता है

store कुंजी यादृच्छिक होती है, जो लाइब्रेरी को क्लाउड घर मिलने पर बनती है। किसी व्यक्ति के कुंजी-जोड़ उसके सभी उपकरण साझा करते हैं। निजी कुंजियां और लाइब्रेरी की कुंजियां OS keyring में रहती हैं, कभी फाइल या डेटाबेस में नहीं। वे किसी उपकरण तक दो तरीकों से पहुंचती हैं, दोनों पहचान और सदस्यता में बताए गए हैं: रिस्टोर कोड व्यक्ति के अपने कुंजी-जोड़ ले जाता है, और आमंत्रण स्वीकृत करने वाला एडमिन store कुंजियों को नए व्यक्ति की sealing कुंजी के लिए seal करता है।

कोई कुंजी अपनी जगह कभी नहीं बदली जाती; नई जोड़ी जाती है। किसी व्यक्ति को हटाने के बाद, बचे हुए किसी सदस्य का उपकरण वहां और डेटा लिखने से पहले एक नई store कुंजी जोड़ता है, और हर उस circle के लिए नई कुंजी जिसमें वह था: उसके बाद लिखा गया सब उसके लिए अपठनीय होता है, जबकि बचे सदस्य हर पुरानी कुंजी रखते हैं और पूरा इतिहास पढ़ सकते हैं। एक उपकरण हटाने से कुछ नहीं बदलता, क्योंकि व्यक्ति के दूसरे उपकरण उसकी कुंजियां साझा करते हैं; हटाने के बाद से वह उपकरण जो भेजता है, वह नहीं गिना जाता।

क्या seal होता है

इस अनुभाग का लिंक

घर का हर ऑब्जेक्ट: बदलाव, snapshots, सदस्यता रिकॉर्ड और फाइलें। सामग्री XChaCha20-Poly1305 से एन्क्रिप्ट होती है, हर बदलाव Ed25519 से हस्ताक्षरित होता है, और कुंजियां लोगों के लिए X25519 sealed boxes से seal होती हैं। फाइलें 64 KiB chunks में एन्क्रिप्ट होती हैं, हर chunk अलग से प्रमाणित और अपनी स्थिति से बंधा होता है, इसलिए किसी chunk को बिना पकड़े बदला, अदला-बदला या पुनर्व्यवस्थित नहीं किया जा सकता। Chunking की वजह से streaming चलती है: player ठीक वही chunks decrypt कर सकता है जिन्हें वह लाता है।

प्रदाता क्या देख सकता है

इस अनुभाग का लिंक

ऑब्जेक्ट की संख्या, ऑब्जेक्ट के आकार, अपलोड का समय, कौन-सा खाता हर ऑब्जेक्ट लिखता है, और किस उपकरण ने हर फाइल और snapshot अपलोड किया, क्योंकि उनके paths में उपकरण का नाम होता है। नाम नहीं, मेटाडेटा नहीं, ऑडियो नहीं, चित्र नहीं। फाइलें यादृच्छिक नामों के नीचे रहती हैं, कभी अपनी सामग्री के hash के नीचे नहीं। Server-side recovery नहीं है: अगर हर व्यक्ति हर उपकरण और हर रिस्टोर कोड खो दे, तो लाइब्रेरी खो जाती है; यही design है।

कुंजी-भंडार

इस अनुभाग का लिंक

लाइब्रेरी खोलना OS keyring से उसकी कुंजियां पढ़ता है। जो keyring अभी लॉक है, लॉक सत्र या सोती स्क्रीन की वजह से, उसे खराब keyring से अलग पहचाना जाता है: bae लाइब्रेरी को लॉक दिखाता है और अनलॉक के बाद फिर कोशिश करता है, बजाय यह बताने के कि लाइब्रेरी इस्तेमाल लायक नहीं है। कोई उपकरण कुंजी भूल भी सकता है, जिससे उस उपकरण पर लाइब्रेरी तब तक लॉक रहती है जब तक उसे फिर अनलॉक न किया जाए।