ਪਛਾਣ ਅਤੇ ਮੈਂਬਰਤਾ
bae ਵਿੱਚ ਕਿਤੇ ਵੀ ਖਾਤਾ ਪ੍ਰਣਾਲੀ ਨਹੀਂ। ਯੰਤਰ ਦੀ ਪਛਾਣ ਇੱਕ Ed25519 keypair ਹੈ ਜੋ ਇਹ ਆਪਣੇ ਲਈ generate ਕਰਦਾ ਹੈ ਅਤੇ OS keyring ਵਿੱਚ ਰੱਖਦਾ ਹੈ; ਜਨਤਕ ਕੁੰਜੀ ਹੀ ਪਛਾਣ ਹੈ। ਸੰਗ੍ਰਹਿ ਵਿੱਚ ਕੌਣ ਹੈ ਇਹ ਕਲਾਉਡ ਘਰ ਵਿੱਚ signed ਰਿਕਾਰਡ ਦਾ ਸਮੂਹ ਹੈ, ਜਿਸਨੂੰ ਉਹਨਾਂ ਨੂੰ ਰੱਖਣ ਵਾਲਾ ਕੋਈ ਵੀ ਜਾਂਚਦਾ ਕਰ ਸਕਦਾ ਹੈ, ਕਿਸੇ server ਵੱਲੋਂ ਜਾਰੀ ਨਹੀਂ। ਯੰਤਰਾਵਲੀ coven ਦੀ ਹੈ; ਇਹ ਪੰਨਾ ਦੱਸਦਾ ਹੈ ਕਿ bae ਇਸਨੂੰ ਕਿਵੇਂ ਵਰਤਦਾ ਹੈ।
ਮੈਂਬਰਤਾ ਰਿਕਾਰਡ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਹਰ ਮਾਲਕ ਕਲਾਉਡ ਘਰ ਵਿੱਚ signed ਮੈਂਬਰਤਾ ਦਾਖਲੇ ਦਾ ਜੋੜਦਾ-only ਧਾਰਾ ਲਿਖਦਾ ਹੈ: ਇਹ ਕੁੰਜੀ ਇਸ role ਨਾਲ added ਸੀ, ਇਹ ਕੁੰਜੀ ਹਟਾਇਆ ਸੀ। ਹਰ ਦਾਖਲਾ ਪਿਛਲਾ ਇੱਕ ਨਾਲ link ਕਰਦੀ ਹੈ, ਅਤੇ ਹਰ ਮਾਲਕ ਆਪਣੇ ਧਾਰਾ ਦੇ tip ਦਾ ਐਲਾਨ ਕਰਨ ਵਾਲਾ head sign ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਦਾਤਾ ਰਿਕਾਰਡ drop ਜਾਂ reorder ਕਰੇ ਤਾਂ ਇਹ ਪਤਾ ਲੱਗਦਾ ਹੁੰਦਾ ਹੈ, ਮੰਨਿਆ ਨਹੀਂ। ਸੰਗ੍ਰਹਿ ਜੋ accept ਕਰਦੀ ਹੈ ਉਹ ਹਰ ਮਾਲਕ ਦੇ ਜਾਂਚਿਆ ਧਾਰਾ ਦਾ union ਹੈ।
ਹਰ ਖਿੱਚਦਾ ਉੱਤੇ, ਹਰ ਬਦਲਾਅ-ਸਮੂਹ ਦਾ ਲੇਖਕ ਇਸ ਰਿਕਾਰਡ ਨਾਲ ਜਾਂਚਿਆ ਹੁੰਦਾ ਹੈ: current ਮੈਂਬਰ ਵੱਲੋਂ signed, ਅਤੇ ਲਿਖਣਾ ਕਰ ਸਕਣ ਵਾਲੇ role ਨਾਲ। ਹਟਾਇਆ ਯੰਤਰ, ਕਦੇ added ਨਾ ਹੋਈਆਂ ਕੁੰਜੀਆਂ, ਜਾਂ ਗਲਤ ਦਸਤਖਤ ਵਾਲੇ ਬਦਲਾਅ-ਸਮੂਹ apply ਨਹੀਂ ਹੁੰਦੇ। ਦਾਤਾ ਰਿਕਾਰਡ ਰੱਖਦਾ ਕਰਦਾ ਹੈ ਪਰ ਝੂਠਾ ਬਣਾਉਣਾ ਨਹੀਂ ਕਰ ਸਕਦਾ; ਸਿਰਫ਼ ਮਾਲਕ ਕੁੰਜੀਆਂ ਰੱਖਣ ਵਾਲੇ ਮੈਂਬਰਤਾ ਬਦਲ ਸਕਦੇ ਹਨ।
ਭੂਮਿਕਾਵਾਂ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕOwner ਅਤੇ Member ਦੋਵੇਂ ਸੰਗ੍ਰਹਿ ਪੜ੍ਹਨਾ ਅਤੇ ਲਿਖਣਾ ਕਰਦੇ ਹਨ; ਮਾਲਕ ਹੋਰ ਯੰਤਰ approve ਅਤੇ remove ਕਰਦੇ ਹਨ। bae ਦਾ ਸਥਾਪਕ ਯੰਤਰ ਮਾਲਕ ਹੈ ਅਤੇ ਉਹ approve ਕਰਦਾ ਹਰ ਯੰਤਰ ਮੈਂਬਰ ਵਜੋਂ joins ਕਰਦਾ ਹੈ। (ਅਧਾਰਲੇ ਯੰਤਰਾਵਲੀ ਵਿੱਚ ਤੀਜਾ role ਹੈ, ਸਿਰਫ਼-ਪੜ੍ਹਨ ਪਾਲਕ, ਜਿਸਨੂੰ bae ਹੁਣ ਦੇਣਾ ਨਹੀਂ ਕਰਦਾ।)
Join handshake
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਯੰਤਰ ਜੋੜਨਾ ਵਿਚਕਾਰ ਸਪਸ਼ਟ ਮਨੁੱਖੀ ਜਾਂਚ ਵਾਲਾ two-code exchange ਹੈ:
- ਜੁੜਨਾ ਯੰਤਰ ਆਪਣਾ keypair generate ਕਰਦਾ ਹੈ ਅਤੇ join request ਦਿਖਾਉਂਦਾ ਹੈ: ਇਸਦੀ ਜਨਤਕ ਕੁੰਜੀ, ਉਸਦਾ short fingerprint, ਅਤੇ (OAuth ਦਾਤੇ ਲਈ) ਕਲਾਉਡ ਖਾਤਾ ਜਿਸ ਨਾਲ ਫੋਲਡਰ share ਕਰਨਾ ਹੈ।
- ਮਾਲਕ request decode ਕਰਦਾ ਹੈ, ਅਤੇ ਦੋ ਸਕਰੀਨਾਂ ਉਹੀ fingerprint ਦਿਖਾਉਂਦੀਆਂ ਹਨ। ਮਨੁੱਖੀ ਜਾਂਚਦਾ ਹੈ ਕਿ ਉਹ match ਕਰਦੇ ਹਨ; ਇਹ step ਬਦਲੀ ਕੁੰਜੀ ਨੂੰ ਹਰਾਉਂਦਾ ਹੈ।
- ਮਨਜ਼ੂਰੀ ਤਿੰਨ ਕੰਮ ਇੱਕੋ ਵੇਲੇ ਕਰਦਾ ਹੈ: ਨਵਾਂ ਆਇਆ ਦੇ ਖਾਤਾ ਨੂੰ ਕਲਾਉਡ ਘਰ access ਦਿੰਦਾ ਹੈ (consumer clouds ਉੱਤੇ ਫੋਲਡਰ share, S3 ਉੱਤੇ embedded ਯੋਗਤਾਵਾਂ, iCloud ਉੱਤੇ CloudKit share), ਸੰਗ੍ਰਹਿ ਕੁੰਜੀ ਨੂੰ ਨਵਾਂ ਆਇਆ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਲਈ seal ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਜੋੜਦੀ ਮੈਂਬਰਤਾ ਦਾਖਲਾ sign ਕਰਦਾ ਹੈ। ਇਹ ਸਭ invite code ਵਿੱਚ ਬੰਨ੍ਹਿਆ ਹੈ।
- ਜੁੜਨਾ ਯੰਤਰ ਸੱਦਾ consume ਕਰਦਾ ਹੈ, ਕੁੰਜੀ unseal ਕਰਦਾ ਹੈ, ਤਾਜ਼ਾ ਸਨੈਪਸ਼ਾਟ ਤੋਂ bootstrap ਕਰਦਾ ਹੈ, ਅਤੇ ਸਮਕਾਲੀਕਰਨ ਕਰਦਾ ਹੈ।
ਸੱਦਾ ਬੇਨਤੀਕਰਤਾ ਕੁੰਜੀ ਲਈ ਸੀਲ ਕੀਤਾ ਹੈ: ਇਸਨੂੰ intercept ਕਰਨ ਨਾਲ ਕੁਝ ਨਹੀਂ ਮਿਲਦਾ।
ਵਾਪਸੀ-ਰੱਦ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕਮੈਂਬਰ ਹਟਾਉਣਾ signed ਹਟਾਉਣਾ ਜੋੜਦਾ ਕਰਦਾ ਹੈ ਅਤੇ ਸੰਗ੍ਰਹਿ ਕੁੰਜੀ ਨੂੰ ਨਵੀਂ ਪੀੜ੍ਹੀ ਉੱਤੇ rotate ਕਰਦਾ ਹੈ ਜੋ ਹਟਾਇਆ ਕੁੰਜੀ ਨੂੰ ਕਦੇ ਨਹੀਂ ਮਿਲਦੀ (ਇਨਕ੍ਰਿਪਸ਼ਨ ਵੇਖੋ)। ਜਿੱਥੇ ਭੰਡਾਰਣ access ਰੱਦ ਕਰ ਸਕਦਾ ਹੈ, access ਵੀ ਵਾਪਸ ਲਈ ਹੁੰਦੀ ਹੈ। ਹਟਾਇਆ ਯੰਤਰ ਉੱਤੇ ਜੋ already ਸਮਕਾਲੀਕਰਿਤ ਸੀ, ਉਹ ਉਸ ਕੋਲ ਰਹਿੰਦਾ ਹੈ; data ਨਾ-ਭੇਜਿਆ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਘੁੰਮਾਅ ਤੋਂ ਬਾਅਦ ਸਭ ਕੁਝ ਉਸਦੀ ਪਹੁੰਚ ਤੋਂ ਬਾਹਰ ਹੈ।
ਵਾਪਸੀ ਕੋਡ
ਇਸ ਭਾਗ ਦਾ ਲਿੰਕRecovery code ਮੈਂਬਰਤਾ ਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਪਾਰ ਕਰਦਾ ਹੈ: ਇਹ ਕਲਾਉਡ ਘਰ ਦੇ ਨਿਰਦੇਸ਼ਾਂਕ ਅਤੇ ਸੰਗ੍ਰਹਿ ਕੁੰਜੀ, ਇੱਕ ਧਾਰਕ ਲੜੀ ਵਿੱਚ, ਤੁਹਾਡੀ ਆਪਣੀ ਸੰਗ੍ਰਹਿ restore ਕਰਨ ਲਈ, ਬਚੇ approver ਬਿਨਾ। ਇਹ ਮੰਗ ਉੱਤੇ ਬਣਾਇਆ ਹੈ, Apple platforms ਉੱਤੇ iCloud Keychain ਵਿੱਚ ਆਪਣੇ ਆਪ ਰੱਖੀ ਹੈ, ਅਤੇ ਸੰਗ੍ਰਹਿ ਜਿੰਨਾ ਹੀ ਸੰਵੇਦਨਸ਼ੀਲ ਹੈ।