గుప్తీకరణ
bae మేఘ నిల్వ ఇంట్లో పెట్టే ప్రతిదీ పరికరాన్ని వదిలే ముందు గుప్తీకరించబడుతుంది; గుప్తీకరణ లేని విధానం లేదు. bae తన స్వంత cryptography ను అమలు చేయదు: మొత్తం ప్రణాళిక coven ది, bae దాన్ని ఎలా వాడుతుందో ఈ పుట వివరిస్తుంది.
| కీ | ఏమి చేస్తుంది |
|---|---|
| store key | గ్రంథాలయాన్నీ దాని సభ్యత్వ రికార్డులనూ గుప్తీకరిస్తుంది |
| ప్రతి వ్యక్తి circle key | వ్యక్తి వ్యక్తిగతంగా ఉంచేదాన్ని గుప్తీకరిస్తుంది: వారి వ్యక్తిగత వినే చరిత్ర మరియు playlists |
| ప్రతి దస్త్రపు కీ | ఒక దస్త్రాన్ని గుప్తీకరిస్తుంది, దాని వరుస యొక్క గుప్తీకరించిన మార్పుల లోపల మాత్రమే ప్రయాణిస్తుంది |
| వ్యక్తి సంతకం కీ జత | వారి పరికరాలు పంపే ప్రతి మార్పుపై సంతకం చేస్తుంది |
| వ్యక్తి ముద్ర కీ జత | ఆ వ్యక్తి కోసం ముద్రించిన కీలను తెరుస్తుంది |
store key యాదృచ్ఛికం, గ్రంథాలయానికి మేఘ నిల్వ ఇల్లు లభించినప్పుడు సృష్టించబడుతుంది. వ్యక్తి కీ జతలను వారి అన్ని పరికరాలూ పంచుకుంటాయి. ప్రైవేట్ కీలు మరియు గ్రంథాలయపు కీలు OS keyring లో ఉంటాయి, దస్త్రంలో లేదా డేటాబేస్లో ఎప్పుడూ కాదు. అవి పరికరానికి రెండు విధాలుగా చేరతాయి, రెండూ గుర్తింపు మరియు సభ్యత్వం లో వివరించబడ్డాయి: restore code వ్యక్తి స్వంత కీ జతలను తీసుకెళ్తుంది, ఆహ్వానాన్ని ఆమోదించే admin store keys ను కొత్త వ్యక్తి ముద్ర కీకి ముద్రిస్తారు.
కీ మార్పిడి
ఈ విభాగానికి లింక్కీ ఎప్పుడూ ఉన్న చోటే మార్చబడదు; కొత్తది జోడించబడుతుంది. ఒక వ్యక్తిని తొలగించిన తర్వాత, మిగిలిన సభ్యుడి పరికరం అక్కడ మరింత డేటా రాసే ముందు కొత్త store key ను, వారు ఉన్న ప్రతి circle కు కొత్త కీని జోడిస్తుంది: తర్వాత రాసినదంతా వారికి చదవలేనిది, మిగిలిన సభ్యులు ప్రతి పాత కీనీ ఉంచుకుని మొత్తం చరిత్రను చదవగలరు. ఒక పరికరాన్ని తొలగించడం దేన్నీ మార్చదు, ఎందుకంటే వ్యక్తి ఇతర పరికరాలు దాని కీలను పంచుకుంటాయి; తొలగించిన తర్వాత ఆ పరికరం పంపేది లెక్కలోకి రాదు.
ఏమి seal అవుతుంది
ఈ విభాగానికి లింక్ఇంటిలోని ప్రతి object: మార్పులు, snapshots, సభ్యత్వ రికార్డులు, దస్త్రాలు. విషయం XChaCha20-Poly1305 తో గుప్తీకరించబడుతుంది, ప్రతి మార్పు Ed25519 తో సంతకం చేయబడుతుంది, కీలు వ్యక్తుల కోసం X25519 sealed boxes తో ముద్రించబడతాయి. దస్త్రాలు 64 KiB chunks గా గుప్తీకరించబడతాయి, ప్రతి chunk విడిగా ధృవీకరించబడి తన స్థానానికి బంధించబడి ఉంటుంది, కాబట్టి ఏ chunk నూ గుర్తించబడకుండా మార్చలేము, మార్చుకోలేము, క్రమం మార్చలేము. chunking వల్లే ప్రవాహం పనిచేస్తుంది: player తాను తెచ్చే chunks ను మాత్రమే decrypt చేయగలదు.
Provider ఏమి చూడగలదు
ఈ విభాగానికి లింక్objects సంఖ్య, objects పరిమాణాలు, పంపిన సమయం, ఏ ఖాతా ప్రతి object ను రాస్తుంది, మరియు ఏ పరికరం ప్రతి దస్త్రాన్నీ snapshot నూ పంపింది, ఎందుకంటే వాటి paths లో పరికరం పేరు ఉంటుంది. పేర్లు లేవు, metadata లేదు, శబ్దం లేదు, చిత్రకళ లేదు. దస్త్రాలు యాదృచ్ఛిక పేర్ల కింద ఉంటాయి, వాటి విషయపు hash కింద ఎప్పుడూ కాదు. సర్వర్ వైపు పునరుద్ధరణ లేదు: అందరూ ప్రతి పరికరాన్నీ ప్రతి restore code నూ పోగొట్టుకుంటే గ్రంథాలయం పోతుంది; ఇదే రూపకల్పన ఉద్దేశం.
Keyring పాత్ర
ఈ విభాగానికి లింక్గ్రంథాలయాన్ని తెరిచేటప్పుడు దాని కీలు OS keyring నుంచి చదవబడతాయి. లాక్ అయిన సెషన్ లేదా నిద్రిస్తున్న స్క్రీన్ వల్ల ప్రస్తుతం లాక్ అయిన keyring, పాడైన keyring నుంచి వేరుగా గుర్తించబడుతుంది: గ్రంథాలయం వాడలేనిదని చెప్పే బదులు bae దాన్ని లాక్ అయినట్లు చూపి, అన్లాక్ తర్వాత మళ్లీ ప్రయత్నిస్తుంది. ఒక పరికరం కీలను మరచిపోనూ వచ్చు; అప్పుడు ఆ పరికరంలో గ్రంథాలయం మళ్లీ అన్లాక్ అయ్యే వరకు లాక్ అయి ఉంటుంది.