- Gerenciador de senhas que não precisa de cofre (vault), combina senha mestra + string de realm para gerar na hora sempre a mesma senha
- Em qualquer dispositivo, com a mesma entrada, é possível reproduzir a mesma senha, então os problemas de backup, sincronização e confiança em terceiros simplesmente deixam de existir
- Suporta a geração de vários tipos de chaves, não só senhas simples, mas também chaves ECC/RSA, fluxos de bytes brutos e arquivos seed
- Para casos que exigem entropia forte, é possível criar um arquivo seed criptografado e usá-lo também para gerar chaves de alta segurança (criptografado com AES-256-GCM)
- Ferramenta centrada em CLI, combinando
-p, -r, -t etc., permite reproduzir desde senhas de login baseadas em URL até chaves x25519 e ed25519
- A saída é fornecida por padrão em stdout e pode ser salva em arquivo com a opção
-o
- Tipos de saída suportados
pass: geração de senha comum
seed: geração de arquivo seed criptografado
raw: geração de fluxo aleatório de 32 bytes
ec256, ec384, ec521: geração de chave privada ECC
rsa2048, rsa4096: geração de chave privada RSA
x25519, ed25519: geração de chaves ECC baseadas em Curve25519
- 2 modos de operação
Simple mode: gera senha derivada apenas com a senha mestra e a string de realm
- Produz um resultado único para cada combinação, sem necessidade de armazenamento separado
- Porém, o nível de segurança depende da força da senha mestra
Seed file mode: usa um arquivo seed como fonte de entropia para obter segurança mais alta
- O arquivo seed é criptografado com AES-256-GCM, podendo ser salvo com segurança em armazenamento externo (ex.: Google Drive, Dropbox)
- A senha mestra é usada apenas para proteger o arquivo seed
- Utilitário CLI baseado em Go, pode ser instalado com o comando
go install github.com/cloudflare/gokey/cmd/gokey@latest
- Open source desenvolvido pela Cloudflare
7 comentários
https://pashword.app/
Parece muito com isso.
Parece uma ideia muito boa, mas acho que há uma razão para todos os outros serviços terem algum tipo de armazenamento.
Mesmo usando isso, toda vez que um site pedir para trocar a senha, ainda seria preciso lembrar de dezenas de informações, seja a contagem, seja a chave...
Se senha também é um tipo de chave, então, se você usar corretamente uma função de derivação de chave, não tem nada de impossível nisso.
pw = kdf(master_key, site_id, {salt})Basta decidir se
site_idvai ser o domínio ou um valor único do site,e, se for daqueles lugares chatos que obrigam a trocar todo mês, é só mudar o
salta cada vez.Então, no fim das contas, também não seria preciso armazenar um salt para cada site? hehe
Então não vai servir para casos em que o domínio muda ou quando se usa vários domínios, né..
Esse jeito é muito melhor.
Mas acaba tudo ferrado por causa desses sites que ficam impondo regras idiotas de gestão, tipo colocar alguns caracteres especiais e números na senha e trocar a cada 3 meses.
Na prática, quem mais gera ameaça à segurança são os planejadores de sites que nem sabem o que é segurança.
Ah.... concordo que “a ameaça real à segurança é ainda mais causada por planejadores de sites que não entendem o que é segurança”
De repente, algumas lembranças ruins passam pela minha cabeça T_T