Aller au contenu

Identité et appartenance

Il n’y a aucun système de compte dans bae. Chaque personne d’une bibliothèque est un membre coven : un identifiant de membre aléatoire et permanent et deux paires de clés, l’une pour signer et l’autre pour laquelle des clés sont scellées, partagées par tous les appareils de cette personne et conservées dans le trousseau du système d’exploitation de chaque appareil. Un appareil est une installation, avec son propre identifiant, qui appartient à un membre. Qui fait partie d’une bibliothèque est un ensemble d’enregistrements signés dans l’emplacement cloud, vérifiés par l’appareil de chaque membre, émis par aucun serveur. La mécanique est celle de coven ; cette page explique comment bae l’utilise.

Enregistrements d’appartenance

Lien vers cette section

Tout l’historique d’une bibliothèque dans l’emplacement cloud est une séquence numérotée, et chaque appareil l’applique dans le même ordre. Un changement d’appartenance ou de réglages est une entrée d’administration dans cette séquence, signée avec la clé de son auteur et jugée selon l’état juste avant elle, donc chaque appareil arrive seul au même verdict. Une entrée ne compte que si son auteur a le droit de la faire, et la bibliothèque garde toujours au moins un administrateur.

Chaque changement qu’envoie un appareil est vérifié avec cet enregistrement : signé par un membre actuel, depuis un appareil qui n’a pas été retiré. Les changements d’appareils ou de membres retirés, de clés jamais ajoutées, ou avec des signatures invalides ne comptent pas. Le fournisseur stocke les enregistrements mais ne peut pas les falsifier.

Administrateur et Membre lisent et écrivent tous les deux la bibliothèque : coven ne vérifie aucune permission sur les écritures de la bibliothèque, donc un rôle en lecture seule ne tiendrait pas. Les administrateurs invitent et retirent en plus des personnes, changent les rôles et renomment la bibliothèque. La personne qui donne à une bibliothèque son emplacement cloud en est le premier administrateur.

ActionQui
Inviter une personneun administrateur
Ajouter un appareilla personne, depuis le nouvel appareil, avec son code de restauration
Retirer un appareilsa personne, ou n’importe quel administrateur
Retirer une personneun administrateur
Renommer la bibliothèqueun administrateur

Le profil, les notes, l’historique et les listes de lecture d’une personne sont des lignes de propriétaire : seuls les appareils de cette personne peuvent les modifier, donc une note attribuée à quelqu’un vient bien de lui.

Ajouter votre propre appareil

Lien vers cette section

Un code de restauration prouve qu’un appareil appartient à sa personne, il n’a donc besoin d’aucune approbation :

  1. Le nouvel appareil obtient le code en scannant le code QR qu’affiche un autre appareil de la personne, depuis le trousseau iCloud sur les appareils Apple, ou par saisie.
  2. Il accède au stockage : sur Dropbox et OneDrive en se connectant au propre compte de la personne, sur S3 avec sa clé d’accès, que le code QR transporte à côté du code.
  3. Il charge la bibliothèque, vérifie que les clés du code appartiennent à un membre actuel et s’enregistre comme nouvel appareil avec une entrée signée par ces clés.

Un code dont les clés ont été remplacées depuis échoue. Restaurer crée toujours un nouvel appareil ; cela ne récupère pas les modifications non envoyées d’une autre installation.

Inviter une personne

Lien vers cette section
  1. Un administrateur saisit le compte de fournisseur de la personne et choisit son rôle. bae partage le dossier de la bibliothèque avec ce compte, ou sur S3 crée une clé d’accès pour elle, et affiche une invitation : un code QR contenant l’emplacement de la bibliothèque, l’identifiant de membre choisi pour la personne, un secret à usage unique et le nom actuel de la bibliothèque. Elle expire un jour après sa création.
  2. L’appareil de la personne la scanne, se connecte à son propre compte, crée ses paires de clés et écrit une demande d’adhésion dans le stockage, chiffrée avec une clé dérivée du secret de l’invitation et signée avec sa nouvelle clé.
  3. L’appareil de l’administrateur, le seul à détenir le secret, affiche la demande, et l’administrateur l’approuve.
  4. L’approbation scelle chaque clé de stockage pour la nouvelle clé de scellement de la personne, puis ajoute l’entrée qui l’admet.
  5. Le nouvel appareil ouvre ses clés, charge la bibliothèque, s’enregistre et écrit le profil de la personne avec le nom qu’elle a saisi.

Refuser l’invitation, ou la laisser expirer, reprend l’accès au fournisseur qu’elle avait accordé.

Retirer un appareil ou une personne est une entrée d’administration, et sa place dans la séquence est une ligne dans l’historique : ce que l’appareil ou la personne retirés envoient ensuite ne compte pas, tandis que ce qui est arrivé avant reste. Retirer une personne retire aussi ses appareils et son cercle privé, et les clés qu’elle détenait sont remplacées avant que d’autres données soient écrites (consultez Chiffrement). Couper l’accès au stockage est le travail du fournisseur : l’appareil du compte qui héberge la bibliothèque cesse de partager le dossier, et sur S3 la clé d’accès de la personne est supprimée. Ce qui était déjà synchronisé sur un appareil retiré reste avec lui ; les données ne peuvent pas être rappelées.

Codes de restauration

Lien vers cette section

Un code de restauration contient l’identifiant d’un membre et ses paires de clés privées actuelles, l’identifiant de stockage de la bibliothèque et son emplacement de stockage ; jamais d’identifiants de stockage, de jetons de connexion ni le nom de la bibliothèque. Il est affiché à la demande, stocké automatiquement dans le trousseau iCloud sur les plateformes Apple, et est exactement aussi sensible que la bibliothèque elle-même : qui le détient, avec un accès au stockage, est cette personne pour la bibliothèque. Une personne qui perd chaque appareil et son code peut être invitée à nouveau par un administrateur sur son identifiant de membre existant, ce qui remplace ses clés.