Política de Senhas ================== Senhas memorizadas: 1. Da chave OpenPGP principal. 2. Da BIOS e do bootloader dos `TPCs `_ ativos. 3. Dos volumes de partida dos `TPCs `_. 4. De login/pasta de usuário dos TPCs. 5. Tails persistent volume. Senhas opcionais: 1. Da chave SSH principal. 2. De login/pasta de usuário de semi-TPCs. 3. Dos cofres, onde são armazenados TPCs, fingerprints trocados, documentos, etc. 4. Solitaire: criptografia analógica de fallback! As demais senhas se encontram em gerenciadores de chave, preferencialmente `keyringer `_. Justificativa e modelo de acesso -------------------------------- 1. É necessário um invóluco de proteção mínimo para a chave OpenPGP principal, dada pelos volumes cifrados dos TPCs e da pasta de usuário. 2. A partir do acesso à chave OpenPGP, todas as outras senhas estarão acessíveis. 3. Usamos mais de um TPC para termos backups em caso de problemas. Cada TPC que não estiver sob a guarda do usuário deve estar armazenado num local seguro. 4. TPCs ativos necessitam de senhas de BIOS e `bootless `_ para mitigar ataques do tipo Evil Maid e Warm Boot. Usar preferencialmente senhas distintas para cada TPC para reduzir danos caso sejam usados métodos de recuperação de senhas como o `cmospwd `_. 5. Na ausência de TPCs, semi-TPCs podem ser utilizados desde que `bootless `_. Por exemplo workstation de trabalho, shells remotas de usuário, etc. 6. Na indisponibilidade de TPCs ou semi-TPCs, o Tails deve ser utilizado. A senha do volume do Tails difere das dos volumes dos TPCs porque o Tails pode ser usado em não-TPCs. 7. Demais dispositivos apenas para realização de suporte técnico ou tarefas não-sensíveis, nos quais nenhuma das chaves acima mencionadas deverá ser utilizada. 8. Na ausência de equipamentos digitais, o Solitaire deve ser usado. Procedimento ------------ TODO e ChangeLog ~~~~~~~~~~~~~~~~ - Manter um repositório git com tags assinadas com a chave OpenPGP principal. - Opcionalmente, manter ambos arquivos diretamente no keyring pessoal. Criação ~~~~~~~ Para a criação de senha: 1. Pense na senha. Não a escreva! Conte apenas com a sua cabeça. 2. Nos três dias seguintes, tente recordar a senha. Caso não consiga, volte ao passo 1. 3. Caso você a tenha memorizado, proceda com a atualização da senha em questão. Usuário ~~~~~~~ Atualização diretamente no sistema, manifest do puppet, etc. Pastas pessoais ~~~~~~~~~~~~~~~ Isto precisa ser feito em sincronia com a mudança de senha de usuário no sistema, caso contrário a montagem automática não vai funcionar: :: ecryptfs-rewrap-passphrase /home/.ecryptfs/$USER/.ecryptfs/wrapped-passphrase Volumes ~~~~~~~ Adicione a nova chave: :: cryptsetup luksAddKey Após um dado período de segurança, remova a chave anterior: :: cryptsetup luksRemoveKey Opcionalmente, fazer um backup do cabeçalho LUKS antes da mudança. Swap cifrada com senha conhecida (hibernate) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Como a swap não utiliza LUKS, é preciso criá-la novamente: :: swapoff -a cryptsetup remove cswap cryptsetup -h sha256 -c aes-cbc-essiv:sha256 -s 256 create cswap /dev/SUA_SWAP mkswap -f /dev/mapper/cswap Chave SSH ~~~~~~~~~ Mudando a senha de uma chave ssh privada: :: ssh-keygen -p -f ~/.ssh/ Chave OpenPGP ~~~~~~~~~~~~~ Mudando a senha de uma chave privada OpenPGP: :: gpg --edit-key passwd Ao mudar a senha de uma chave OpenPGP, lembre-se de mudar também as senhas das chaves antigas: :: gpg --list-secret-keys