Esse documento propõe um mecanismo para a distribuição e ativação do certificado de revogação da chave de assinatura do Tails.

Status

Este documento está obsoleto.

Ele será simplificado ou removido por tails/summit/-/issues/36.

Objetivos

Cobertos pela proposta atual:

  • Prevenir um indivíduo de revogar nossa chave de assinatura.

  • Permitir que uma coalizão de pessoas do Conselho revogue nossa chave de assinatura caso a maioria das pessoas do Conselho fique indisponível.

  • Permitir que uma coligação de pessoas, não necessariamente do Conselho, revogue a nossa chave de assinatura caso todos ou quase todos do Conselho fiquem indisponíveis.

  • Tornar difícil para uma coalizão de pessoas que não fazem parte do Conselho revogar nossa chave de assinatura, a menos que todos ou quase todos do Conselho fiquem indisponíveis.

  • Pessoas que não fazem parte do Conselho não deveriam saber como as ações estão distribuídas e quem as possui.

  • Pessoas que possuem uma copia do certificado de revogação da chave de assinatura devem haver instruções sobre como usa-las caso seja necessário.

Grupos

Definimos quatro grupos complementares de pessoas confiáveis:

  • Grupo A: pessoas do próprio Conselho
  • Grupo B
  • Grupo C
  • Grupo D

Todas essas pessoas devem haver uma chave OpenPGP e entender o que é um certificado de revogação.

Compartilhamentos criptografados

Geramos um certificado de revogação da chave de assinatura e o dividimos em vários compartilhamentos criptográficos, usando, por exemplo, o esquema de compartilhamento secreto de Shamir implementado por gfshare.

As seguintes combinações de pessoas podem se juntar e remontar suas partes compartilhadas para reconstruir um certificado de revogação completo:

  • Três pessoas do Conselho: A{3}
  • Duas pessoas do Conselho e uma pessoa que não é do Conselho: A{2}+(B|C|D)
  • Uma pessoa do Conselho e duas pessoas que não são do Conselho, mas de dois grupos diferentes: A+(B|C|D){2}
  • Três pessoas não do Conselho, mas de três grupos diferentes: (B+C+D){3}

Nós geramos essas partes:

  • N ações, uma para cada pessoa do Conselho
  • 1 parte para pessoas no grupo B
  • 1 parte para pessoas no grupo C
  • 1 parte para pessoas no grupo D

Quem sabe o que

  • Pessoas da Diretoria conhecem a composição de cada grupo
  • Pessoas que não são do Conselho:
    • São explicados em que circunstâncias devem revogar a chave de assinatura
    • São instruídos a escrever para um determinado endereço de e-mail de contato se decidirem revogar a chave de assinatura
    • São informados de que precisam de três compartilhamentos diferentes para remontar o certificado de revogação

Infraestrutura

  • Todos que sabem de uma parte estão inscritos em uma lista de de email.
  • A lista de email é hospedada em um servidor diferente de boum.org para ser mais resiliente que nossos canais de comunicação usuais.
  • Alguém hospedando a lista de emails é parte do grupo B, C, ou D, então eles podem ter certeza que a lista continua funcionando mesmo se nunca for usada.

Mudando os membros dos grupos B, C ou D

Para adicionar alguém à um determinado grupo:

  • Solicite que alguém desse grupo mande sua parte para a nova pessoa nesse grupo.

Para remover alguém de um determinado grupo:

  • Mande novas partes para todos, menos para a pessoa que está sendo removida.
  • Solicite a todos que excluam seu compartilhamento anterior e rastreiem isso. Depois que todos em 2 grupos entre B, C ou D tiverem excluído sua ação, torna-se impossível para eles remontar o certificado de revogação com o conjunto anterior de ações
  • Esperamos que isso não ocorra muito frequentemente :)

Termo

Não há prazo de validade para certificados de revogação. Uma forma de cancelar o poder de revogação é destruir todas as cópias de ações de 2 grupos entre B, C ou D.

E-mail de convite

Alguém que tenha uma relação de confiança pessoal com a pessoa convidada envia este e-mail.

<pré> Assunto: distribuição

Oi,

Queremos propor que você faça parte de um mecanismo distribuído para o certificado de revogação da chave de assinatura do Tails.

A ideia é distribuir cotas criptográficas deste certificado de revogação para pessoas em quem confiamos. Esses compartilhamentos criptográficos podem ser reunidos para remontar o certificado de revogação e revogar a chave de assinatura do Tails. Isso pode ser necessário caso algo realmente ruim aconteça conosco e não possamos fazer a revogação sozinhos.

Nota: Em todo este documento, 'nós' refere-se ao Conselho.

Você pode ler uma descrição completa do mecanismo de distribuição em:

https://tails.net/doc/about/openpgp_keys/signing_key_revocation.

A receita é pública e o único componente secreto é a lista de pessoas que possuem o material criptográfico.

Propomos isso a você porque confiamos em suas habilidades técnicas para armazenar sua ação em um local seguro e manipulá-la conforme necessário. Mas também porque confiamos em você como ser humano para fazer um julgamento informado sobre quando usar sua parte e agir apenas no interesse do Tails.

As coisas ruins que podem acontecer se o mecanismo falhar são:

R. A chave de assinatura não é revogada quando deveria. Isso poderia permitir que possíveis invasores distribuíssem imagens maliciosas do Tails ou publicassem informações maliciosas em nosso nome.

B. A chave de assinatura é revogada quando não deveria. Isso impediria que as pessoas verificassem nossas imagens com o OpenPGP até que publicássemos uma nova chave de assinatura e construíssemos confiança nela.

Distribuição das ações

Cada pessoa do Conselho, grupo A, tem uma ação diferente, A1, A2, ..., An.

Além disso, definimos três grupos complementares, B, C e D, de pessoas de confiança que têm um relacionamento próximo com o Tails, mas com interesses e acessos diferentes às informações sobre nós. Você faz parte de um desses grupos.

Todos no grupo B têm uma parcela B idêntica.

Todos no grupo C têm uma parcela C idêntica.

Todos no grupo D têm uma parcela D idêntica.

São necessários três compartilhamentos diferentes para remontar o certificado de revogação. Por exemplo, ações A1, A2 e A3 ou ações A1, B e C.

Como armazenar sua parte

Por favor, mantenha seu compartilhamento em um armazenamento criptografado e torne o mais difícil possível para que pessoas não confiáveis obtenham uma cópia dele.

Você pode renomear o arquivo, desde que mantenha o número no nome do arquivo do seu compartilhamento, conforme necessário para usá-lo.

Sinta-se à vontade para fazer backup do arquivo, mas também podemos solicitar que você o exclua em algum momento e você poderá saber se ainda tem uma cópia dele ou não. Não há problema em perder a sua parte, desde que você nos diga que a perdeu. Na verdade, é pior ainda ter uma cópia do compartilhamento "em algum lugar" e pensar que não, do que perdê-lo por engano.

Não hesite em nos perguntar se precisar de esclarecimentos sobre os aspectos técnicos deste assunto.

Quando usar seu compartilhamento

Todos os que possuem uma ação estão inscritos em uma lista de discussão.

Se alguém em posse de um compartilhamento souber de um evento muito ruim que aconteceu com muitos de nós e realmente pensar que não somos mais capazes de revogar a chave de assinatura do Tails nós mesmos, então essa pessoa deve escrever para a lista de discussão explicando por que ela pensa que a chave de assinatura precisa ser revogada.

Sim, não existe um algoritmo matematicamente comprovado para isso e é aqui que é necessário o seu julgamento como ser humano. A descrição do evento muito ruim deve ser verificada ou apoiada por um número suficiente de pessoas para ser plausível.

As pessoas da lista que também estão convencidas de que a chave de assinatura deve ser revogada compartilham suas ações até terem 3 ações diferentes. Em seguida, eles podem montar o certificado de revogação e publicá-lo para revogar a chave de assinatura.

Lembre-se de que ainda podemos revogar a chave de assinatura, desde que três de nós consigamos nos comunicar e reunir suas ações. Portanto, só precisaremos da sua ajuda se não mais do que dois de nós ainda conseguirmos nos comunicar.

A menos que você realmente queira iniciar o processo de revogação de chave, não escreva para esta lista de discussão.

Outras comunicações

Caso precisemos nos comunicar com você sobre este mecanismo de revogação no futuro, sempre o faremos através da lista de e-mail tails@boum.org. Poderíamos fazer isso, por exemplo, para:

  • Peça para você enviar sua parte para um novo membro do seu grupo.

  • Peça para você excluir seu compartilhamento. Isso pode ser necessário para cancelar o poder do compartilhamento de outras pessoas: contanto que um número suficiente de vocês exclua seus compartilhamentos, as poucas pessoas que não os excluam acabarão com compartilhamentos inutilizáveis.

A lista de discussão tails@boum.org tem sua própria chave OpenPGP, que é assinada pela própria chave de assinatura do Tails:

https://tails.net/tails-email.key

Então, podemos contar com você para isso?

Se você responder positivamente, enviaremos sua parte e o inscreveremos na lista de e-mail.

Obrigado e que a força esteja com você! </pré>

Manter os integrantes dos grupos B, C e D atualizados

Pelo menos a cada 2 anos, garantimos que o mecanismo ainda funciona:

  1. Revisamos internamente a lista de membros de cada grupo e decidimos possíveis acréscimos e remoções de cada grupo.

  2. Escrevemos a cada membro individual de cada grupo para pedir-lhes que verifiquem se ainda têm a sua parte e o número no nome do ficheiro.

  3. Efetuamos login na interface de administração da lista de discussão, verificamos se ela ainda existe e está configurada corretamente.

Atualizar e-mail

Enviamos esses e-mails através de tails@boum.org para evitar a necessidade de uma relação de confiança pessoal entre a pessoa que envia o e-mail e o destinatário. Não enviamos compartilhamentos dos grupos B, C ou D para tails@boum.org fazendo isso.

<pré> Assunto: atualização

Oi,

Há alguns anos, você concordou em fazer parte de um mecanismo distribuído para o certificado de revogação da chave de assinatura do Tails e lhe enviamos uma parte criptográfica deste certificado de revogação.

Hoje, pedimos que você:

  1. Verifique a autenticidade deste e-mail, seja verificando se ele está assinado pelo mailing tails@boum.org ou falando diretamente com alguém do Conselho.

    A lista de discussão tails@boum.org possui sua própria chave OpenPGP, que é assinado pela própria chave de assinatura do Tails:

    https://tails.net/tails-email.key

  2. Confirme se ainda tem em sua posse:

    • Sua parte do certificado de revogação.

    • O número NNN no nome do arquivo do seu compartilhamento.

      O arquivo foi denominado tails-signing-key-revocation-cert.asc.NNN, onde NNN é um número de 3 dígitos.

Para constar, o endereço da mailing list para a qual você deve escrever caso queira montar o certificado de revogação é:

address@example.org

Não escreva para esta lista de discussão a menos que você realmente queira iniciar o processo de revogação de chave.

Também estamos copiando abaixo um resumo do mecanismo.

XXX: copie o e-mail de convite: XXX: - Incluir "Você pode ler uma descrição completa do mecanismo de distribuição em:" XXX: - Pare antes de “Então, podemos contar com você para isso?” </pré>

Adicionando um novo membro

  1. Envie o invitation email para o novo membro.

  2. Se eles concordarem, peça a alguém do mesmo grupo que lhes envie a sua parte da chave.

    Infelizmente, isso revela algumas informações sobre a adesão a esses dois pessoas.

  3. Peça ao novo membro para confirmar o recebimento de sua parte.

Compartilhando e-mail

Enviamos esses e-mails através de tails@boum.org para evitar a necessidade de uma relação de confiança pessoal entre a pessoa que envia o e-mail e o destinatário. Não enviamos compartilhamentos dos grupos B, C ou D para tails@boum.org fazendo isso.

<pré> Assunto: compartilhamento

Oi,

Pedimos a outra pessoa do seu grupo que lhe enviasse uma cópia da sua partilha.

Por favor, diga-nos assim que recebê-lo.

O endereço da mailing list para a qual você deve escrever caso queira montar o certificado de revogação é:

address@example.org

Não escreva para esta lista de discussão a menos que você realmente queira iniciar o processo de revogação de chave.

Obrigado e que a força esteja com você! </pré>