¿Es seguro almacenar contraseñas (encriptadas) en GitHub?

20

Estoy usando pass para manejar todas mis contraseñas. Están encriptados usando GPG con una clave de 4096 bits, usando el algoritmo SHA256. Estoy usando una contraseña diferente para cada inicio de sesión en mi almacén de contraseñas.

Una de las características interesantes del pase es que todo se mantiene en una carpeta con una buena jerarquía, lo cual es perfecto para configurar un repositorio de git (el pase incluso proporciona esa habilidad). Me gustaría tener mi contraseña almacenada al día en todas mis computadoras.

¿Entonces es seguro enviar el repositorio git pass a un repositorio GitHub privado? Si no, ¿cuál es el eslabón débil?

Nicolas Mattia
fuente
No recomendaría hacer esto. Una de las razones sería que si deja su contraseña cifrada estaría sujeta a un ataque de fuerza bruta fuera de línea.
heavyd
Teniendo en cuenta que es un repositorio privado, supongo (al igual que los clientes de GitHub) que nadie, excepto GitHub, tendrá acceso al repositorio. A menos que, por supuesto, algún día me comprometa con un repositorio incorrecto.
Nicolas Mattia
1
Además, nadie tendría acceso a la clave GPG, por lo que alguien tendría que romper el cifrado de 4096 bits, lo que es poco probable incluso para un ataque de fuerza bruta fuera de línea
Nicolas Mattia
1
A menos que se equivoquen y la contraseña de la clave privada sea Password1;) solo porque lo mencioné una vez hoy, todavía estoy pensando en superfish usando el nombre de su compañía como contraseña (komodia). Simplemente hace que sea más fácil de descifrar, pero aún así. Los errores estúpidos hacen que las contraseñas sean más fáciles de descifrar.
dakre18
@ dakre18 nivel pasa de "poco probable que suceda" a "descifrado divertido"
erm3nda

Respuestas:

13

Respuesta breve

Está bien poner un pase repo github.

Respuesta detallada

Su repositorio de pases está encriptado por GPG utilizando cualquier clave privada que haya seleccionado, por lo que es tan a prueba de balas como la clave que ha elegido. Además, su clave privada no se almacena en su repositorio de pases. Esto significa que la ubicación privada vs. pública de sus archivos de contraseña encriptados no es el eslabón débil en la seguridad de su administrador de contraseñas. Más bien, es la clave privada con la que las ha cifrado de la que debe preocuparse.

Asegúrate de que sea una buena clave (como la que has mencionado) y no la expongas a nadie porque no tendrán que descifrar esa gran clave para usarla. Solo tendrán que descifrar su contraseña y, seamos sinceros, es realmente difícil asegurarse de que su contraseña sea lo suficientemente buena como para detener a todos .

Así que no dejes que nadie más vea tu llave. Si mueve su clave privada a cada una de sus computadoras que usan pass, puede simplemente extraer su repositorio de pass de github y usar la clave privada almacenada en esas computadoras individualmente. Ahora todos se mantendrán sincronizados y seguros.

Dos cosas más a tener en cuenta

Todo el punto de paso es mantener sus contraseñas encriptadas. Si no está de acuerdo con que estén en github.com, entonces en lo que realmente confía es en su ubicación privada y no en su estado encriptado. Si ese es el caso, ¿por qué encriptarlos? Simplemente puede usar los mismos archivos planos que pasan los usos, y no molestarse en cifrarlos. ¡Eso sería muy conveniente!

Además, tenga en cuenta que hacer que su administrador de contraseñas sea más fácil de usar significa que es menos probable que desee / necesite subvertirlo. Cada vez que tenga que hacer el trabajo de aprobación (por ejemplo, restablecer una contraseña en una cuenta porque la buena y segura se generó en una computadora diferente y aún no se ha sincronizado manualmente, pero debe ingresar ahora) Va a reducir la seguridad que proporciona.

Tyler Abair
fuente
Creo que está haciendo tres puntos realmente buenos: 1) la clave de cifrado no está presente en el servidor 2) que alguien vea mi contraseña es la razón por la cual está cifrada en primer lugar 3) mis dedos torpes se sacan principalmente de la lazo. Pero como dijo @Jens, entonces tengo que confiar en el software.
Nicolas Mattia
1
Pass es lo suficientemente simple como para no confiar realmente en Pass, estás confiando en PGP. Dicho esto, sí, todavía tienes que confiar en PGP. Mis pensamientos sobre eso son, ¿por qué usar PGP para algo si no confías en que encripta cosas?
Tyler Abair
6

Esto será seguro, pero lo expone a riesgos adicionales en comparación con no guardar su contraseña en un lugar público.

  • Carga accidental de contraseñas sin cifrar (no lo hará a propósito, pero ¿está seguro de que no puede ocurrir por accidente o por algún error de software?)
  • Debilidades desconocidas en RSA o el cifrado simétrico en uso
  • Patrones de uso revelados (las estadísticas son poderosas)
  • La liberación accidental de su token de acceso da como resultado datos públicos; si además mantuviste eso privado, estás mucho más seguro
  • El peor de los casos es que se revela todo el historial de la tienda de contraseñas , en comparación con solo el actual.

En otras palabras: si no comete errores, confíe en el software y las matemáticas detrás del algoritmo de cifrado se mantienen seguras públicamente, almacenar el almacén de contraseñas cifradas está bien. Si tiene dudas sobre cualquiera de ellos (y personalmente, mi confianza estaría exactamente en este orden, con la confianza perdida en mí mismo como usuario con alta confidencialidad en las matemáticas detrás), mantenga la tienda privada.

¿Alguna vez ha publicado una frase de contraseña privada en una ventana de chat por accidente que apareció? Conozco a un montón de personas que lo hicieron, incluido yo mismo.

Jens Erat
fuente
3

Esta es una buena pregunta, ya que ha sido un problema en el pasado donde alguien puso una contraseña privada en un repositorio público.

Piénselo de esta manera, es una buena práctica no almacenar ese archivo (junto con otros archivos confidenciales) en un repositorio público, incluso si es privado. Es bueno hacer una copia de seguridad en alguna parte, pero si digamos que su contraseña se recuperó de alguna manera (sitio de terceros, por ejemplo), podrían acceder a su github y aún recuperar la contraseña. El peor de los casos, pero aún es posible. Por lo general, sugeriría tener algún tipo de archivo almacenado en un disco duro externo, y posiblemente almacenar el disco duro en algún lugar en caso de incendio.

Si realmente desea utilizar un repositorio o una nube para almacenarlo, simplemente haga todo lo posible para mantenerlo seguro.

En general no es la mejor idea. No es lo peor, pero es mejor pensar en "¿qué pasaría si?" escenarios Puede que nunca te suceda, pero si sucedió, ¿vale la pena?

Editar: estaba pensando en programas en algunas de mis publicaciones, así que lo recorté para que respondas mejor a tu pregunta.

dakre18
fuente
0

Una de las características interesantes del pase es que todo se mantiene en una carpeta con una buena jerarquía, lo cual es perfecto para configurar un repositorio de git

Creo que no es seguro. Para toda su cuenta (estructura de directorios) no está encriptada. Solo la contraseña había sido protegida por gpg.

(el pase incluso proporciona esa habilidad)

Si lo hace usando la habilidad del pase. Quizás sea más seguro. Pero necesita reconstruir su tienda usando "pass git init".

eexpress utópico
fuente