In Tor, when multiple relays have the same operator(s), they should declare that they are members of a "family".

In Tor's current design, to set up relays as members of a family, every relay needs to list every other member of the family in its configuration, and publish that list to clients as well. Estas listas pueden ser desagradables de mantener y caras de descargar.

El diseño Happy Families es una característica nueva de Tor 0.4.9.2-alpha que (con el tiempo) proporcionará una forma más sencilla de configurar familias de repetidores, y también ahorrará mucho tráfico cuando los clientes estén obteniendo información del directorio de red.

(Desafortunadamente, mudarse a familias felices generará trabajo adicional mientras dure la transición. Creemos que a la larga valdrá la pena.)

Debería leer esto si es un operador de repetidores que necesita configurar una familia en la red Tor.

La idea básica

In the Happy Families design, every relay family is identified by a secret family signing key shared by all family members. Los miembros de la familia utilizan esta clave para firmar los certificados que acreditan su pertenencia a la familia.

So what you'll need to do is:

  1. Genera una sola clave para tu familia.
  2. Copia esa clave en cada relay.
  3. Configura tus repetidores para que utilicen esa clave.

En más detalle

Generación de la clave familiar

Primero, necesitarás esperar hasta que todos tus repetidores estén ejecutando la versión 0.4.9.2-alpha o posterior.

Then, to generate a family key, run:

tor --keygen-family MyKey

Esto creará un archivo llamado MyKey.secret_family_key; también escribirá algo como este resultado en la salida estándar:

# Generated MyKey.secret_family_key
FamilyId wweKJrJxUDs1EdtFFHCDtvVgTKftOC/crUl1mYJv830

Save that FamilyID line; you're going to need it! (No uses el de este ejemplo—ese no es el identificador de tu familia)

Configurar su repetidor

Copia el archivo MyKey.secret_family_key (o como lo hayas llamado) en el KeyDir a cada uno de tus repetidores. (Por defecto, este es el subdirectorio keys de tu carpeta DataDir.) El nombre del archivo debe terminar con .secret_family_key.

Then, add the FamilyId line to your torrc.

If your relay is running, you'll have to tell it to reload its configuration (typically with a SIGHUP.)

¿Funcionó?

Si lo hiciste bien, deberías ver una entrada de family-cert en el descriptor de tu repetidor, parecida a esta:

family-cert
-----BEGIN FAMILY CERT-----
AQwAB2K5AXJrxBpgTXDIvHKFShmCCD2yLnDaBf2lWaInBhR2R56HAQAgBAAjv69J
jy+7BSRh1GnGF7Zxm+AMXvJYWkUCWY+5KU8Bymkz5N4D/QNs4K6bOjLokAwD4raT
J34t8b7uxHXuFS2F2VN5Ygr3//vGsB00jideQ5Cj9aX+BLSZ2FjC6GK2XAo=
-----END FAMILY CERT-----

Once enough of the directory authorities are running 0.4.9.2-alpha or later, they'll include a corresponding entry in your relays' microdescriptors, which will look something like:

family-ids ed25519:wweKJrJxUDs1EdtFFHCDtvVgTKftOC/crUl1mYJv830

NOTA: ¡Todavía necesitas configurar MyFamily!

Unfortunately, you will still need to configure the MyFamily option as you did before: until clients all support Happy Families, they will need to look at the legacy family lists.

Vamos a intentar que este periodo transitorio sea lo más breve posible.

Lo anunciaremos cuando ya no sea necesario incluir MyFamily.

Información adicional: Cómo transferir las llaves familiares

Si uno de tus repetidores se ve comprometido, o si accidentalmente filtras una clave familiar, tendrás que cambiar la clave. (Si no, un repetidor malicioso podría declarar ser miembro de tu familia.)

Para ello, recomendamos un proceso gradual.

  1. Genera una clave nueva de familia como se indicó anteriormente. Dale un nombre de archivo diferente al de la clave antigua.
  2. Copia la clave de familia nueva en cada uno de tus repetidores, sin reemplazar la clave de familia anterior.
  3. Agrega la línea FamilyID nueva a las configuraciones de todos tus repetidores, sin eliminar la anterior. En este punto, todos tus repetidores serán miembros de dos familias.
  4. Espera unos días para dar tiempo a que la información familiar nueva se propague.
  5. Elimina las líneas FamilyID antiguas de la configuración de tus repetidores. Optionally, remove the old family keys as well.

Información adicional: Ahorros previstos desde esta transición

Queremos eliminar al mismo tiempo MyFamily y las claves TAP de cebolla heredadas. Cuando lo hagamos, estimamos que los microdescriptores de la red resultante serán algo así como el 10% de su tamaño actual.

(Desgraciadamente, puede que no sea un ahorro permanente: cuando pasemos a la criptografía poscuántica, puede que tengamos que volver a agrandar los microdescriptores. Pero al menos este cambio liberará espacio para hacerlo).