É seguro armazenar senhas (criptografadas) no GitHub?

21

Estou usando o pass para lidar com todas as minhas senhas. Eles são criptografados usando GPG com uma chave de 4096 bits, usando o algoritmo SHA256. Estou usando uma senha diferente para cada login no meu armazenamento de senhas.

Um dos recursos interessantes do passe é que tudo fica em uma pasta com uma boa hierarquia, o que é perfeito para configurar um repositório git (o passe ainda oferece essa capacidade). Gostaria de manter minha senha atualizada em todos os meus computadores.

É seguro enviar o repositório pass git para um repositório GitHub privado? Se não, qual é o elo mais fraco?

Nicolas Mattia
fonte
Eu não recomendaria fazer isso. Uma razão seria que você deixasse sua senha criptografada e estaria sujeita a ataques de força bruta offline.
heavyd
Considerando que é um repositório particular, eu diria (assim como os clientes do GitHub) que ninguém, exceto o próprio GitHub, terá acesso ao repositório. A menos, é claro, que eu me comprometa de alguma forma com um repo errado um dia.
Nicolas Mattia
11
Além disso, ninguém teria acesso à chave GPG, então alguém teria que quebrar a criptografia de 4096 bits, o que é improvável, mesmo para um ataque de força bruta off-line
Nicolas Mattia
11
A menos que eles tenham estragado tudo e a senha da chave privada seja Password1;) só porque eu a trouxe uma vez hoje, ainda estou pensando em usar o nome da empresa como senha (komodia). Isso facilita a quebra, mas ainda assim. Erros estúpidos facilitam a descriptografia de senhas.
Dakre18
@ nível dakre18 vai de "improvável que isso aconteça" para "descriptografia engraçado"
m3nda

Respostas:

13

Resposta concisa

Não há problema em colocar um passe repo github.

Resposta detalhada

Seu repo do passe é criptografado em GPG usando qualquer chave privada que você selecionou, portanto, é tão à prova de balas quanto a chave que você escolheu. Além disso, sua chave privada não é armazenada no seu repo de passe. Isso significa que o local privado versus o público dos seus arquivos de senha criptografada não é o elo fraco da segurança do seu gerenciador de senhas. Pelo contrário, é a chave privada com a qual você as criptografou e com a qual precisa se preocupar.

Certifique-se de que é uma boa chave (como a que você mencionou) e não a exponha a ninguém, porque eles não terão que quebrar essa grande chave para usá-la. Eles apenas terão que digitar sua senha e, vamos ser sinceros, é realmente difícil garantir que sua senha seja boa o suficiente para impedir todos .

Portanto, não deixe mais ninguém ver sua chave. Se você mover sua chave privada para cada um dos computadores que usam o passe, basta retirar seu repositório de passe do github e usar a chave privada armazenada nesses computadores individualmente. Agora todos ficarão sincronizados e seguros.

Mais duas coisas a considerar

O objetivo principal é manter suas senhas criptografadas. Se você não concorda com o fato de eles estarem no github.com, o que realmente depende é o local privado e não o estado criptografado. Se for esse o caso, por que criptografá-los? Você pode simplesmente usar os mesmos arquivos simples que passam nos usos e não se incomodar em criptografá-los. Isso seria bem conveniente!

Além disso, lembre-se de que facilitar o uso do seu gerenciador de senhas significa que você tem menos chances de querer / precisar subvertê-lo. Sempre que você precisar fazer o trabalho de aprovação (por exemplo, redefinir uma senha em uma conta porque a senha segura e segura foi gerada em um computador diferente e você ainda não sincronizou manualmente, mas precisa entrar agora) vai reduzir a segurança que ele fornece.

Tyler Abair
fonte
Acho que você está fazendo três pontos realmente bons: 1) a chave de criptografia não está presente no servidor 2) alguém vê minha senha; é a razão pela qual ela está criptografada em primeiro lugar 3) meus dedos desajeitados são retirados da chave loop. Mas como o @Jens disse, tenho que confiar no software.
Nicolas Mattia
11
O passe é simples o suficiente para você não confiar realmente no passe, no PGP. Dito isto, sim, você ainda precisa confiar no PGP. Penso nisso, por que usar o PGP para qualquer coisa, se você não acredita que ele criptografa coisas?
Tyler Abair
7

Isso será seguro, mas o expõe a riscos adicionais em comparação a não colocar seu armazenamento de senhas em um local público.

  • Upload acidental de senhas não criptografadas (você não fará isso de propósito, mas com certeza isso pode não acontecer por acidente ou por causa de algum bug do software?)
  • Fraquezas desconhecidas no RSA ou a criptografia simétrica em uso
  • Padrões de uso revelados (as estatísticas são poderosas)
  • A liberação acidental do seu token de acesso resulta em dados públicos; se você tivesse mantido isso em particular, você é muito mais seguro
  • Na pior das hipóteses, todo o histórico de armazenamento de senhas é revelado, comparado apenas ao atual

Com outras palavras: se você não cometer erros, confie no software e as contas por trás do algoritmo de criptografia permanecem seguras publicamente, armazenando publicamente o armazenamento de senhas criptografadas. Se você tiver alguma dúvida (e pessoalmente, minha confiança estaria exatamente nessa ordem, com a confiança perdida em mim como um usuário com alta confidencialidade na matemática), mantenha a loja privada.

Já postou uma senha privada em alguma janela de bate-papo por acidente que apareceu? Conheço um monte de gente que sabia, inclusive eu.

Jens Erat
fonte
3

Essa é uma boa pergunta, já que havia um problema no passado em que alguém colocava uma senha privada em um repositório público.

Pense dessa maneira, é uma boa prática não armazenar esse arquivo (junto com outros arquivos confidenciais) em um repositório público, mesmo que seja privado. É bom fazer backup em algum lugar, mas se digamos que sua senha foi recuperada de alguma forma (site de terceiros, por exemplo), eles poderiam acessar o seu github e ainda assim recuperar a senha. Pior caso, mas ainda é possível. Eu normalmente sugeriria ter algum tipo de arquivo armazenado em um disco rígido externo e, possivelmente, armazenar o disco rígido em algum lugar, no caso de um incêndio.

Se você realmente deseja usar um repositório ou nuvem para armazená-lo, faça tudo o que puder para mantê-lo seguro.

No geral, não é a melhor ideia. Não é o pior, mas é melhor pensar no "o que aconteceria se?" cenários. Pode nunca acontecer com você, mas se aconteceu, vale a pena?

Edit: Eu estava pensando em programas em algumas das minhas postagens, então eu aparei para você responder melhor à sua pergunta.

dakre18
fonte
0

Um dos recursos interessantes do passe é que tudo fica em uma pasta com uma boa hierarquia, o que é perfeito para configurar um repositório git

Eu acho que não é seguro. Para toda a sua conta (estrutura de diretórios) não está criptografada. Somente a senha foi protegida pelo gpg.

(o passe fornece essa capacidade)

Se fizer isso usando a habilidade do passe. Talvez seja mais seguro. Mas você precisa reconstruir sua loja usando "pass git init".

eexpress utópico
fonte