Este documento propone un mecanismo para la distribución y activación del certificado de revocación de la llave de firmado de Tails.

Objetivos

Cubiertos por la propuesta actual:

  1. Prevenir que ninguna persona pueda unilateralmente revocar nuestra clave de firmado.
  2. Permitir a una coalición de miembros de tails@boum.org revocar nuestra clave de firmado en caso de que la mayoría de la gente de tails@boum.org no se encuentre disponible.
  3. Permitir que un grupo de gente, no necesariamente de tails@boum.org, revoque nuestra clave de firmado en caso de que todos los miembros de tails@boum.org devenga no disponible.
  4. Hacer difícil que un grupo de gente que no sea de tails@boum.org revoque nuestra clave de firmado a menos que todos o casi todos los miembros de tails@boum.org devengan no disponibles.
  5. Gente que no sea de tails@boum.org no debería saber cómo son repartidas las partes y quién las tiene.
  6. Gente en posesión de una parte del certificado de revocación de la la llave de firmado debería tener instrucciones sobre cómo usarlo si fuera necesario.

Grupos

Definimos cuatro grupos complementarios de gente confiable:

  • Grupo A: gente del mismo tails@boum.org
  • Grupo B
  • Grupo C
  • Grupo D

Todas estas personas tienen que tener una clave OpenPGP y entender lo que es un certificado de revocación.

Porciones criptográficas

Generamos un certificado de revocación de la clave de firmado y la dividimos en un número de porciones criptográficas, usando por ejemplo el esquema para compartir secretos de Shamir implementado por gfshare.

Las siguientes combinaciones de gente podrían juntarse y rearmar sus porciones para reconstruir un certificado de revocación completo:

  • Tres personas de tails@boum.org: A{3}
  • Dos personas de tails@boum.org y una persona que no sea de tails@boum.org: A{2}+(B|C|D)
  • Una persona de tails@boum.org, y dos personas que no sean de tails@boum.org pero de distintos grupos: A+(B|C|D){2}
  • Tres personas que no sean de tails@boum.org pero de tres grupos diferentes: (B+C+D){3}

Generamos estas porciones:

  • N porciones, una para cada persona de tails@boum.org
  • Una porción para las personas en el grupo B
  • Una porción para las personas en el grupo C
  • Una porción para las personas en el grupo D

Quién sabe qué

  • La gente de tails@boum.org sabe la composición de cada grupo
  • People not from tails@boum.org:
    • Are explained in which circumstances they should revoke the signing key
    • Are told to write to a certain contact email address if they decide to revoke the signing key
    • Are told that they need three different shares to reassemble the revocation certificate

Infraestructura

  • Toda persona que tenga una porción está suscrita a una lista de correo.
  • Esta lista de correo está alojada en un servidor de confianza distinto de boum.org para ser más estable que nuestros canales de comunicación habituales.

Cambiar los miembros de los grupos B, C o D

Para agregar a alguien a un grupo determinado:

  • Pedirle a alguien de ese grupo que le envíe su porción a la nueva persona del grupo.

Para remover a alguien de un grupo:

  • Enviar nuevas porciones a todo el mundo, excepto a la persona que se está removiendo.
  • Request everybody to delete their previous share and track this. Once everybody in 2 groups amongst B, C, or D have deleted their share, it becomes impossible for them to reassemble the revocation certificate with the previous set of shares.
  • Esperemos que esto no pase tan a menudo :)

Expiración

There is no expiry date on revocation certificates. One way of cancelling the revocation power is to destroy all copies of shares of 2 groups amongst B, C, or D.

Correo electrónico a los miembros de los grupos

Asunto: distribución

Hola,

Te proponemos que seas parte de un mecanismo distribuido para el certificado
de revocación de la clave de firma de Tails.

La idea es distribuir porciones criptográficas de este certificado de
revocación a gente en la que confiamos. Estas porciones criptográficas
pueden juntarse para recrear el certificado de revocación y revocar la clave
de firma de Tails. Esto podría ser necesario en caso de que nos pase algo
malo y no podamos revocarla por nuestra cuenta.

Nota: En todo este documento, 'nosotros' se refiere al conjunto de gente
suscrita a tails@boum.org que es una lista de correo Schleuder.

Puedes leer una descripción completa del mecanismo de distribución en:

https://tails.boum.org/doc/about/openpgp_keys/signing_key_revocation/index.es.html.

La receta es pública y el único componente secreto es la lista de gente que
tiene el material criptográfico.

Te proponemos esto a tí porque confiamos tanto en tus habilidades técnicas
para guardar tu porción en un lugar seguro y manipularla como es requerido,
sino también porque confiamos en tí como persona que puede tomar una
decisión sensata de cuándo usar tu porción y actuar sólo en el interés de
Tails.

Las cosas malas que podrían pasar si el mecanismo falla son:

A. La clave de firmado no se revocan cuando deberían. Esto podría permitir a
posibles atacantes distribuir imágenes ISO maliciosas de Tails o publicar
información maliciosa en nuestro nombre.

B. La clave de firmado es revocada cuando no debería revocarse. Esto
prevendría que la gente pueda verificar nuestras imágenes ISO con OpenPGP
hasta que publiquemos una nueva clave de firma.

Distribución de las porciones
==============================

Cada persona de tails@boum.org, el grupo A, tiene una porción *distinta*,
A1, A2, ..., An.

On top of this, we defined three complementary groups, B, C, and D of
trusted people who have a close relationship with Tails but different
interests and different access to information about us. You are part of one
of these groups.

Todas las personas en el grupo B tienen *la misma* porción B.

Todas las personas en el grupo C tienen *la misma* porción C.

Todas las personas en el grupo D tienen *la misma* porción D.

Three different shares are needed to reassemble the revocation
certificate. For example, shares A1, A2, and A3, or shares A1, B, and C.

How to store your share
=======================

Please keep your share in an encrypted storage and make it as hard as you
can for untrusted people to get a copy of it.

You can rename the file as long as you keep the number in the file name of
your share as it is needed to use the share.

Feel free to back up the file but we might also request you to delete it at
some point and you should be able to know whether you still have a copy of
it or not. It is all-right to lose your share as long as you tell us that
you have lost it. It is actually worse to still have a copy of the share
"somewhere" while thinking that you don't, than to lose it by mistake.

Don't hesitate to ask us if you need clarification on the technical aspects
of this.

Cuándo usar tu porción
========================

Everybody in possession of a share is subscribed to a mailing list.

If someone in possession of a share gets to learn about a very bad event
that happened to many of us and really thinks that we are not capable of
revoking the Tails signing key ourselves anymore, then this person should
write to the mailing list explaining why she thinks that the signing key
needs to be revoked.

Yes, there is no mathematically proven algorithm for this and here is where
your judgement as a human being is needed. The description of the very bad
event should be checked or backed by enough people to be plausible.

Keep in mind that we could still revoke the signing key ourselves as long as
three of us are able to communicate and gather their shares. So we only need
your help if only two of us are still able to communicate.

Unless you really want to start the key revocation process, do not write to
this mailing list.

Siguientes comunicaciones
=========================

In case we need to communicate with you about this revocation mechanism in
the future, we will always do it with messages signed by the Tails signing
key itself. We might do so for example to:

  - Ask you to send your share to a new member of your group.

  - Ask you to delete your share. This could be needed to cancel the power
    of others people's share: as long as enough of you delete their shares,
    the few people that might not delete them would end up with unusable
    shares.

Entonces, ¿Podemos contar contigo para esto?

If you answer positively, we will send you your share and subscribe you to
the mailing list.

Thanks, and may the force be with you!