Política de Chaves¶
Chaves OpenPGP¶
O OpenPGP é um padrão de criptografia de uso geral.
Uma introdução é dada neste guia, e o presente documento contém práticas recomendadas para gestão de chaves OpenPGP.
Checar também OpenPGP Best Practices.
Fluxo de Manutenção¶
Geração de par de chaves.
Impressão de fingerprints/cartões de visitas.
Uso regular da chave.
Rotação de subchaves.
Atualização de data de expiração.
Rotação de par de chaves.
Revogação de par de chaves antigo.
Bônus:
Uso de tokens criptográficos de hardware aberto.
Manutenção de um par de chaves de longo prazo offline usada apenas para certificação. Este par pode ser armazenado por exemplo num sistema cifrado dentro de um cartão microSD (por exemplo um Tails com volume persistente) ou num token. Sua função é assinar as chaves de uso corrente.
Renovação¶
Editando a chave:
gpg --edit-key <fingerprint>
Para a chave principal:
expire
Para cada chave:
key <n>
expire
Exportando a chave para o keys.openpgp.org:
gpg --export <fingerprint> | curl -T - https://keys.openpgp.org
Exportando a chave para um servidor de chaves SKS «clássico» (que estão deixando de ser utilizados, em favor do keys.openpgp.org):
gpg --send-key <fingerprint>
Em seguida, escreva para cada lista cifrada:
Firma: enviar ao administrador/a.
Schleuder:
x-add-key:
para o emailnome-da-lista-request@dominio
conforme documentação:x-list-name: nome-da-lista@dominio x-add-key: <chave exportada com armadura ascii>
Em versões anteriores do schleuder, o procedimento precisa ser feito em duas etapas:
Email para lista-request@example.org com o comando
x-delete-key: <id-da-chave>
.Email para lista-request@example.org com o comando
x-add-key
e a chave logo abaixo no corpo do email.
Se fizermos apenas x-add-key
o schleuder acusa que a chave já existe.
O problema dessa abordagem é que ela precisa ser feita por um/a admin da
lista que não seja a pessoa cuja chave está sendo atualizada, senão ela
acaba saindo do loop logo no x-delete-key
.
Talvez seja um bug?
Caso suas chaves sejam disponibilizadas via WKD (Web Key Directory), proceda com a atualização correspondente, a depender de como o WKD foi configurado para o domínio que você utiliza.
Transições¶
Passos recomendados para chaves de uso difundido (isto é, que estejam disponíveis amplamente na rede):
Manutenção das chaves existentes:
Caso as chaves atualmente em uso estejam próximas da expiração, considere primeiramente renová-la por mais um período (por exemplo de um a dois meses), tempo suficiente para que sua nova chave seja propagada por aí e as pessoas comecem a utilizá-la. Isso pode ser feito conforme o procedimento da seção anterior.
Criação das novas chaves:
Criar a nova chave com
gpg --gen-key
.Caso o Monkeysphere seja utilizado:
Criar subchave de autenticação:
monkeysphere gen-subkey -l 4096 <fingerprint-novo>
.Configurar o período de expiração da subchave de autenticação
gpg --edit-key <fingerprint-novo>
e usar o comandoexpire
após selecionar a subchave.Assinar a nova chave usando a chave antiga:
gpg --edit-key <fingerprint> sign
.
Publicação das chaves:
Subir as chaves para os servidores de chaves.
Criar e publicar um atestado de transição:
gpg -u <fingerprint-antigo> -u <fingerprint-novo> --armor --clearsign transition.txt
.Notificar círculos próximos de contato.
Atualizar e imprimir novos cartões de visita e/ou tirinhas com fingerprints.
Caso suas chaves sejam disponibilizadas via WKD (Web Key Directory):
Proceda com a atualização correspondente, a depender de como o WKD foi configurado para o domínio que você utiliza.
Atualização de configurações:
Atualizar configuração de
~/.gnupg/gpg.conf
.Desabilitar chave antiga usando
gpg --edit-key <fingerprint> disable
.Caso sua chave seja usada para assinatura em repositórios usando Git:
Atualizar configurações do git global e por repositório (
user.signingkey
).
Caso você participe de listas Schleuder:
Adicionar cópia da nova chave nas listas schleuder usando
X-ADD-KEY
.
Caso o keyringer seja utilizado:
Atualizar configurações de instâncias do keyringer.
Caso o mutt seja utilizado:
ajustar o parâmetro
pgp_sign_as
para a nova chave.
Caso o Monkeysphere seja utilizado:
No caso de transições de UIDs, rodar
sudo monkeysphere-authentication update-users
nos servidores que usem monkeysphere para autenticação.
Referências:
Chaves OTR¶
Renovação¶
Num shell:
mv $HOME/.irssi/otr/otr.key $HOME/.irssi/otr/otr.key.old
No irssi, para cada uma das identidades que você utiliza:
/otr genkey nick@network
A lista de identidades pode ser obtida no arquivo
$HOME/.irssi/otr/otr.fp
.
Em seguida, informe pessoas sobre seu novo fingerprint OTR.
Chaves de lista schleuder¶
Notificar listas sobre o rollover de chaves.
Crie uma nova chave para a lista, assinada pela anterior e com a mesma senha da anterior.
Importe o novo par de chaves no chaveiro do schleuder.
Atualize o fingerprint no
list.conf
.Crie um
gpg.conf
para forçar o uso da nova chave,default-key <key-fingerprint>
.Notificar listas sobre o rollover de chaves.
Atualizar informações de contato sobre listas de interesse.
Após o procedimento, emails enviados tanto com a chave antiga (compatibilidade) quanto com a nova funcionarão, porém é encorajado que todo mundo passe a usar apenas a nova.