شناخت اور رکنیت
bae میں کہیں اکاؤنٹ نظام نہیں۔ آلہ کی شناخت Ed25519 کلیدی جوڑا ہے جو یہ خود بناتی ہے اور OS کلید خانہ میں رکھتی ہے؛ عوامی کلید ہی شناخت ہے۔ کون لائبریری سے تعلق رکھتا ہے کلاؤڈ گھر میں دستخط شدہ ریکارڈوں کا مجموعہ ہے، جسے انہیں رکھنے والا کوئی بھی جانچ سکتا ہے، کسی سرور نے جاری نہیں کیا۔ مشینری coven کی ہے؛ یہ صفحہ بتاتا ہے bae اسے کیسے استعمال کرتا ہے۔
رکنیت ریکارڈ
اس حصے کا ربطہر مالک کلاؤڈ گھر میں دستخط شدہ رکنیت اندراجات کا صرف اضافہ ہونے والا بہاؤ لکھتا ہے: یہ کلید اس کردار کے ساتھ شامل ہوئی، یہ کلید ہٹی۔ ہر اندراج پچھلی اندراج سے جڑتی ہے، اور ہر مالک ایک سرے پر دستخط کرتا ہے جو اس کے بہاؤ کے آخر کو بتاتا ہے، اس لیے فراہم کنندہ ریکارڈ گرا دے یا ترتیب بدلے تو پکڑا جاتا ہے، مانا نہیں جاتا۔ لائبریری جو قبول کرتی ہے وہ ہر مالک کے جانچے ہوئے بہاؤ کا اتحاد ہے۔
ہر کھینچائی پر، ہر تبدیلی سیٹ کا مصنف اس ریکارڈ کے مقابل جانچا جاتا ہے: موجودہ رکن کا دستخط شدہ، ایسے کردار کے ساتھ جو لکھ سکتا ہو۔ ہٹائے گئے آلات، کبھی شامل نہ ہونے والی کلیدیں، یا غلط دستخطوں سے تبدیلی سیٹیں لاگو نہیں ہوتیں۔ فراہم کنندہ ریکارڈ محفوظ کرتا ہے مگر جعل سازی نہیں کر سکتا؛ صرف مالک کلیدوں کے حامل رکنیت بدل سکتے ہیں۔
کردار
اس حصے کا ربطمالک اور رکن دونوں لائبریری پڑھتے اور لکھتے ہیں؛ مالکان اس کے علاوہ آلات منظور اور ہٹاتے ہیں۔ bae کا بنیاد رکھنے والا آلہ مالک ہے اور اس کا منظور شدہ ہر آلہ رکن کے طور پر شامل ہوتا ہے۔ (نیچے کی مشینری میں تیسرا کردار موجود ہے، صرف پڑھنے والا follower، جو bae فی الحال نہیں دیتا۔)
شمولیتی مصافحہ
اس حصے کا ربطآلہ شامل کرنا بیچ میں واضح انسانی تصدیق کے ساتھ دو کوڈ کا تبادلہ ہے:
- شامل ہونے والا آلہ اپنا کلیدی جوڑا بناتا ہے اور join request دکھاتا ہے: اس کی عوامی کلید، اس کا مختصر fingerprint، اور (OAuth فراہم کنندگان کے لیے) وہ کلاؤڈ اکاؤنٹ جس سے پوشہ بانٹنا ہے۔
- مالک درخواست کھولتا ہے، اور دونوں پردے ایک ہی fingerprint دکھاتے ہیں۔ انسان جانچتا ہے کہ وہ ملتے ہیں؛ یہی قدم بدلی ہوئی کلید کو ناکام کرتا ہے۔
- منظوری ایک ساتھ تین کام کرتی ہے: نئے آنے والے کے اکاؤنٹ کو کلاؤڈ گھر تک رسائی دیتی ہے (صارف کلاؤڈز پر پوشہ بانٹنا، S3 پر جڑی ہوئی credentials، iCloud پر CloudKit share)، لائبریری کلید کو نئے آنے والے کی عوامی کلید کے لیے بند کرتی ہے، اور اسے شامل کرنے والی رکنیت اندراج پر دستخط کرتی ہے۔ یہ سب invite code میں بند ہوتا ہے۔
- شامل ہونے والا آلہ دعوت استعمال کرتا ہے، کلید کھولتا ہے، تازہ ترین نقل تصویر سے ابتدا کرتا ہے، اور ہم آہنگی کرتا ہے۔
دعوت درخواست دینے والی کلید کے لیے بند ہے: اسے راستے میں پکڑنے سے کچھ نہیں ملتا۔
منسوخی
اس حصے کا ربطرکن ہٹانے سے دستخط شدہ ہٹاؤ شامل ہوتا ہے اور لائبریری کلید ایسی نئی نسل پر گھومتی ہے جو ہٹائی گئی کلید کو کبھی نہیں ملتی (دیکھیں Encryption)۔ جس ذخیرہ پر رسائی منسوخ ہو سکتی ہے، وہاں رسائی بھی واپس لی جاتی ہے۔ ہٹائے گئے آلے پر پہلے سے ہم آہنگ چیزیں وہیں رہتی ہیں؛ ڈیٹا واپس نہیں لیا جا سکتا۔ گھماؤ کے بعد ہر چیز اس کی پہنچ سے باہر ہے۔
بحالی کوڈ
اس حصے کا ربطRecovery code جان بوجھ کر رکنیت کو نظرانداز کرتا ہے: یہ کلاؤڈ گھر کے نقاط اور لائبریری کلید ہیں، ایک حامل عبارت میں، اپنی لائبریری بحال کرنے کے لیے جب کوئی بچا ہوا منظور کنندہ نہ ہو۔ یہ طلب پر بنتا ہے، Apple پلیٹ فارم پر iCloud Keychain میں خودکار طور پر محفوظ ہوتا ہے، اور خود لائبریری جتنا حساس ہے۔