Identity અને membership
bae માં ક્યાંય account system નથી. Device ની identity Ed25519 keypair છે જે તે પોતે generate કરે છે અને OS keyring માં રાખે છે; public key જ identity છે. Library માં કોણ છે તે cloud home માં signed records નો set છે, જેને જે પાસે records હોય તે verify કરી શકે છે, કોઈ server દ્વારા issued નથી. Machinery coven ની છે; આ page bae તેને કેવી રીતે વાપરે છે તે છે.
Membership records
આ વિભાગની લિંકદરેક owner cloud home માં signed membership entries નો append-only stream write કરે છે: આ key આ role સાથે added હતી, આ key removed હતી. દરેક entry previous one સાથે link કરે છે, અને દરેક owner પોતાનો stream tip declare કરતી head sign કરે છે, તેથી provider records drop અથવા reorder કરે તો તે detected થાય છે, believed નહીં. Library જે accept કરે છે તે દરેક owner ના verified stream નો union છે.
દરેક pull પર, દરેક changeset નો author આ record સામે checked છે: current member દ્વારા signed, અને write કરી શકે તે role સાથે. Removed devices, ક્યારેય added ન થયેલી keys, અથવા invalid signatures ધરાવતા changesets apply થતા નથી. Provider records store કરે છે પરંતુ forge કરી શકતો નથી; ફક્ત owner keys ધરાવતા લોકો membership બદલી શકે છે.
Roles
આ વિભાગની લિંકOwner અને Member બંને library read અને write કરે છે; owners વધારામાં devices approve અને remove કરે છે. bae નું founding device owner છે અને તે approve કરે તે દરેક device member તરીકે જોડાય છે. (Underlying machinery માં ત્રીજો role છે, read-only follower, જે bae હાલમાં assign કરતું નથી.)
Join handshake
આ વિભાગની લિંકઉપકરણ ઉમેરવું એ સ્પષ્ટ માનવીય ચકાસણી સાથેનું એક સ્થાનિક જોડાણ સત્ર છે:
- માલિક ઉપકરણ ઉમેરો શરૂ કરે છે. bae સ્થાનિક નેટવર્ક પર સંક્ષિપ્તમાં સાંભળે છે અને એક જોડી કોડ બતાવે છે. તેમાં શ્રોતા સરનામાં, એક ક્ષણિક સત્ર કી, લાઇબ્રેરીનું નામ, પ્રદાતા અને સમાપ્તિ સમાવે છે — કોઈ લાઇબ્રેરી કી અથવા કાયમી સ્ટોરેજ ઓળખપત્રો નથી.
- જોડાવાનું ઉપકરણ કોડને સ્કેન કરે છે, તેની ઉપકરણ કી-પેયર બનાવે છે, જ્યારે જરૂરી હોય ત્યારે પ્રદાતામાં સાઇન ઇન કરે છે, અને એન્ક્રિપ્ટેડ સ્થાનિક કનેક્શન દ્વારા તેની સાઇન કરેલ સાર્વજનિક કી અને પ્રદાતા એકાઉન્ટ ઓળખ મોકલે છે. બંને ઉપકરણો સમાન ફિંગરપ્રિન્ટ દર્શાવે છે.
- માલિક ફિંગરપ્રિન્ટ્સની તુલના કરે છે અને તે ચોક્કસ ઓળખને મંજૂર કરે છે. મંજૂરી જ્યાં જરૂરી હોય ત્યાં તેના ક્લાઉડ એકાઉન્ટની ઍક્સેસ આપે છે, સભ્યપદની એન્ટ્રી પર સહી કરે છે અને નવા ઉપકરણની સાર્વજનિક કી પર લાઇબ્રેરી કી અને અંતિમ સ્ટોરેજ ઍક્સેસને સીલ કરે છે.
- સીલબંધ પેકેજ સમાન પ્રમાણિત સ્થાનિક કનેક્શન દ્વારા પરત આવે છે. જોડાવાનું ઉપકરણ તેને ખોલે છે, ક્લાઉડ સ્ટોરેજમાંથી બુટસ્ટ્રેપ કરે છે અને સમન્વય કરવાનું શરૂ કરે છે.
સમાપ્ત થયેલ, વિક્ષેપિત અથવા નકારેલ જોડી કંઈપણ અનુદાન આપતું નથી.
Revocation
આ વિભાગની લિંકMember દૂર કરવાથી signed removal append થાય છે અને library key નવી generation પર rotate થાય છે જે removed key ને ક્યારેય મળતી નથી (Encryption જુઓ). Access revoke કરી શકે તે storage પર access પણ withdrawn થાય છે. Removed device પર જે already synced હતું તે તેની પાસે રહે છે; data પાછો મોકલ્યા વિના કાઢી શકાતો નથી. Rotation પછીનું બધું તેની પહોંચ બહાર છે.
Recovery codes
આ વિભાગની લિંકRecovery code membership ને ઇરાદાપૂર્વક bypass કરે છે: તે cloud home coordinates અને library key, એક bearer string માં, surviving approver વગર તમારી પોતાની library restore કરવા માટે. તે demand પર generated છે, Apple platforms પર iCloud Keychain માં automatically stored છે, અને library જેટલું જ sensitive છે.