পরিচয় ও সদস্যপদ
bae-তে কোথাও অ্যাকাউন্ট ব্যবস্থা নেই। লাইব্রেরির প্রত্যেক মানুষ একজন coven সদস্য: একটি এলোমেলো, স্থায়ী সদস্য id এবং দুটি কী-জোড়া, একটি স্বাক্ষরের জন্য এবং একটি যার জন্য কী seal করা হয়; সেগুলো সেই মানুষের সব ডিভাইস ভাগ করে এবং প্রতিটি ডিভাইসের OS keyring-এ রাখে। একটি ডিভাইস হলো একটি ইনস্টলেশন, নিজের id সহ, যা একজন সদস্যের। একটি লাইব্রেরিতে কারা আছেন তা মেঘ-ঘরে থাকা স্বাক্ষরিত record-এর সমষ্টি, যা প্রত্যেক সদস্যের ডিভাইস যাচাই করে, কোনো server জারি করে না। এই ব্যবস্থা coven-এর; এই পৃষ্ঠা দেখায় bae সেটি কীভাবে ব্যবহার করে।
সদস্যপদ নথি
এই অংশের লিঙ্কমেঘ-ঘরে লাইব্রেরির পুরো ইতিহাস একটি নম্বর দেওয়া ক্রম, এবং প্রতিটি ডিভাইস সেটি একই ক্রমে প্রয়োগ করে। সদস্যপদ বা সেটিংসের পরিবর্তন সেই ক্রমের একটি অ্যাডমিন এন্ট্রি, যা লেখকের কী দিয়ে স্বাক্ষরিত এবং ঠিক আগের অবস্থার ভিত্তিতে বিচার করা হয়, তাই প্রতিটি ডিভাইস নিজে একই সিদ্ধান্তে পৌঁছায়। এন্ট্রি তখনই গণ্য হয় যখন লেখকের সেটি করার অধিকার থাকে, আর লাইব্রেরি সবসময় অন্তত একজন অ্যাডমিন রাখে।
একটি ডিভাইস যে প্রতিটি পরিবর্তন পাঠায় তা এই record-এর বিপরীতে যাচাই করা হয়: বর্তমান সদস্যের স্বাক্ষরিত, এমন ডিভাইস থেকে যা সরানো হয়নি। সরানো ডিভাইস বা সদস্যের, কখনও যোগ না হওয়া কী-র, বা অবৈধ স্বাক্ষরের পরিবর্তন গণ্য হয় না। সেবা-দাতা record রাখে কিন্তু জাল করতে পারে না।
ভূমিকা
এই অংশের লিঙ্কঅ্যাডমিন এবং সদস্য দুজনেই লাইব্রেরি পড়তে ও লিখতে পারেন: coven লাইব্রেরিতে লেখার সময় কোনো অনুমতি যাচাই করে না, তাই শুধু-পড়ার ভূমিকা টিকতে পারত না। অ্যাডমিনরা অতিরিক্তভাবে মানুষকে আমন্ত্রণ জানান ও সরান, ভূমিকা বদলান এবং লাইব্রেরির নাম বদলান। যিনি লাইব্রেরিকে তার মেঘ-ঘর দেন তিনিই প্রথম অ্যাডমিন।
| কাজ | কে |
|---|---|
| কাউকে আমন্ত্রণ জানানো | একজন অ্যাডমিন |
| ডিভাইস যোগ করা | মানুষটি নিজে, নতুন ডিভাইস থেকে, নিজের রিস্টোর কোড দিয়ে |
| ডিভাইস সরানো | যার ডিভাইস তিনি, বা যেকোনো অ্যাডমিন |
| কাউকে সরানো | একজন অ্যাডমিন |
| লাইব্রেরির নাম বদলানো | একজন অ্যাডমিন |
একজন মানুষের প্রোফাইল, রেটিং, ইতিহাস ও প্লেলিস্ট owner সারি: শুধু সেই মানুষের ডিভাইস সেগুলো বদলাতে পারে, তাই কারও নামে থাকা রেটিং সত্যিই তাঁরই দেওয়া।
নিজের ডিভাইস যোগ করা
এই অংশের লিঙ্করিস্টোর কোড প্রমাণ করে যে ডিভাইসটি তার মানুষের, তাই কোনো অনুমোদন লাগে না:
- নতুন ডিভাইস কোড পায় মানুষটির অন্য কোনো ডিভাইসে দেখানো QR কোড স্ক্যান করে, Apple ডিভাইসে iCloud Keychain থেকে, বা টাইপ করে।
- এটি স্টোরেজে পৌঁছায়: Dropbox ও OneDrive-এ মানুষটির নিজের অ্যাকাউন্টে সাইন ইন করে, S3-তে তাঁর অ্যাক্সেস কী দিয়ে, যা QR কোড কোডের পাশে বহন করে।
- এটি লাইব্রেরি লোড করে, যাচাই করে যে কোডের কী একজন বর্তমান সদস্যের, এবং সেই কী দিয়ে স্বাক্ষরিত এন্ট্রি দিয়ে নিজেকে নতুন ডিভাইস হিসেবে নিবন্ধন করে।
যে কোডের কী এরপর বদলে গেছে তা ব্যর্থ হয়। পুনরুদ্ধার সবসময় একটি নতুন ডিভাইস তৈরি করে; এটি অন্য কোনো ইনস্টলেশনের না-পাঠানো সম্পাদনা বাঁচায় না।
কাউকে আমন্ত্রণ জানানো
এই অংশের লিঙ্ক- একজন অ্যাডমিন মানুষটির সেবা-দাতা অ্যাকাউন্ট দেন এবং তাঁর ভূমিকা বেছে নেন। bae লাইব্রেরির ফোল্ডার সেই অ্যাকাউন্টের সঙ্গে ভাগ করে, বা S3-তে তাঁর জন্য একটি অ্যাক্সেস কী তৈরি করে, এবং একটি আমন্ত্রণ দেখায়: একটি QR কোড, যাতে লাইব্রেরির অবস্থান, মানুষটির জন্য বেছে নেওয়া সদস্য id, একবার ব্যবহারযোগ্য একটি গোপন মান এবং লাইব্রেরির বর্তমান নাম থাকে। তৈরির এক দিন পরে এর মেয়াদ শেষ হয়।
- মানুষটির ডিভাইস সেটি স্ক্যান করে, তাঁর নিজের অ্যাকাউন্টে সাইন ইন করে, তাঁর কী-জোড়া তৈরি করে এবং স্টোরেজে একটি যোগদানের অনুরোধ লেখে, যা আমন্ত্রণের গোপন মান থেকে তৈরি কী দিয়ে encrypted এবং তাঁর নতুন কী দিয়ে স্বাক্ষরিত।
- অ্যাডমিনের ডিভাইস, একমাত্র যেটির কাছে গোপন মান আছে, অনুরোধটি দেখায়, এবং অ্যাডমিন সেটি অনুমোদন করেন।
- অনুমোদন প্রতিটি store কী মানুষটির নতুন sealing কী-র জন্য seal করে, তারপর তাঁকে গ্রহণ করার এন্ট্রি যোগ করে।
- নতুন ডিভাইস নিজের কী খোলে, লাইব্রেরি লোড করে, নিজেকে নিবন্ধন করে এবং মানুষটির টাইপ করা নাম দিয়ে তাঁর প্রোফাইল লেখে।
আমন্ত্রণ প্রত্যাখ্যান করলে, বা মেয়াদ শেষ হতে দিলে, তা যে সেবা-দাতা প্রবেশাধিকার দিয়েছিল তা ফিরিয়ে নেওয়া হয়।
সরানো
এই অংশের লিঙ্কএকটি ডিভাইস বা মানুষ সরানো একটি অ্যাডমিন এন্ট্রি, এবং ক্রমে তার অবস্থান ইতিহাসে একটি রেখা: সরানো ডিভাইস বা মানুষ এরপর যা পাঠায় তা গণ্য হয় না, আর আগে যা পৌঁছেছে তা থাকে। কাউকে সরালে তাঁর ডিভাইস ও ব্যক্তিগত circle-ও সরে যায়, এবং তাঁর কাছে থাকা কী আরও ডেটা লেখার আগে বদলে ফেলা হয় (Encryption দেখুন)। স্টোরেজ প্রবেশাধিকার কাটা সেবা-দাতার কাজ: যে অ্যাকাউন্টে লাইব্রেরি আছে তার ডিভাইস ফোল্ডার শেয়ার বন্ধ করে, আর S3-তে মানুষটির অ্যাক্সেস কী মুছে ফেলা হয়। সরানো ডিভাইসে আগে যা সিঙ্ক হয়েছে তা সেখানেই থাকে; ডেটা ফিরিয়ে নেওয়া যায় না।
রিস্টোর কোড
এই অংশের লিঙ্করিস্টোর কোডে একজন সদস্যের id ও তাঁর বর্তমান ব্যক্তিগত কী-জোড়া, লাইব্রেরির store id এবং তার স্টোরেজ অবস্থান থাকে; কখনও স্টোরেজ credentials, সাইন-ইন টোকেন বা লাইব্রেরির নাম নয়। এটি চাইলে দেখানো হয়, Apple প্ল্যাটফর্মে স্বয়ংক্রিয়ভাবে iCloud Keychain-এ রাখা হয়, এবং লাইব্রেরি নিজে যতটা সংবেদনশীল ঠিক ততটাই: যার কাছে এটি এবং স্টোরেজে প্রবেশাধিকার আছে, লাইব্রেরির কাছে তিনিই সেই মানুষ। কেউ প্রতিটি ডিভাইস ও নিজের কোড হারালে অ্যাডমিন তাঁকে তাঁর বিদ্যমান সদস্য id-তে আবার আমন্ত্রণ জানাতে পারেন, যাতে তাঁর কী বদলে যায়।