পরিচয় ও সদস্যপদ
bae-তে কোথাও অ্যাকাউন্ট system নেই। একটি ডিভাইসের পরিচয় হলো Ed25519 keypair যা সে নিজের জন্য তৈরি করে এবং OS keyring-এ রাখে; public কী-ই পরিচয়। একটি লাইব্রেরিতে কারা আছে তা মেঘ-ঘরে থাকা signed record-এর set, যেটি যার কাছে record আছে সে verify করতে পারে, কোনো server issue করে না। এই ব্যবস্থা coven-এর; এই পৃষ্ঠা দেখায় bae সেটি কীভাবে ব্যবহার করে।
সদস্যপদ নথি
এই অংশের লিঙ্কপ্রতিটি মালিক মেঘ-ঘরে signed membership entry-র append-only stream লেখে: এই কী এই role-সহ added, এই কী removed। প্রতিটি entry আগেরটির সঙ্গে link করে, আর প্রতিটি মালিক তার stream-এর tip ঘোষণা করা head sign করে, তাই provider record drop বা reorder করলে তা detected হয়, believed নয়। লাইব্রেরি যা গ্রহণ করে তা হলো প্রতিটি মালিক-এর verified stream-এর union।
প্রতিটি pull-এ, প্রতিটি changeset-এর author এই record-এর বিরুদ্ধে checked হয়: বর্তমান সদস্য দ্বারা signed, লিখতে পারে এমন role সহ। Removed ডিভাইস, কখনও added না হওয়া কী, বা invalid signature-এর changeset apply হয় না। Provider record রাখে কিন্তু forge করতে পারে না; শুধু মালিক কী-র holder membership বদলাতে পারে।
ভূমিকা
এই অংশের লিঙ্কOwner এবং Member দুজনেই লাইব্রেরি পড়তে ও লিখতে পারে; মালিক অতিরিক্তভাবে ডিভাইস approve ও remove করে। bae-এর founding ডিভাইস মালিক এবং সেটি যেসব ডিভাইস approve করে তারা সদস্য হিসেবে join করে। (Underlying machinery-তে তৃতীয় role আছে, read-only follower, যা bae এখন assign করে না।)
যোগদানের হাতমেলানো
এই অংশের লিঙ্কএকটি ডিভাইস যোগ করা হল একটি স্থানীয় পেয়ারিং সেশন যাতে সুস্পষ্ট মানবিক যাচাই করা হয়:
- একজন মালিক একটি ডিভাইস যোগ করুন শুরু করেন৷ bae স্থানীয় নেটওয়ার্কে সংক্ষিপ্তভাবে শোনে এবং একটি পেয়ারিং কোড দেখায়। এতে শ্রোতার ঠিকানা, একটি ক্ষণস্থায়ী সেশন কী, লাইব্রেরির নাম, প্রদানকারী এবং একটি মেয়াদ শেষ হয় — কোনো লাইব্রেরি কী বা স্থায়ী স্টোরেজ শংসাপত্র নেই।
- যোগদানকারী ডিভাইস কোডটি স্ক্যান করে, তার ডিভাইস কী-পেয়ার তৈরি করে, প্রয়োজনে প্রদানকারীতে সাইন ইন করে এবং এনক্রিপ্ট করা স্থানীয় সংযোগের মাধ্যমে তার স্বাক্ষরিত সর্বজনীন কী এবং প্রদানকারীর অ্যাকাউন্টের পরিচয় পাঠায়। উভয় ডিভাইস একই আঙ্গুলের ছাপ দেখায়।
- মালিক আঙ্গুলের ছাপ তুলনা করে এবং সেই সঠিক পরিচয় অনুমোদন করে৷ অনুমোদন প্রয়োজনে তার ক্লাউড অ্যাকাউন্ট অ্যাক্সেস মঞ্জুর করে, সদস্যতা এন্ট্রিতে স্বাক্ষর করে এবং লাইব্রেরি কী এবং নতুন ডিভাইসের সর্বজনীন কীতে চূড়ান্ত স্টোরেজ অ্যাক্সেস সিল করে।
- সিল করা প্যাকেজ একই প্রমাণীকৃত স্থানীয় সংযোগের মাধ্যমে ফিরে আসে। যোগদানকারী ডিভাইস এটিকে খোলে, ক্লাউড স্টোরেজ থেকে বুটস্ট্র্যাপ করে এবং সিঙ্ক করা শুরু করে।
একটি মেয়াদোত্তীর্ণ, বিঘ্নিত, বা প্রত্যাখ্যান জুড়ি কিছুই অনুদান.
প্রত্যাহার
এই অংশের লিঙ্কMember সরালে signed removal append হয় এবং লাইব্রেরি কী এমন নতুন generation-এ rotate হয় যা removed কী কখনও পায় না (Encryption দেখুন)। যে সংরক্ষণ access revoke করতে পারে, সেখানে access-ও withdraw হয়। Removed ডিভাইস-এ যা আগে সিঙ্ক হয়েছে তা সেখানেই থাকে; ডেটা unsend করা যায় না। Rotation-এর পরের সব তার নাগালের বাইরে।
Recovery code
এই অংশের লিঙ্কRecovery code ইচ্ছাকৃতভাবে membership bypass করে: এটি মেঘ-ঘরের coordinates এবং লাইব্রেরি কী, এক bearer string-এ, কোনো surviving approver ছাড়া নিজের লাইব্রেরি restore করার জন্য। Demand-এ generated, Apple প্ল্যাটফর্ম-এ iCloud Keychain-এ automatically stored, এবং লাইব্রেরি নিজেই যত sensitive ঠিক ততটাই sensitive।