Към съдържанието

Идентичност и членство

Никъде в bae няма система от акаунти. Идентичността на устройство е Ed25519 двойка ключове, която то генерира за себе си и пази в ключодържателя на операционната система; публичният ключ е идентичността. Кой принадлежи към библиотека е набор от подписани записи в облачния дом, проверими от всеки, който ги държи, издадени от никакъв сървър. Механизмът е на coven; тази страница описва как bae го използва.

Записи за членство

Връзка към този раздел

Всеки owner записва поток само с добавяне от подписани записи за членство в облачния дом: този ключ е добавен с тази роля, този ключ е премахнат. Всеки запис сочи към предишния, а всеки owner подписва глава, която обявява върха на неговия поток, така че доставчик, който изпуска или пренарежда записи, се открива, вместо да му се вярва. Това, което библиотеката приема, е обединението на проверения поток на всеки owner.

При всяко изтегляне авторът на всеки changeset се проверява срещу този запис: подписан от текущ член, с роля, която може да пише. Changeset-и от премахнати устройства, от ключове, които никога не са добавяни, или с невалидни подписи не се прилагат. Доставчикът съхранява записите, но не може да ги подправи; само притежатели на owner ключове могат да променят членството.

Owner и Member и двете четат и пишат библиотеката; owners допълнително одобряват и премахват устройства. Основаващото устройство на bae е owner и всяко устройство, което то одобри, се присъединява като member. (В основния механизъм съществува трета роля, последовател само за четене, която bae в момента не задава.)

Обменът за присъединяване

Връзка към този раздел

Добавянето на устройство е една локална сесия на сдвояване с изрична човешка проверка:

  1. Собственик стартира Добавяне на устройство. bae слуша за кратко локалната мрежа и показва един код за сдвояване. Той съдържа адресите на слушателя, ключ за краткотрайна сесия, името на библиотеката, доставчика и изтичане - без ключ за библиотека или идентификационни данни за трайно съхранение.
  2. Присъединяващото се устройство сканира кода, създава своята двойка ключове на устройството, влиза в доставчика, когато е необходимо, и изпраща своя подписан публичен ключ и идентичност на акаунта на доставчика чрез шифрованата локална връзка. И двете устройства показват един и същ пръстов отпечатък.
  3. Собственикът сравнява пръстовите отпечатъци и потвърждава точната самоличност. Одобрението предоставя достъп до акаунта в облака, когато е необходимо, подписва записа за членство и запечатва ключа на библиотеката и окончателния достъп до хранилището до публичния ключ на новото устройство.
  4. Запечатаният пакет се връща през същата автентифицирана локална връзка. Присъединяващото се устройство го отваря, зарежда се от облачно хранилище и започва синхронизиране.

Изтекло, прекъснато или отхвърлено сдвояване не предоставя нищо.

Премахването на member добавя подписано премахване и завърта ключа на библиотеката към ново поколение, което премахнатият ключ никога не получава (вижте Шифроване). При хранилище, което може да отнема достъп, достъпът също се отнема. Това, което вече е синхронизирано към премахнатото устройство, остава при него; данни не могат да бъдат върнати. Всичко след завъртането е извън обсега му.

Кодове за възстановяване

Връзка към този раздел

Кодът за възстановяване умишлено заобикаля членството: това са координатите на облачния дом плюс ключа на библиотеката, в един низ, който сам дава достъп, за възстановяване на собствената ви библиотека без останал одобряващ. Генерира се при поискване, съхранява се автоматично в iCloud Keychain на Apple платформи и е точно толкова чувствителен, колкото самата библиотека.