Política de Chaves ================== Chaves OpenPGP -------------- Ver 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 "" Para a chave principal: :: expire Para cada chave: :: key expire Exportando a chave: :: gpg --send-key "" Em seguida, escreva para cada lista cifrada: * `Firma `_: enviar ao administrador/a. * Schleuder: ``x-add-key:`` para o email ``nome-da-lista-request@dominio`` conforme `dovumentação `_: :: x-list-name: nome-da-lista@dominio x-add-key: Em versões anteriores do schleuder, o `procedimento `_ precisa ser feito em duas etapas: 1. Email para lista-request@example.org com o comando ``x-delete-key: ``. 2. 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 `_? Transições ~~~~~~~~~~ Passos recomendados para chaves de uso difundido (isto é, que estejam disponíveis amplamente na rede): * Criar a nova chave com `gpg --gen-key`. * Criar subchave de autenticação: `monkeysphere gen-subkey -l 4096 `. * Configurar o período de expiração da subchave de autenticação `gpg --edit-key ` e usar o comando `expire` após selecionar a subchave. * Assinar a nova chave usando a chave antiga: `gpg --edit-key sign`. * Subir ambas as chaves para os servidores de chaves. * Atualizar e imprimir novos cartões de visita e/ou tirinhas com fingerprints. * Criar e publicar um atestado de transição: :: gpg -u "" -u "" --armor --clearsign transition.txt * Notificar círculos próximos de contato. * Adicionar cópia da nova chave nas listas schleuder usando `X-ADD-KEY`. * Atualizar configurações de instâncias do `Keyringer `_. * Atualizar configuração de `~/.gnupg/gpg.conf`. * Atualizar configurações do git global e por repositório (`user.signingkey`). * Caso o mutt seja utilizado, ajustar o parâmetro `pgp_sign_as` para a nova chave. * No caso de transições de UIDs, rodar `sudo monkeysphere-authentication update-users` nos servidores que usem monkeysphere para autenticação. * Desabilitar chave antiga usando `gpg --edit-key disable`. Referências: * `OpenPGP DSA-1 key rollover - `_. 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 ------------------------- 1. Notificar listas sobre o rollover de chaves. 2. Crie uma nova chave para a lista, assinada pela anterior e com a mesma senha da anterior. 3. Importe o novo par de chaves no chaveiro do schleuder. 4. Atualize o fingerprint no ``list.conf``. 5. Crie um ``gpg.conf`` para forçar o uso da nova chave, ``default-key ``. 6. Notificar listas sobre o rollover de chaves. 7. 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. Chaves SSH ---------- Vide `Key rotation in OpenSSH 6.8+ `_.