Identidad y membresía
No hay sistema de cuentas en ningún lugar de bae. Cada persona de una biblioteca es un miembro de coven: un id de miembro aleatorio y permanente y dos pares de claves, uno para firmar y otro para el que se sellan claves, compartidos por todos los dispositivos de esa persona y guardados en el llavero del sistema operativo de cada dispositivo. Un dispositivo es una instalación, con su propio id, que pertenece a un miembro. Quién pertenece a una biblioteca es un conjunto de registros firmados en el hogar en la nube, comprobados por el dispositivo de cada miembro, emitidos por ningún servidor. La maquinaria es de coven; esta página muestra cómo la usa bae.
Registros de membresía
Enlace a esta secciónTodo el historial de una biblioteca en el hogar en la nube es una secuencia numerada, y cada dispositivo la aplica en el mismo orden. Un cambio de membresía o de configuración es una entrada de administración en esa secuencia, firmada con la clave de su autor y juzgada contra el estado justo anterior, así que cada dispositivo llega al mismo veredicto por su cuenta. Una entrada solo cuenta si su autor puede hacerla, y la biblioteca siempre conserva al menos un administrador.
Cada cambio que envía un dispositivo se comprueba contra este registro: firmado por un miembro actual, desde un dispositivo que no ha sido eliminado. Los cambios de dispositivos o miembros eliminados, de claves nunca agregadas o con firmas inválidas no cuentan. El proveedor almacena los registros pero no puede falsificarlos.
Administrador y Miembro leen y escriben la biblioteca: coven no comprueba permisos en las escrituras de la biblioteca, así que un rol de solo lectura no se sostendría. Los administradores además invitan y eliminan personas, cambian roles y renombran la biblioteca. Quien le da a una biblioteca su hogar en la nube es su primer administrador.
| Acción | Quién |
|---|---|
| Invitar a una persona | un administrador |
| Agregar un dispositivo | la persona, desde el dispositivo nuevo, con su código de restauración |
| Eliminar un dispositivo | su persona, o cualquier administrador |
| Eliminar a una persona | un administrador |
| Renombrar la biblioteca | un administrador |
El perfil, las valoraciones, el historial y las listas de una persona son filas de propietario: solo los dispositivos de esa persona pueden cambiarlas, así que una valoración atribuida a alguien la hizo esa persona.
Agregar tu propio dispositivo
Enlace a esta secciónUn código de restauración demuestra que un dispositivo es de su persona, así que no necesita aprobación:
- El dispositivo nuevo obtiene el código escaneando el código QR que muestra otro dispositivo de la persona, desde el llavero de iCloud en dispositivos Apple, o escribiéndolo.
- Llega al almacenamiento: en Dropbox y OneDrive iniciando sesión en la propia cuenta de la persona, en S3 con su clave de acceso, que el código QR lleva junto al código.
- Carga la biblioteca, comprueba que las claves del código pertenecen a un miembro actual y se registra como dispositivo nuevo con una entrada firmada con esas claves.
Un código cuyas claves se hayan reemplazado desde entonces falla. Restaurar siempre crea un dispositivo nuevo; no rescata las ediciones sin enviar de otra instalación.
Invitar a una persona
Enlace a esta sección- Un administrador introduce la cuenta del proveedor de la persona y elige su rol. bae comparte la carpeta de la biblioteca con esa cuenta, o en S3 crea una clave de acceso para ella, y muestra una invitación: un código QR con la ubicación de la biblioteca, el id de miembro elegido para la persona, un secreto de un solo uso y el nombre actual de la biblioteca. Caduca un día después de crearse.
- El dispositivo de la persona la escanea, inicia sesión en su propia cuenta, crea sus pares de claves y escribe una solicitud de unión en el almacenamiento, cifrada con una clave derivada del secreto de la invitación y firmada con su clave nueva.
- El dispositivo del administrador, el único que tiene el secreto, muestra la solicitud, y el administrador la aprueba.
- La aprobación sella cada clave de almacén para la clave de sellado nueva de la persona y luego agrega la entrada que la admite.
- El dispositivo nuevo abre sus claves, carga la biblioteca, se registra y escribe el perfil de la persona con el nombre que escribió.
Rechazar la invitación, o dejar que caduque, retira el acceso al proveedor que había concedido.
Eliminación
Enlace a esta secciónEliminar un dispositivo o una persona es una entrada de administración, y su lugar en la secuencia es una línea en el historial: lo que el dispositivo o la persona eliminados envían después no cuenta, mientras que lo que llegó antes se queda. Eliminar a una persona también elimina sus dispositivos y su círculo privado, y las claves que tenía se reemplazan antes de escribir más datos (consulta Cifrado). Cortar el acceso al almacenamiento es trabajo del proveedor: el dispositivo de la cuenta que aloja la biblioteca deja de compartir la carpeta, y en S3 se borra la clave de acceso de la persona. Lo que ya se había sincronizado a un dispositivo eliminado permanece con él; los datos no se pueden retirar.
Códigos de restauración
Enlace a esta secciónUn código de restauración contiene el id de un miembro y sus pares de claves privadas actuales, el id de almacén de la biblioteca y su ubicación de almacenamiento; nunca credenciales de almacenamiento, tokens de inicio de sesión ni el nombre de la biblioteca. Se muestra bajo demanda, se guarda automáticamente en el llavero de iCloud en plataformas Apple, y es exactamente tan sensible como la biblioteca misma: quien lo tenga, con acceso al almacenamiento, es esa persona para la biblioteca. Una persona que pierde cada dispositivo y su código puede ser invitada de nuevo por un administrador a su id de miembro existente, lo que reemplaza sus claves.